Perfectly Clear SDK Documentation  10.7.1.1191
PerfectlyClearPro.h
Go to the documentation of this file.
1 
7 #ifndef __PERFECTLYCLEARPRO_H__
8 #define __PERFECTLYCLEARPRO_H__
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #ifdef _LINUX
14 #define BOOL int
15 #define ULONG unsigned long
16 #define UINT unsigned int
17 #define TRUE 1
18 #define FALSE 0
19 //#define NULL 0
20 #endif
21 
23 #define NRRETCODE(x) (x & 0x000000FF)
24 #define CORERETCODE(x) ((x >> 8) & 0x000000FF)
26 #define FBRETCODE(x) ((x >> 16) & 0x000000FF)
28 #define RERETCODE(x) ((x >> 24) & 0x000000FF)
30 #define PFCINTERNAL void*
32 
36 typedef BOOL (*PFC_PROGRESS)(int iPercent);
37 
39 typedef enum {
153 
155 typedef enum {
160 
162 typedef enum {
163  CALC_CORE = 1,
164  CALC_NR = 2,
165  CALC_FB = 4,
166  CALC_RE = 8,
167  CALC_ALL = 15,
169  CALC_NOFAE = 32,
172  CALC_SHARP = 256,
174  CALC_COMPOSITE = 1024,
175  CALC_SKINTONE = 2048,
176  CALC_AICOLOR = 4096
178 
180 typedef enum {
181  PRESET_NONE = -1,
193 
195 typedef struct {
196  int x;
197  int y;
198 }
199 PFCPOINT;
200 
202 typedef struct {
203  int left;
204  int top;
205  int width;
206  int height;
207 }
208 PFCRECT;
209 
211 typedef struct {
215 }
217 
227 typedef struct PFCFaceRect{
234  int angle;
241  int yawAngle;
242  int FAE[3];
245  struct PFCFaceRect *pNext;
247 typedef PFCFACERECT* LPPFCFACERECT;
248 
250 typedef struct {
253 } PFCENGINE;
254 
256 typedef struct {
257  int width;
258  int height;
259  int stride;
261  unsigned char *data;
262 } PFCIMAGE;
263 
265 typedef enum {
270 }
272 
274 typedef enum {
277 }
279 
281 typedef enum {
283  DCF_VIVID
284 }
285 DCFMODE;
286 
288 typedef enum {
292 }
294 
296 typedef enum {
302  BIAS_AUTO
303 }
304 BIASMODE;
305 
307 typedef enum {
310 }
311 SKINMODE;
312 
314 typedef enum {
318 }
320 
322 typedef enum {
328 }
330 
332 typedef enum {
336 }
338 
340 typedef enum {
350 
352 typedef enum {
362 
364 typedef enum {
377 
379 typedef enum {
390 
392 typedef enum {
408 
411 typedef enum {
414  PFC_REJECT_CLIPART = 2
416 
419 typedef enum {
427  PFC_COMPOSITE_V2_2 = 4
429 
432 typedef struct {
433  int r; // start of Hue range ramp
434  int a; // start of flat part of Hue range
435  int m; // end of flat part of Hue range
436  int p; // end of Hue range ramp
437  int H; // shift of Hue, -180 .. 180
438  int S; // correction of S, -100 .. 100
439  int L; // correction of L, -100 .. 100
441 
443 typedef struct {
444  BOOL bEnabled;
447  float fTintScale;
449  BOOL bVibrancy;
450  int iVibrancy;
451  int iStrength;
452  BOOL bContrast;
454  int iContrast;
456  float fBiasScale;
459  BOOL bSharpen;
462  BOOL bUseFAE;
465  BOOL bInfrared;
466  float fInfrared;
470  BOOL bDCF;
472  float fDCF;
484  SELECTIVECOLOR selectiveColor[8];
485 } PFCCOREPARAM;
486 
488 typedef struct {
489  BOOL bEnabled;
490  BOOL bSmooth;
494  BOOL bEnlarge;
496  BOOL bEnhance;
498  BOOL bEyeCirc;
499  int iEyeCirc;
500  BOOL bTeeth;
502  BOOL bBlemish;
503  int iBlemish;
504  BOOL bSlim;
505  int iSlim;
506  BOOL bDeFlash;
507  int iDeFlash;
508  BOOL bCatchLight;
511  BOOL bSkinToning;
521  BOOL bLipSharpen;
524  BOOL bBlush;
525  int iBlush;
526  unsigned int colorSkinToning;
527  unsigned int colorBlush;
528 } PFCFBPARAM;
529 
531 typedef struct {
532  BOOL bEnabled;
533  int iPreset;
534  int iStrengthOffset;
543 } PFCNRPARAM;
544 
546 typedef struct {
547  BOOL bEnabled;
548 } PFCREPARAM;
549 
550 #define PFC3DLutGuidLength 32
551 typedef struct {
553  char guid[PFC3DLutGuidLength + 1];
554  unsigned char strength;
555 } PFC3DLutInfo;
556 
565 };
566 
568 typedef struct PFCCOREMask
569 {
570  PFCCORE_MASK_TYPE type;
571  float centerX;
572  float centerY;
573  float width;
574  float height;
575  float radius;
576  float feather;
577  float angle;
578  float transparency;
579  bool invert;
580  // if two layers (top and bottom) - swap params between layers instead.
582 
584 typedef struct {
585  // Image Ambulance
588 
589  // built-in 3D luts
592  int iDarkSkin;
597  // custom output 3D Lut
599 
600  // Finishing
612 
613  int iDeltaR;
614  int iDeltaG;
615  int iDeltaB;
616 
617  BOOL bDynamic;
618  int iDynamic;
620 
623 } PFCV3PARAM;
624 
626 typedef struct {
627  int iDensity;
628  int iDeltaR;
629  int iDeltaG;
630  int iDeltaB;
631  float fGamma;
632  int iContrast;
634  int mode;
635  BOOL bAuto;
636  BOOL bEnable;
637 } DP2PARAM;
638 
640 typedef struct {
645 #ifndef NO_V3PARAM
647  PFCV3PARAM layer[3];
648  PFCCOREMask mask[3];
649 #endif
650  DP2PARAM dp2;
651 } PFCPARAM;
652 
654 typedef struct {
660 
665 
666  int Status;
675 #define PFCPROFILE PFCIMAGEPROFILE*
676 
678 #define PFCBGPROFILE PFCINTERNAL
679 
681 typedef struct {
682  int iRawMaskMode; // 7
683  int iBG; // 0..100
684  int iFG; // 0 .. 100
685  int iTolerance; // allow target I variation (similar to +- 8 logic)
686  int iSobel; // Sobel binarization threshold, 32
687  int iBlur;
688  bool bImfill; // remove black holes
689  bool bAreaopen; // do areaopen in black subject (remove white)
690  int iAreaopen; // size param in 1/10000 of w*h
691  bool bAreaopenBG; // do areaopen in white BG (rem small blacks)
692  int iAreaopenBG;
693  int iConnectivity; // 8 or 4
694  bool bGrad; // add grad filter
695  bool bGradAuto; // fixed based on detected face bottom,
696  int iGradBottom; // rel bottom
697  int iGradHeight; // rel spread
698  float avR; // calculated average BG RGB
699  float avG;
700  float avB;
701 }
703 
704 
708 
741 int PFC_SetProtectionPath(const char*utf8FolderPath, const char* liceseCode = NULL);
742 
751 
772 int PFC_ReadPresets(PFCPARAM &param, char *filename);
773 
806 int PFC_AutoCorrect(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPARAM &param, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL, PFCENGINE* pEngineAI=NULL, BOOL bUseAutoSDPreset = FALSE);
807 
811 
812 
814 
818 
826 
854 PFCPROFILE PFC_Calc(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCENGINE* pEngine, unsigned int feature=CALC_ALL, int iISO=-1, char *pCameraModel=NULL, PFCPROFILE pImageProfile=NULL, PFC_PROGRESS progfn=NULL, int iRejectOption=PFC_REJECT_CLIPART, PFCENGINE* pEngineAI=NULL);
855 
856 
870 PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100, void* pBGProfile=NULL);
871 
879 
888 
892 
898 void PFC_SetAddonPath(const char *utf8AddonPath);
899 
903 
904 
905 
912 void PFC_LoadAddonLooks(PFCENGINE *pEngine, const char *addonLooksBuf, int buflen);
913 
925 int PFC_GetLooks3DLut(PFCENGINE *pEngine, const char* lookGuids, int *iLookStrengths, int *iLookContrasts, int *iLookSaturations, int iLooksCount, float* final3Dlut);
926 
934 
942 int PFC_FBFaceCount(PFCPROFILE pImageProfile);
943 
951 int PFC_FAEFaceCount(PFCIMAGEPROFILE *pImageProfile);
975 bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index);
976 
995 
1004 bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset);
1005 
1016 bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod);
1017 
1033 int PFC_AutoCorrectPreset(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPRESETID id=PRESET_IAUTO_PEOPLE, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL, PFCENGINE* pEngineAI=NULL);
1034 
1035 
1044 int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s);
1045 
1053 void PFC_SetSingleThreadedEngine(PFCENGINE* p, bool bSingleThreaded);
1054 
1060 void PFC_GetVersion(char* buf, int *len, bool bFormatted = false);
1061 
1067 PFCAPPLYSTATUS PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst);
1068 
1074 PFCAPPLYSTATUS PFC_TransposeExif(PFCIMAGE *pImageSrc, int iEXIFOrientation);
1075 
1082 void PFC_ApplyStrengthToParam(PFCPARAM &param, int strength);
1083 
1092 int PFC_WasmSetCertificate(PFCENGINE* pEngine, const char *clientAPIKey, const char *certificate);
1093 
1097 void PFC_TrackSave(const char *clientAPIKey);
1098 
1105 
1107 typedef enum {
1112  AI_COLOR = 16,
1113  AI_FACEMESH = 32
1114 } PFCAIFEATURE;
1115 
1124 int PFC_LoadAIEngine(PFCENGINE* pEngineAI, unsigned int aifeatures, const char *binPath);
1125 
1155 int PFC_LoadAIEngineNative(PFCENGINE* pEngineAI, unsigned int aifeatures, const char *modelDynamic, int lenDynamic, const char *modelSD, int lenSD, const char *modelSkintone, int lenSkintone, const char *modelAicolor, int lenAicolor, const char *modelFDFront, int lenFDFront, const char *modelFDBack, int lenFDBack, const char *modelFaceMesh, int lenFaceMesh, const char *modelBlendShape, int lenBlendShape, int bUseAngroidGPU, const char *apikey, const char *certificate, int *statusCertificate);
1156 
1157 
1175 int PFC_LoadScenePresets(PFCENGINE* pEngine, const char *filePath, int modelUuid = 0, int *presetUuid = NULL, int arrProfileUUIDLen = 0);
1176 
1195 int PFC_LoadScenePresetsFromStream(PFCENGINE* pEngine, const char *buf, int lenBuf, int modelUuid = 0, int *presetUuid = NULL, int arrProfileUUIDLen = 0);
1196 
1197 
1206 int PFC_ReadScenePreset(PFCPARAM &param, PFCENGINE *pEngineAI, int scene);
1207 
1215 int PFC_GetScene(PFCPROFILE precalc, int *version);
1216 
1217 
1227 bool PFC_GetSceneDetectionEngineInfo(PFCENGINE* pEngine,int *groupUUID, int *arrProfileUUID, int *arrProfileUUIDLen);
1228 
1231 typedef struct {
1232  char name[250];
1235 
1252 bool PFC_GetSceneDescription(PFCENGINE* pEngine, int index, PFCSCENEDESCRIPTION* sceneDescription);
1253 
1254 
1262 void PFC_GetLastSceneProperties(PFCENGINE* pEngine, int* lastSceneLabel, int* lastSceneConfidence = NULL);
1263 
1270 
1277 const char* PFC_GetAutoSkintoneParameters(int skintoneType, int *strengthLut, int *strengthExposure);
1278 
1286 
1287 #ifdef EYEQINTERNAL
1288 #include "../Header-internal/PerfectlyClearPro-internal.h"
1289 #endif
1290 
1291 #ifdef __cplusplus
1292 }
1293 #endif
1294 #endif //__PERFECTLYCLEARPRO_H__
PFC_WasmSetCertificate
int PFC_WasmSetCertificate(PFCENGINE *pEngine, const char *clientAPIKey, const char *certificate)
Pass certificate to authorize WASM SDK usage Certificate (2048 string) should match clientAPIKey and ...
PFCFaceRect::childLevel
int childLevel
We don't implement this.
Definition: PerfectlyClearPro.h:238
PFCV3PARAM::iFinishSaturation
int iFinishSaturation
Saturation correction amount.
Definition: PerfectlyClearPro.h:608
TINTCORRECT_STRONGEST
@ TINTCORRECT_STRONGEST
Highest sensitivity level of tint detection.
Definition: PerfectlyClearPro.h:269
PFCCOREPARAM::iSkintoneStrengthExposure
int iSkintoneStrengthExposure
Strength of exposure bias -50 .. 50 applied with input skintone correction.
Definition: PerfectlyClearPro.h:478
PFCIMAGEPROFILE::CORE_Status
PFCCORE_STATUS CORE_Status
Status code for CORE pre-calc analysis.
Definition: PerfectlyClearPro.h:661
APPLY_ERROR_PROFILE_MISSING
@ APPLY_ERROR_PROFILE_MISSING
-1 Pointer pProfile is NULL
Definition: PerfectlyClearPro.h:394
PFCFBPARAM::bSlim
BOOL bSlim
Set to TRUE to enable face slimming.
Definition: PerfectlyClearPro.h:504
PFCCOREPARAM::bLightDiffusion
BOOL bLightDiffusion
Set to TRUE to enable light diffusion during DCF correction.
Definition: PerfectlyClearPro.h:467
PFC_GetVersion
void PFC_GetVersion(char *buf, int *len, bool bFormatted=false)
Get info string with version and features.
PFC_HasFaceBeautification
bool PFC_HasFaceBeautification(PFCENGINE *pEngine)
Check if Face Beautification is available.
PFC_CORE_MONOLITHIMAGE
@ PFC_CORE_MONOLITHIMAGE
5 Image skipped due to legacy clipart detection method
Definition: PerfectlyClearPro.h:358
PFC_RE_FULLRES_REQUIRED
@ PFC_RE_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:382
PFCV3PARAM::bPreprocessEV
bool bPreprocessEV
Enable EV correction (Image Ambulance)
Definition: PerfectlyClearPro.h:586
PFC_GetSceneDetectionEngineInfo
bool PFC_GetSceneDetectionEngineInfo(PFCENGINE *pEngine, int *groupUUID, int *arrProfileUUID, int *arrProfileUUIDLen)
Get loaded (with PFC_LoadAIEngine) categorization model info Call first with arrProfileUUID=NULL to g...
PFCV3PARAM
Struct describing V3 parameters.
Definition: PerfectlyClearPro.h:584
PFC_RE_CANCELLED
@ PFC_RE_CANCELLED
7 Process cancelled
Definition: PerfectlyClearPro.h:387
PFCCOREMask
Struct describing mask for grad filter, all coordinates are relative (Y/height, X/width) in final cro...
Definition: PerfectlyClearPro.h:569
PFCV3PARAM::iFinishTemp
int iFinishTemp
Temp correction amount.
Definition: PerfectlyClearPro.h:601
PFCAIFEATURE
PFCAIFEATURE
Flags defining type of model(s) to load with PFC_LoadAIEngine().
Definition: PerfectlyClearPro.h:1107
TINTCORRECT_AGGRESSIVE
@ TINTCORRECT_AGGRESSIVE
Aggressive detection of tint.
Definition: PerfectlyClearPro.h:266
PFCFBPARAM::iBlush
int iBlush
Blush level. Range 0 to 100.
Definition: PerfectlyClearPro.h:525
PFC_LoadAIEngineNative
int PFC_LoadAIEngineNative(PFCENGINE *pEngineAI, unsigned int aifeatures, const char *modelDynamic, int lenDynamic, const char *modelSD, int lenSD, const char *modelSkintone, int lenSkintone, const char *modelAicolor, int lenAicolor, const char *modelFDFront, int lenFDFront, const char *modelFDBack, int lenFDBack, const char *modelFaceMesh, int lenFaceMesh, const char *modelBlendShape, int lenBlendShape, int bUseAngroidGPU, const char *apikey, const char *certificate, int *statusCertificate)
Loads/reloads platform-native (CoreML or TFLite) version of AI models into engine....
ENGINESTATUS_FB_LIBRARY_LOAD_FAIL
@ ENGINESTATUS_FB_LIBRARY_LOAD_FAIL
If set, the library is unable to load the SFB library.
Definition: PerfectlyClearPro.h:157
PFCSCENEDESCRIPTION::profileUUID
int profileUUID
utf8-encoded name
Definition: PerfectlyClearPro.h:1233
CALC_FB
@ CALC_FB
Calculates for Face Beautification.
Definition: PerfectlyClearPro.h:165
PFC_GetScene
int PFC_GetScene(PFCPROFILE precalc, int *version)
Get scene detection label from profile obtained with PFC_Calc For this to work you need to pass AI_SC...
HIGH_CONTRAST
@ HIGH_CONTRAST
Optimized to bring higher contrast to the image.
Definition: PerfectlyClearPro.h:275
CALC_SKINTONE
@ CALC_SKINTONE
Calculate Skintone Detection.
Definition: PerfectlyClearPro.h:175
DP2PARAM::iSaturation
int iSaturation
-100 .. 100
Definition: PerfectlyClearPro.h:633
PRESET_INTELLIGENTAUTO
@ PRESET_INTELLIGENTAUTO
Intelligent Auto - this has been superceded by iAuto 2019 and is here for backwards compatability....
Definition: PerfectlyClearPro.h:186
PFC_SetProtectionPath
int PFC_SetProtectionPath(const char *utf8FolderPath, const char *liceseCode=NULL)
Set path to location of SDK License files This enables license protection and allows activation using...
PFCFBPARAM::iSlim
int iSlim
Face slimming level. Range 0 to 100.
Definition: PerfectlyClearPro.h:505
CALC_NOFAE
@ CALC_NOFAE
Skip Face Aware Exposure pre-calculations during Core pre-calculations.
Definition: PerfectlyClearPro.h:169
PFC_NR_ERRSETTINGS
@ PFC_NR_ERRSETTINGS
5 Invalid parameter
Definition: PerfectlyClearPro.h:346
PFC_PixelFormat64bppABGR
@ PFC_PixelFormat64bppABGR
Definition: PerfectlyClearPro.h:151
PFCCOREPARAM::fSharpenScale
float fSharpenScale
Sharpening intensity. This value controls how much sharpening to be applied. Range 0....
Definition: PerfectlyClearPro.h:460
PFCFBPARAM::iTeethLevel
int iTeethLevel
Teeth whitening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:501
AGGRESSIVENESS_AGGRESSIVE
@ AGGRESSIVENESS_AGGRESSIVE
More aggressive in exposure correction.
Definition: PerfectlyClearPro.h:291
DP2PARAM::iContrast
int iContrast
-100 .. 100
Definition: PerfectlyClearPro.h:632
PFCRECT::height
int height
height of this rect.
Definition: PerfectlyClearPro.h:206
PFC_CORE_NOTENABLED
@ PFC_CORE_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:354
PFC_GetFaceInfo
bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index)
Utility function to query geometry of detected faces.
PFCCOREPARAM::iSplitColorCold
int iSplitColorCold
Enhance cold tones.
Definition: PerfectlyClearPro.h:482
APPLY_SUCCESS
@ APPLY_SUCCESS
0 Success.
Definition: PerfectlyClearPro.h:393
PFC_ReleaseAddonPath
void PFC_ReleaseAddonPath()
Releases resources from PFC_SetAddonPath function call.
PFCIMAGEPROFILE::pRedEyeParam
PFCINTERNAL pRedEyeParam
Internal use only.
Definition: PerfectlyClearPro.h:657
PFCCOREPARAM::iContrast
int iContrast
Intensity of contrast or depth. Range 0 to 100.
Definition: PerfectlyClearPro.h:454
PFCV3PARAM::iOutLUTcontrast
int iOutLUTcontrast
lutOutput contrast -100 .. 100
Definition: PerfectlyClearPro.h:621
PFC_FB_SUCCESS
@ PFC_FB_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:365
PFC_GetAutoSkintoneParameters
const char * PFC_GetAutoSkintoneParameters(int skintoneType, int *strengthLut, int *strengthExposure)
Returns auto parameters (lut GUID, core.iSkintoneStrengthLut and core.iSkintoneStrengthExposure) for ...
PFCFBPARAM::eSmoothType
SKINSMOOTHTYPE eSmoothType
See enum definition of SKINSMOOTHTYPE.
Definition: PerfectlyClearPro.h:493
APPLY_BADFORMAT
@ APPLY_BADFORMAT
-5 Pixel format not supported
Definition: PerfectlyClearPro.h:398
PFCCOREMask::transparency
float transparency
overall transparency applied to the whole mask (strength 100 means transparency 0....
Definition: PerfectlyClearPro.h:578
PFCCOREPARAM::bSelectiveColor
BOOL bSelectiveColor
Apply Selective Color HSL correction.
Definition: PerfectlyClearPro.h:483
PFCREPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable red eye removal.
Definition: PerfectlyClearPro.h:547
LIPSHARPENTYPE_FINE
@ LIPSHARPENTYPE_FINE
Fine touch of sharpening.
Definition: PerfectlyClearPro.h:333
PFCCOREPARAM::bUseFAE
BOOL bUseFAE
Set to TRUE (recommended) to enable Face Aware Exposure selection. Recommended exposure will be calcu...
Definition: PerfectlyClearPro.h:462
PFC_FAEFaceCount
int PFC_FAEFaceCount(PFCIMAGEPROFILE *pImageProfile)
Return number of faces detected during Face Aware Exposure analysis.
PFC_TrackSave
void PFC_TrackSave(const char *clientAPIKey)
Report image save event from WASM SDK.
PFCENGINE::pEngine
PFCINTERNAL pEngine
Pointer to binary definition of the processing engine.
Definition: PerfectlyClearPro.h:251
PFCFaceRect::ptEyeL
PFCPOINT ptEyeL
Specifies the x,y coordinates of the left eye, in fixed-point arithmetics (10 bit precision).
Definition: PerfectlyClearPro.h:232
PFCFBPARAM::iEyeCirc
int iEyeCirc
Eye circle removal level. Range 0 to 100.
Definition: PerfectlyClearPro.h:499
PFCFBPARAM::bEnlarge
BOOL bEnlarge
Set to TRUE to enable eye enlargement.
Definition: PerfectlyClearPro.h:494
PFCRE_STATUS
PFCRE_STATUS
Enumeration defining status of Red Eye pre-calculation.
Definition: PerfectlyClearPro.h:379
PFC_CORE_CANCELLED
@ PFC_CORE_CANCELLED
2 Process cancelled
Definition: PerfectlyClearPro.h:355
PRESET_BEAUTIFYPLUS
@ PRESET_BEAUTIFYPLUS
Beautify Plus provides stronger beautification corrections. This is in the 'Perfectly Clear Essential...
Definition: PerfectlyClearPro.h:183
PRESET_DETAILS
@ PRESET_DETAILS
iAuto Details - legacy preset for backwards compability. This is in the 'Athentech Legacy' group in E...
Definition: PerfectlyClearPro.h:184
PFC_FB_NOT_AVAILABLE
@ PFC_FB_NOT_AVAILABLE
10 Face beautification feature not available
Definition: PerfectlyClearPro.h:375
PFC_LoadAIEngine
int PFC_LoadAIEngine(PFCENGINE *pEngineAI, unsigned int aifeatures, const char *binPath)
Load AI models into engine. Takes time and memory. Use single PFCENGINE with loaded modules,...
PFCFBFACEINFO::rightEye
PFCPOINT rightEye
Point of right eye in detected face.
Definition: PerfectlyClearPro.h:213
PFC_COMPOSITE_FAILED
@ PFC_COMPOSITE_FAILED
detection failed or not available, do not perform composite segmentation
Definition: PerfectlyClearPro.h:420
APPLY_WASM_INVALID_CERTIFICATE
@ APPLY_WASM_INVALID_CERTIFICATE
-9 WASM certificate invalid or not matching APIKEY and domain
Definition: PerfectlyClearPro.h:402
SKINSMOOTHTYPE_SUBTLE
@ SKINSMOOTHTYPE_SUBTLE
The subtle correction removes the wrinkles and spots alone while it keeps the texture of the face unc...
Definition: PerfectlyClearPro.h:315
PFCV3PARAM::iFinishPositiveContrast
int iFinishPositiveContrast
Positive Contrast correction amount.
Definition: PerfectlyClearPro.h:611
PFCIMAGEPROFILE::FB_Status
PFCFB_STATUS FB_Status
Status code for Face Beautification pre-calc analysis.
Definition: PerfectlyClearPro.h:663
PFCFACERECT
struct PFCFaceRect PFCFACERECT
Structure defining face attributes detected by the Face Detection library.
PFC_CORE_INSUFFICIENTMEMORY
@ PFC_CORE_INSUFFICIENTMEMORY
4 Process aborted because of insufficient memory
Definition: PerfectlyClearPro.h:357
PFC_COMPOSITE_TYPE_1
@ PFC_COMPOSITE_TYPE_1
is composite, do segmentation of type 1
Definition: PerfectlyClearPro.h:424
APPLY_WASM_INVALID_APIKEY
@ APPLY_WASM_INVALID_APIKEY
-8 Wrong APIKEY for WASM certificate
Definition: PerfectlyClearPro.h:401
ENGINESTATUS_FB_FUNCTION_NOT_FOUND
@ ENGINESTATUS_FB_FUNCTION_NOT_FOUND
If set, the library is unable to locate SFB functions from the loaded library.
Definition: PerfectlyClearPro.h:158
PFCFaceRect::rcMouth
PFCRECT rcMouth
Specifies the bounding rectangle of the mouth.
Definition: PerfectlyClearPro.h:231
SKINTONINGTYPE_WHITE
@ SKINTONINGTYPE_WHITE
Whitens (bleaches) face. Recommended mainly for darker skin.
Definition: PerfectlyClearPro.h:323
PFCREPARAM
Structure encapsulating Red Eye Correction parameters.
Definition: PerfectlyClearPro.h:546
SKINSMOOTHTYPE_DEFAULT
@ SKINSMOOTHTYPE_DEFAULT
This type of correction provides a more uniform appearance to the complexion. It combines the natural...
Definition: PerfectlyClearPro.h:316
PFC_PixelFormat32bppARGB
@ PFC_PixelFormat32bppARGB
Definition: PerfectlyClearPro.h:123
PFC_FB_NO_CORRECTION
@ PFC_FB_NO_CORRECTION
8 No correction occur during process
Definition: PerfectlyClearPro.h:373
PFCCOREPARAM
Structure encapsulating the CORE processing parameters.
Definition: PerfectlyClearPro.h:443
PFCFaceRect::widthImage
int widthImage
image width
Definition: PerfectlyClearPro.h:243
PFCPARAM::nr
PFCNRPARAM nr
Noise reduction corrections.
Definition: PerfectlyClearPro.h:643
PFCINTERNAL
#define PFCINTERNAL
Internal used pointer type.
Definition: PerfectlyClearPro.h:31
PFCFaceRect::ptEyeR
PFCPOINT ptEyeR
Specifies the x,y coordinates of the right eye, in fixed-point arithmetics (10 bit precision).
Definition: PerfectlyClearPro.h:233
PFCCOREPARAM::iSkintoneStrengthLut
int iSkintoneStrengthLut
Strength of lut correction 0 .. 100 applied with input skintone correction.
Definition: PerfectlyClearPro.h:477
PFCCOREPARAM::fLightDiffusion
float fLightDiffusion
Scale value to control intensity of light diffusion correction.
Definition: PerfectlyClearPro.h:468
PFC_PROGRESS
BOOL(* PFC_PROGRESS)(int iPercent)
Definition: PerfectlyClearPro.h:36
PFCRECT::width
int width
width of this rect.
Definition: PerfectlyClearPro.h:205
PFCFBPARAM
Structure encapsulating Face Beautification parameters.
Definition: PerfectlyClearPro.h:488
PFCPARAM
Struct PFCPARAM the master structure of all processing parameters.
Definition: PerfectlyClearPro.h:640
PFC_RE_INVALID_PARAMETER
@ PFC_RE_INVALID_PARAMETER
5 Invalid parameter
Definition: PerfectlyClearPro.h:385
PFC_SetSingleThreadedEngine
void PFC_SetSingleThreadedEngine(PFCENGINE *p, bool bSingleThreaded)
Force processing to be single threaded.
PFCPARAM::fb
PFCFBPARAM fb
Face Beautification corrections.
Definition: PerfectlyClearPro.h:642
PFC_RE_NOT_FOUND
@ PFC_RE_NOT_FOUND
3 Red eye not found
Definition: PerfectlyClearPro.h:383
PFCPARAM::re
PFCREPARAM re
Red Eye Removal.
Definition: PerfectlyClearPro.h:644
PFCRECT::top
int top
y in point corrdinate of this rect.
Definition: PerfectlyClearPro.h:204
AI_CORRECTIONS
@ AI_CORRECTIONS
Loads AI-based corrections model, requiring the file dynamic.pnn
Definition: PerfectlyClearPro.h:1109
CALC_AICOLOR
@ CALC_AICOLOR
Calculate Auto WB params.
Definition: PerfectlyClearPro.h:176
PFCFBFACEINFO::face
PFCRECT face
Bounding rectangle of detected face.
Definition: PerfectlyClearPro.h:214
PFCNRPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable noise removal.
Definition: PerfectlyClearPro.h:532
PFC_COMPOSITE_PHOTO
@ PFC_COMPOSITE_PHOTO
is photo, do not perform composite segmentation
Definition: PerfectlyClearPro.h:422
PFCCORE_STATUS
PFCCORE_STATUS
Enumeration defining status of Core pre-calculation.
Definition: PerfectlyClearPro.h:352
MASK_ROUNDRECT
@ MASK_ROUNDRECT
rounded rect
Definition: PerfectlyClearPro.h:564
SKINSMOOTHTYPE
SKINSMOOTHTYPE
Enumeration defining types of Skin Smoothing correction.
Definition: PerfectlyClearPro.h:314
BIASMODE
BIASMODE
Enumeration defining BIAS analysis mode.
Definition: PerfectlyClearPro.h:296
PFCIMAGE::height
int height
Pixel height of image.
Definition: PerfectlyClearPro.h:258
PFCCOREPARAM::fDCF
float fDCF
Scale value to control intensity of Digital Color Fidelity correction. Range 0.0 to 1....
Definition: PerfectlyClearPro.h:472
PRESET_IAUTO_21_ASIA
@ PRESET_IAUTO_21_ASIA
Based on iAuto 21, but with brighter Skin & Depth Bias for truer skin tone.
Definition: PerfectlyClearPro.h:190
PFCCOREMask::centerX
float centerX
X of center.
Definition: PerfectlyClearPro.h:571
SKINMODE_BODY
@ SKINMODE_BODY
Apply correction on most skin regions regardless they are linked with a face or not.
Definition: PerfectlyClearPro.h:309
CALC_ALL
@ CALC_ALL
Calculates for all classic features, all of the above.
Definition: PerfectlyClearPro.h:167
PFCV3PARAM::iColorVibrancy
int iColorVibrancy
Color Vibrancy amount.
Definition: PerfectlyClearPro.h:591
PRESET_IAUTO_PEOPLE
@ PRESET_IAUTO_PEOPLE
New default preset for 2023 - same corrections as iAuto People from the Universal AI Preset Selection...
Definition: PerfectlyClearPro.h:191
PFCV3PARAM::bDynamic
BOOL bDynamic
Enable Dynamic correction.
Definition: PerfectlyClearPro.h:617
PFCFBFACEINFO::leftEye
PFCPOINT leftEye
Point of left eye in detected face.
Definition: PerfectlyClearPro.h:212
DP2PARAM::iDeltaB
int iDeltaB
-100 .. 100
Definition: PerfectlyClearPro.h:630
PFCCOREMask::centerY
float centerY
Y of center.
Definition: PerfectlyClearPro.h:572
PFC_SetAddonPath
void PFC_SetAddonPath(const char *utf8AddonPath)
Set path to directory containing runtime add-ons such as .looks file(s) This enables searching for ad...
PFCIMAGEPROFILE::pPfcParam
PFCINTERNAL pPfcParam
Internal use only.
Definition: PerfectlyClearPro.h:655
PFCPRESETID
PFCPRESETID
ENUM for presets support by this SDK.
Definition: PerfectlyClearPro.h:180
PFCV3PARAM::iFinishHighlights
int iFinishHighlights
Highlights correction amount.
Definition: PerfectlyClearPro.h:606
SELECTIVECOLOR
Structure holding selective color correction params.
Definition: PerfectlyClearPro.h:432
PFC_AutoCorrectPreset
int PFC_AutoCorrectPreset(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPRESETID id=PRESET_IAUTO_PEOPLE, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL, PFCENGINE *pEngineAI=NULL)
Single function to perform Perfectly Clear corrections.
PFCV3PARAM::lutOutput
PFC3DLutInfo lutOutput
LUT data to apply.
Definition: PerfectlyClearPro.h:598
PFCCOREPARAM::eTintMode
TINTCORRECTION eTintMode
ENUM value defined in TINTCORRECTION. It sets the aggressiveness of Tint Removal.
Definition: PerfectlyClearPro.h:446
CALC_RE
@ CALC_RE
Calculates for Red Eye Removal.
Definition: PerfectlyClearPro.h:166
APPLY_WASM_CERTIFICATE_WRONG_VERSION
@ APPLY_WASM_CERTIFICATE_WRONG_VERSION
-11 Wrong format version of WASM certificate
Definition: PerfectlyClearPro.h:404
PFC_NR_CANCELLED
@ PFC_NR_CANCELLED
3 Process cancelled
Definition: PerfectlyClearPro.h:344
PFCIMAGE::stride
int stride
Byte width of each scanline.
Definition: PerfectlyClearPro.h:259
PFCV3PARAM::iDeltaB
int iDeltaB
Delta B correction amount.
Definition: PerfectlyClearPro.h:615
MASK_BOTTOM
@ MASK_BOTTOM
linear from 1.0 on bottom
Definition: PerfectlyClearPro.h:563
PFCPARAM::v3
PFCV3PARAM v3
V3 Corrections.
Definition: PerfectlyClearPro.h:646
PFCV3PARAM::iFinishTint
int iFinishTint
Tint correction amount.
Definition: PerfectlyClearPro.h:602
PFCPARAM::core
PFCCOREPARAM core
Core corrections to apply.
Definition: PerfectlyClearPro.h:641
PFCFBPARAM::bLipSharpen
BOOL bLipSharpen
Set to TRUE to enable lip sharpening.
Definition: PerfectlyClearPro.h:521
PFCV3PARAM::iFinishContrast
int iFinishContrast
Contrast correction amount.
Definition: PerfectlyClearPro.h:610
PFC_NR_FULLRES_REQUIRED
@ PFC_NR_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:343
PFCCOREPARAM::iVibrancy
int iVibrancy
Degree of color vibrancy. This value will only be use when bVibrancy is TRUE. Very large values can p...
Definition: PerfectlyClearPro.h:450
PFCAPPLYSTATUS
PFCAPPLYSTATUS
Enumeration defining return code from the Apply() function.
Definition: PerfectlyClearPro.h:392
PFCCOREMask::width
float width
radial/rounded: w of bounding rect, linear: ignored
Definition: PerfectlyClearPro.h:573
PFCFaceRect::blinkLevelR
int blinkLevelR
Right eye Blink level.
Definition: PerfectlyClearPro.h:237
PFCCORE_MASK_TYPE
PFCCORE_MASK_TYPE
Enumeration describing mapping of PFCMask and PFC_MASK_TYPE with 'PFC' -> 'PFCCORE'.
Definition: PerfectlyClearPro.h:558
PFC_CORE_NOSOURCEIMAGE
@ PFC_CORE_NOSOURCEIMAGE
3 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:356
PFCIMAGEPROFILE
Struct defining an image profile as calculated from PFC_Calc() function.
Definition: PerfectlyClearPro.h:654
PFCFaceRect::angle
int angle
Roll angle of the face, from -179 to 180 degrees. 0 degrees means the face it oriented "normally",...
Definition: PerfectlyClearPro.h:234
PFCCOREMask::feather
float feather
relative length of gradient, from where it starts (1.0) to where it is 0.0,
Definition: PerfectlyClearPro.h:576
PFC_RE_NOTENABLED
@ PFC_RE_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:381
PFCRECT
Struct defining a rectangle.
Definition: PerfectlyClearPro.h:202
DP2PARAM::iDeltaR
int iDeltaR
-100 .. 100
Definition: PerfectlyClearPro.h:628
PFC_NR_SUCCESS
@ PFC_NR_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:341
PFCFaceRect::blinkLevel
int blinkLevel
Indicates the presence of a blink.
Definition: PerfectlyClearPro.h:235
PFCNRPARAM::iPreset
int iPreset
Definition: PerfectlyClearPro.h:533
PFC_REJECT_MONOLITH
@ PFC_REJECT_MONOLITH
Reject simple images that don't benefit from correction, like solid colors. This was the default befo...
Definition: PerfectlyClearPro.h:413
PFCV3PARAM::lutInputFoliageGreen
PFC3DLutInfo lutInputFoliageGreen
LUT data to apply.
Definition: PerfectlyClearPro.h:595
PFC_PixelFormat24bppRGB
@ PFC_PixelFormat24bppRGB
Definition: PerfectlyClearPro.h:52
PRESET_IAUTO_2019
@ PRESET_IAUTO_2019
iAuto for even better image corrections
Definition: PerfectlyClearPro.h:187
PFCCOREPARAM::bSkintoneAuto
BOOL bSkintoneAuto
if TRUE iSkintoneType is detected, StrengthLut|StrengthExposure are obtained from PFC_GetAutoSkintone...
Definition: PerfectlyClearPro.h:479
APPLY_CANCELLED
@ APPLY_CANCELLED
-3 Operation cancelled
Definition: PerfectlyClearPro.h:396
PFCIMAGEPROFILE::pSFBParam
PFCINTERNAL pSFBParam
Internal use only.
Definition: PerfectlyClearPro.h:658
LIPSHARPENTYPE_COARSE
@ LIPSHARPENTYPE_COARSE
Lip details are coarsely pronounced.
Definition: PerfectlyClearPro.h:335
PFCFBPARAM::iBlemish
int iBlemish
Blemish removal level. Range 0 to 100.
Definition: PerfectlyClearPro.h:503
CALC_COMPOSITE
@ CALC_COMPOSITE
Calculate Composite Detection.
Definition: PerfectlyClearPro.h:174
PFCFBPARAM::bBlemish
BOOL bBlemish
Set to TRUE to enable blemish removal.
Definition: PerfectlyClearPro.h:502
PFCFBPARAM::iDeFlash
int iDeFlash
Deflash level. Range 0 to 100.
Definition: PerfectlyClearPro.h:507
PFCPROFILE
#define PFCPROFILE
Define.
Definition: PerfectlyClearPro.h:675
PFCIMAGEPROFILE::Status
int Status
Definition: PerfectlyClearPro.h:666
PFC_LoadScenePresetsFromStream
int PFC_LoadScenePresetsFromStream(PFCENGINE *pEngine, const char *buf, int lenBuf, int modelUuid=0, int *presetUuid=NULL, int arrProfileUUIDLen=0)
Loads AI Scene Detection group presets from buffer, and optionally re-loading different Scene Detecti...
LIPSHARPENTYPE
LIPSHARPENTYPE
Enumeration defining Lip Sharpening mode.
Definition: PerfectlyClearPro.h:332
PFCCOREPARAM::bDynamicRange
BOOL bDynamicRange
Set to TRUE to enable dynamic range correction.
Definition: PerfectlyClearPro.h:469
PFC3DLutInfo
Struct.
Definition: PerfectlyClearPro.h:552
PFCIMAGE::width
int width
Pixel width of image.
Definition: PerfectlyClearPro.h:257
PFC_EnumFAEFaceRect
LPPFCFACERECT PFC_EnumFAEFaceRect(PFCIMAGEPROFILE *pImageProfile, LPPFCFACERECT p)
Utility function to enumerate faces detected during Face Aware Exposure analysis.
PFC_CORE_SUCCESS
@ PFC_CORE_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:353
PFC_NR_NOTFOUND
@ PFC_NR_NOTFOUND
7 Noise not found
Definition: PerfectlyClearPro.h:348
PFCCOREMask
struct PFCCOREMask PFCCOREMask
Struct describing mask for grad filter, all coordinates are relative (Y/height, X/width) in final cro...
PFCFaceRect::rcEyeR
PFCRECT rcEyeR
Specifies the bounding rectangle of the right eye.
Definition: PerfectlyClearPro.h:230
PFCIMAGE::data
unsigned char * data
Pointer pointing to the first byte of image data buffer.
Definition: PerfectlyClearPro.h:261
PFCRECT::left
int left
x in point coordinate of this rect.
Definition: PerfectlyClearPro.h:203
PFCCOREPARAM::bUseAutomaticStrengthSelection
BOOL bUseAutomaticStrengthSelection
Set to TRUE (recommended default) to enable Automatic Strength Selection. Perfectly Clear will determ...
Definition: PerfectlyClearPro.h:461
MASK_RADIAL
@ MASK_RADIAL
ellipse
Definition: PerfectlyClearPro.h:561
PFCFBPARAM::iCatchLightMode
int iCatchLightMode
Definition: PerfectlyClearPro.h:510
PFC_COMPOSITE_V2_2
@ PFC_COMPOSITE_V2_2
v2 label 2. If all segmented rects are 2, process full page as photo, if mix of 2 and non-2 labels,...
Definition: PerfectlyClearPro.h:427
PFCFBPARAM::bBlush
BOOL bBlush
Set to TRUE to add blush.
Definition: PerfectlyClearPro.h:524
PFCNRPARAM
Structure encapsulating Noise Removal parameters.
Definition: PerfectlyClearPro.h:531
PFCFaceRect::blinkLevelL
int blinkLevelL
Left eye Blink level.
Definition: PerfectlyClearPro.h:236
PFCCOREPARAM::iLocalContrast
int iLocalContrast
Amount of Local Contrast to apply. Range 0 to 100.
Definition: PerfectlyClearPro.h:473
SKINTONINGTYPE
SKINTONINGTYPE
Enumeration defining type of Skin Toning correction.
Definition: PerfectlyClearPro.h:322
PFCSCENEDESCRIPTION
Scene description.
Definition: PerfectlyClearPro.h:1231
PFCFBPARAM::eSkinToningType
SKINTONINGTYPE eSkinToningType
See enum definition of SKINTONINGTYPE.
Definition: PerfectlyClearPro.h:520
PFC_FBFaceCount
int PFC_FBFaceCount(PFCPROFILE pImageProfile)
Return number of faces detected.
PFCFaceRect::yawAngle
int yawAngle
The Yaw or profile angle, from -90 (left profile) to 90 (right profile)
Definition: PerfectlyClearPro.h:241
PFC_FillAiAutoValues
PFCAPPLYSTATUS PFC_FillAiAutoValues(PFCPARAM &param, PFCIMAGEPROFILE *profile)
Fills PFCPARAM with final values depending on detection results contained in PFCIMAGEPROFILE,...
PFC_PixelFormat24bppBGR
@ PFC_PixelFormat24bppBGR
Definition: PerfectlyClearPro.h:65
PFCV3PARAM::iDeltaR
int iDeltaR
Delta R correction amount.
Definition: PerfectlyClearPro.h:613
AI_SKINTONE
@ AI_SKINTONE
Loads skintone detection model. This is enabled automatically when using AI_SCENE_DETECTION.
Definition: PerfectlyClearPro.h:1111
PFCIMAGE
Struct defining an image to be used in PFC library.
Definition: PerfectlyClearPro.h:256
PFCFBPARAM::iSkinToning
int iSkinToning
Skin Toning level. Range 0 to 100.
Definition: PerfectlyClearPro.h:518
PFCCOREMask::radius
float radius
only for MASK_ROUNDRECT - corner radius, relative to image w.
Definition: PerfectlyClearPro.h:575
PFCCOREPARAM::iBlackEnhancement
int iBlackEnhancement
Set luminance threshold for Noise Management. Range 0 to 25.
Definition: PerfectlyClearPro.h:448
BIAS_BRIGHTER_PREFERENCE
@ BIAS_BRIGHTER_PREFERENCE
Average usage with brighter tone, corresponds to "Bright" in PfC Products.
Definition: PerfectlyClearPro.h:300
PFCV3PARAM::iFinishBlacks
int iFinishBlacks
Blacks correction amount.
Definition: PerfectlyClearPro.h:604
PFCIMAGEPROFILE::RE_Status
PFCRE_STATUS RE_Status
Status code for Red Eye pre-calc analysis.
Definition: PerfectlyClearPro.h:664
PFCCOREPARAM::bVibrancy
BOOL bVibrancy
Set to true (recommended default) to enable Color Vibrancy in the library.
Definition: PerfectlyClearPro.h:449
PFC_NR_ERRBITMAP
@ PFC_NR_ERRBITMAP
4 Error reading image data
Definition: PerfectlyClearPro.h:345
PFCFBPARAM::iEnhanceLevel
int iEnhanceLevel
Eye enhancement level. Range 0 to 100.
Definition: PerfectlyClearPro.h:497
ENGINESTATUS_OK
@ ENGINESTATUS_OK
Engine created successfully.
Definition: PerfectlyClearPro.h:156
PFCCOREPARAM::fTintScale
float fTintScale
Scalar value of how much tint correction should be applied. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:447
PFC_SetParam
void PFC_SetParam(PFCPARAM &param, PFCPRESETID id=PRESET_IAUTO_PEOPLE)
Initialize a PFCPARAM structure.
PFCV3PARAM::lutInputFoliageBrown
PFC3DLutInfo lutInputFoliageBrown
LUT data to apply.
Definition: PerfectlyClearPro.h:596
PFCENGINE
Struct defining an PFC engine instance.
Definition: PerfectlyClearPro.h:250
PFC_COMPOSITE_V2_1
@ PFC_COMPOSITE_V2_1
v2 label 1. Process this rect
Definition: PerfectlyClearPro.h:426
PFCFaceRect::confidence
int confidence
A numerical parameter describing the confidence attributed by the detection algorithm to each face.
Definition: PerfectlyClearPro.h:239
PFCFaceRect::rect
PFCRECT rect
Specifies the bounding rectangle of a face.
Definition: PerfectlyClearPro.h:228
DP2PARAM::fGamma
float fGamma
0.3 .. 4.0
Definition: PerfectlyClearPro.h:631
PFCCOREPARAM::eBiasMode
BIASMODE eBiasMode
Skin and depth bias control. Recommended value is BIAS_AVERAGE_PREFERENCE, unless you are printing to...
Definition: PerfectlyClearPro.h:455
PFC_LoadScenePresets
int PFC_LoadScenePresets(PFCENGINE *pEngine, const char *filePath, int modelUuid=0, int *presetUuid=NULL, int arrProfileUUIDLen=0)
Loads AI Scene Detection group presets from presets file, and optionally re-loading different Scene D...
PFC_DestroyEngine
void PFC_DestroyEngine(PFCENGINE *p)
Destroy PFCENGINE instance and release associated resources.
DP2PARAM::iDeltaG
int iDeltaG
-100 .. 100
Definition: PerfectlyClearPro.h:629
SKINMODE_FACE
@ SKINMODE_FACE
Apply correction ONLY on skin regions included in faces.
Definition: PerfectlyClearPro.h:308
PFC_ReadScenePreset
int PFC_ReadScenePreset(PFCPARAM &param, PFCENGINE *pEngineAI, int scene)
Fill param for the scene from the engine with previously loaded scene presets with PFC_LoadScenePrese...
PFCCOREPARAM::iHighlightPreservation
int iHighlightPreservation
Amount of Highlight Preservation to apply. Range 0 to 100.
Definition: PerfectlyClearPro.h:457
PFCV3PARAM::iNeutralDensity
int iNeutralDensity
Neutral density filter amout.
Definition: PerfectlyClearPro.h:590
PFC_AutoCorrect
int PFC_AutoCorrect(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPARAM &param, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL, PFCENGINE *pEngineAI=NULL, BOOL bUseAutoSDPreset=FALSE)
Single function to perform Perfectly Clear correction.
BIAS_NONE
@ BIAS_NONE
Turn off bias correction.
Definition: PerfectlyClearPro.h:297
PFCCOREPARAM::bLocalContrast
BOOL bLocalContrast
Set to true to enable Local Contrast.
Definition: PerfectlyClearPro.h:474
TINTCORRECT_DEFAULT
@ TINTCORRECT_DEFAULT
Moderate level of tint detection.
Definition: PerfectlyClearPro.h:267
PFCCOREPARAM::bHighlightPreservation
BOOL bHighlightPreservation
Set to true to enable Highlight Preservation.
Definition: PerfectlyClearPro.h:458
PFC_COMPOSITE_SKIP
@ PFC_COMPOSITE_SKIP
is unsupported composite, skip processing
Definition: PerfectlyClearPro.h:421
DCF_STANDARD
@ DCF_STANDARD
For normal photo.
Definition: PerfectlyClearPro.h:282
PFCV3PARAM::iDynamicWB
int iDynamicWB
Strength of color component of Dynamic correction 0 .. 100.
Definition: PerfectlyClearPro.h:619
SKINSMOOTHTYPE_SUPERSMOOTH
@ SKINSMOOTHTYPE_SUPERSMOOTH
This is a more aggressive and effective correction where the appearance of the entire skin (including...
Definition: PerfectlyClearPro.h:317
PFC_ReleaseProfile
void PFC_ReleaseProfile(PFCPROFILE pProfile)
Release PFCPROFILE instance.
PFC_FB_FULLRES_REQUIRED
@ PFC_FB_FULLRES_REQUIRED
3 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:368
PFC_REJECT_CLIPART
@ PFC_REJECT_CLIPART
Reject images classified as clipart, used by default.
Definition: PerfectlyClearPro.h:414
AGGRESSIVENESS
AGGRESSIVENESS
Enumeration defining Auto Exposure calculation modes.
Definition: PerfectlyClearPro.h:288
AGGRESSIVENESS_MODERATE
@ AGGRESSIVENESS_MODERATE
Moderate level of exposure correction.
Definition: PerfectlyClearPro.h:290
PFCCOREPARAM::bAbnormalTintRemoval
BOOL bAbnormalTintRemoval
Set to true to enable Abnormal Tint Removal. Recommended default is FALSE.
Definition: PerfectlyClearPro.h:445
PFCFBPARAM::bEyeCirc
BOOL bEyeCirc
Set to TRUE to enable eye circle removal.
Definition: PerfectlyClearPro.h:498
PFC_Apply
PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100, void *pBGProfile=NULL)
Correct image with parameters.
AI_SCENE_DETECTION
@ AI_SCENE_DETECTION
Loads scene detection model, requiring one or two pnn files with filenames like pro_and_universal_202...
Definition: PerfectlyClearPro.h:1108
PFC_PixelFormat48bppRGB
@ PFC_PixelFormat48bppRGB
Definition: PerfectlyClearPro.h:93
CALC_CORE
@ CALC_CORE
Calculates for Perfectly Clear Core correction.
Definition: PerfectlyClearPro.h:163
PFCV3PARAM::iDeltaG
int iDeltaG
Delta G correction amount.
Definition: PerfectlyClearPro.h:614
PFC_PixelFormat48bppBGR
@ PFC_PixelFormat48bppBGR
Definition: PerfectlyClearPro.h:136
APPLY_ERROR_AI_CORRECTION_MISSING
@ APPLY_ERROR_AI_CORRECTION_MISSING
-13 Tried to apply AI-based correction but is not available
Definition: PerfectlyClearPro.h:406
PFCPOINT::x
int x
x coordinate of this point.
Definition: PerfectlyClearPro.h:196
PFCPOINT
Struct defining a point.
Definition: PerfectlyClearPro.h:195
PFC_GetLooks3DLut
int PFC_GetLooks3DLut(PFCENGINE *pEngine, const char *lookGuids, int *iLookStrengths, int *iLookContrasts, int *iLookSaturations, int iLooksCount, float *final3Dlut)
Get final 3D 16x16x16 lut for external application of looks Allows to use custom GPU processing to ap...
PFC_GetSceneDescription
bool PFC_GetSceneDescription(PFCENGINE *pEngine, int index, PFCSCENEDESCRIPTION *sceneDescription)
Get the scene description for the given index number.
PFCFaceRect::FAE
int FAE[3]
Internal data for Face Aware Exposure.
Definition: PerfectlyClearPro.h:242
TINTCORRECTION
TINTCORRECTION
Enumeration defining different abnormal tint analysis mode.
Definition: PerfectlyClearPro.h:265
PFC_DetectCompositeImage
int PFC_DetectCompositeImage(PFCIMAGE *pImage, PFCENGINE *pEngine)
Run detection of composite image.
PFC_CreateEngine
PFCENGINE * PFC_CreateEngine()
Create PFCENGINE instance.
SKINTONINGTYPE_FOUNDATION
@ SKINTONINGTYPE_FOUNDATION
Adjust skin to user defined foundation color.
Definition: PerfectlyClearPro.h:327
SKINTONINGTYPE_TAN
@ SKINTONINGTYPE_TAN
Darkens skin, makes it look naturally tanned.
Definition: PerfectlyClearPro.h:326
SKINTONINGTYPE_WARM
@ SKINTONINGTYPE_WARM
Warms skin tone.
Definition: PerfectlyClearPro.h:325
CALC_FAEHISPEED
@ CALC_FAEHISPEED
Use Fast mode of Face Aware Exposure pre-calculations.
Definition: PerfectlyClearPro.h:170
HIGH_DEFINITION
@ HIGH_DEFINITION
Optimized to bring out more details in the shadows, more details in the highlights,...
Definition: PerfectlyClearPro.h:276
PFC_LoadAddonLooks
void PFC_LoadAddonLooks(PFCENGINE *pEngine, const char *addonLooksBuf, int buflen)
Load addon looks from contents of .looks file(s) Allows to use addon looks when filesystem is not ava...
PFCIMAGE::format
PFCPIXELFORMAT format
Defines byte order of input buffer.
Definition: PerfectlyClearPro.h:260
PFC_PixelFormat64bppARGB
@ PFC_PixelFormat64bppARGB
Definition: PerfectlyClearPro.h:108
PFC_AbnormalTintDetected
bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod)
Query if abnormal tint is detected.
PFC_GetLastSceneProperties
void PFC_GetLastSceneProperties(PFCENGINE *pEngine, int *lastSceneLabel, int *lastSceneConfidence=NULL)
Get last detected scene properties.
PFCV3PARAM::iFinishWhites
int iFinishWhites
Whites correction amount.
Definition: PerfectlyClearPro.h:607
PFCV3PARAM::lutInputCorrective
PFC3DLutInfo lutInputCorrective
LUT data to apply.
Definition: PerfectlyClearPro.h:593
MASK_TOP
@ MASK_TOP
linear from 1.0 on top
Definition: PerfectlyClearPro.h:562
AGGRESSIVENESS_CONSERVATIVE
@ AGGRESSIVENESS_CONSERVATIVE
Less aggressive in exposure correction.
Definition: PerfectlyClearPro.h:289
PFCCOREPARAM::bEnabled
BOOL bEnabled
Set to true to enable the entire Core correction.
Definition: PerfectlyClearPro.h:444
PFC_FB_NOTENABLED
@ PFC_FB_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:366
PFCFBPARAM::colorBlush
unsigned int colorBlush
Blush color AARRGGBB default 0xFFFD7171 ({253, 113, 113})
Definition: PerfectlyClearPro.h:527
SKINTONINGTYPE_PALE
@ SKINTONINGTYPE_PALE
Makes skin look lighter and more pale.
Definition: PerfectlyClearPro.h:324
PFCFBPARAM::iCatchLight
int iCatchLight
Catchlight level. Range 0 to 100.
Definition: PerfectlyClearPro.h:509
SKINMODE
SKINMODE
Enumeration defining modes in Perfect Smooth analysis.
Definition: PerfectlyClearPro.h:307
PFCCOREPARAM::fBiasScale
float fBiasScale
Scalar value of how much BIAS correction should be applied. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:456
BIAS_AVERAGE_PREFERENCE
@ BIAS_AVERAGE_PREFERENCE
For average usage, corresponds to "Normal" in PfC Products.
Definition: PerfectlyClearPro.h:299
PFC_Resize
PFCAPPLYSTATUS PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst)
Resizes the input image to the dimensions specificed in by the output image. The output image must be...
PFCFEATURE
PFCFEATURE
ENUM controlling types of calculations at the pre-calculation stage.
Definition: PerfectlyClearPro.h:162
PFCCOREMask::height
float height
radial/rounded: h of bounding rect, linear: dist from centerY where grad becomes 1....
Definition: PerfectlyClearPro.h:574
PFCFBPARAM::bEnhance
BOOL bEnhance
Set to TRUE to enable eye enhancement.
Definition: PerfectlyClearPro.h:496
PFC_COMPOSITE_V2_0
@ PFC_COMPOSITE_V2_0
v2 label 0. Skip processing this segmented rect
Definition: PerfectlyClearPro.h:425
PFCV3PARAM::iFinishExposure
int iFinishExposure
Exposure correction amount.
Definition: PerfectlyClearPro.h:603
PFC_NR_MISC_ERROR
@ PFC_NR_MISC_ERROR
6 General error
Definition: PerfectlyClearPro.h:347
PFCFaceRect::smileLevel
int smileLevel
Indicates the presence of a smile.
Definition: PerfectlyClearPro.h:240
APPLY_INVALIDLICENSE
@ APPLY_INVALIDLICENSE
-6 Invalid License or validation failed
Definition: PerfectlyClearPro.h:399
PRESET_IAUTO_21
@ PRESET_IAUTO_21
The iAuto you love plus newly (2021) tuned settings for sharper images, accurate skin correction,...
Definition: PerfectlyClearPro.h:189
PFCIMAGEPROFILE::NR_Status
PFCNR_STATUS NR_Status
Status code for Noise Removal pre-calc analysis.
Definition: PerfectlyClearPro.h:662
PFCFBPARAM::iSmoothLevel
int iSmoothLevel
Face smoothing level. Range 0 to 100.
Definition: PerfectlyClearPro.h:491
PFC_ReadPresetsFromStream
int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s)
Load image processing settings from a char buffer.
PFCENGINESTATUS
PFCENGINESTATUS
ENUM for engine initialization status.
Definition: PerfectlyClearPro.h:155
PFCNR_STATUS
PFCNR_STATUS
Enumeration defining status of Noise Removal pre-calculation.
Definition: PerfectlyClearPro.h:340
PRESET_IAUTO_2019_RE
@ PRESET_IAUTO_2019_RE
iAuto 2019 with Red Eye correciton enabled
Definition: PerfectlyClearPro.h:188
MASK_ALL
@ MASK_ALL
1.0 everywhere (background)
Definition: PerfectlyClearPro.h:560
BGMASKPARAM
Struct defining parameters for building BG mask.
Definition: PerfectlyClearPro.h:681
PFCV3PARAM::iPreprocessEV
int iPreprocessEV
EV correction amount (Image Ambulace)
Definition: PerfectlyClearPro.h:587
PFCFBPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable entire face beautification.
Definition: PerfectlyClearPro.h:489
DP2PARAM::bEnable
BOOL bEnable
enables overall correction
Definition: PerfectlyClearPro.h:636
PFC_FB_NOT_EXECUTED
@ PFC_FB_NOT_EXECUTED
9 Not executed
Definition: PerfectlyClearPro.h:374
PFCCOMPOSITE
PFCCOMPOSITE
Enumeration defining results of PFC_DetectCompositeImage.
Definition: PerfectlyClearPro.h:419
PFC_RE_GEN_ERROR
@ PFC_RE_GEN_ERROR
4 General error
Definition: PerfectlyClearPro.h:384
APPLY_WASM_INVALID_DOMAIN
@ APPLY_WASM_INVALID_DOMAIN
-7 Wrong domain for WASM certificate
Definition: PerfectlyClearPro.h:400
PFCCOREMask::invert
bool invert
invert mask (x = 1.0 - x). NOTE: UI meaning of invert is: if one mask layer set invert = true
Definition: PerfectlyClearPro.h:579
PFCCOREPARAM::eDCFMode
DCFMODE eDCFMode
Select different class of DCF.
Definition: PerfectlyClearPro.h:471
PFC_COMPOSITE_TYPE_0
@ PFC_COMPOSITE_TYPE_0
is composite, do segmentation of type 0
Definition: PerfectlyClearPro.h:423
PFCFBPARAM::eSkinToningMode
SKINMODE eSkinToningMode
Use SKINMODE_FACE to apply correction ONLY on skin regions included in faces. Use SKINMODE_BODY to ap...
Definition: PerfectlyClearPro.h:519
CONTRASTMODE
CONTRASTMODE
Enumeration defining contrast mode.
Definition: PerfectlyClearPro.h:274
CALC_SCENE_DETECTION
@ CALC_SCENE_DETECTION
Calculate Scene Detection.
Definition: PerfectlyClearPro.h:173
PFCFaceRect::heightImage
int heightImage
image height
Definition: PerfectlyClearPro.h:244
PFCIMAGEPROFILE::pInternal
PFCINTERNAL pInternal
Internal use only.
Definition: PerfectlyClearPro.h:659
DP2PARAM::bAuto
BOOL bAuto
if true use ai-detected params instead
Definition: PerfectlyClearPro.h:635
PFC_Calc
PFCPROFILE PFC_Calc(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCENGINE *pEngine, unsigned int feature=CALC_ALL, int iISO=-1, char *pCameraModel=NULL, PFCPROFILE pImageProfile=NULL, PFC_PROGRESS progfn=NULL, int iRejectOption=PFC_REJECT_CLIPART, PFCENGINE *pEngineAI=NULL)
Perform initial analysis on images.
PFCFaceRect::rcEyeL
PFCRECT rcEyeL
Specifies the bounding rectangle of the left eye.
Definition: PerfectlyClearPro.h:229
PFC_ReleaseProtectionPath
void PFC_ReleaseProtectionPath()
Releases resources from PFC_SetProtectionPath function call.
PFCV3PARAM::iOutLUTsaturation
int iOutLUTsaturation
lutOutput saturation -100 .. 100
Definition: PerfectlyClearPro.h:622
PFCREJECTOPTION
PFCREJECTOPTION
Enumeration defining rejection flags.
Definition: PerfectlyClearPro.h:411
DCFMODE
DCFMODE
Enumeration defining DCF analysis mode.
Definition: PerfectlyClearPro.h:281
PFCFaceRect
Structure defining face attributes detected by the Face Detection library.
Definition: PerfectlyClearPro.h:227
PFC_IsNoiseDetected
bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset)
Query if noise is detected.
LIPSHARPENTYPE_MEDIUM
@ LIPSHARPENTYPE_MEDIUM
Stronger sharpening. Details are more pronounced.
Definition: PerfectlyClearPro.h:334
CALC_NR
@ CALC_NR
Calculates for Perfectly Clear Noise Removal.
Definition: PerfectlyClearPro.h:164
PFC_CORE_CLIPARTIMAGE
@ PFC_CORE_CLIPARTIMAGE
7 Image skipped due AI Clipart detection
Definition: PerfectlyClearPro.h:360
PFC_FB_CANCELLED
@ PFC_FB_CANCELLED
4 Process cancelled
Definition: PerfectlyClearPro.h:369
BIAS_AUTO
@ BIAS_AUTO
Apply auto calculated bias mode and strength.
Definition: PerfectlyClearPro.h:302
PFCENGINE::status
PFCENGINESTATUS status
Status of engine defined in PFCENGINESTATUS. For NO-SFB version the status will always be ENGINESTATU...
Definition: PerfectlyClearPro.h:252
DP2PARAM::iDensity
int iDensity
-100 .. 100 // Same meaning as DP2 Adjust params
Definition: PerfectlyClearPro.h:627
APPLY_LOOKS_MISSING
@ APPLY_LOOKS_MISSING
-12 tried to apply a LUT but the LUTs file was not found
Definition: PerfectlyClearPro.h:405
DCF_VIVID
@ DCF_VIVID
For more color vibrancy.
Definition: PerfectlyClearPro.h:283
PRESET_BEAUTIFY
@ PRESET_BEAUTIFY
Beautify - provides a good default set of corrections for portratis and other photos of people....
Definition: PerfectlyClearPro.h:182
DP2PARAM
Struct describing parameters used via AI White Balance.
Definition: PerfectlyClearPro.h:626
PFCCOREPARAM::iMinStrength
int iMinStrength
Min exposure that will be remommended by Auto Exposure.
Definition: PerfectlyClearPro.h:475
PFCV3PARAM::lutInputSky
PFC3DLutInfo lutInputSky
LUT data to apply.
Definition: PerfectlyClearPro.h:594
PFCCOREPARAM::eAggressiveness
AGGRESSIVENESS eAggressiveness
The desired level of lighting for Automatic Strength Selection to target at the Exposure Correction.
Definition: PerfectlyClearPro.h:463
BIAS_DONT_BOTHER
@ BIAS_DONT_BOTHER
Reserved, never use.
Definition: PerfectlyClearPro.h:301
PFCPIXELFORMAT
PFCPIXELFORMAT
defines the format of the image data
Definition: PerfectlyClearPro.h:39
PFCV3PARAM::iDynamic
int iDynamic
Dynamic correction strength 0 .. 100.
Definition: PerfectlyClearPro.h:618
PFC_FB_WARNING
@ PFC_FB_WARNING
2 Warning: face not detected
Definition: PerfectlyClearPro.h:367
PFCCOREPARAM::bContrast
BOOL bContrast
Set to TRUE to also apply Athentech's patented Medical Imaging contrast technology.
Definition: PerfectlyClearPro.h:452
PFC_RE_SUCCESS
@ PFC_RE_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:380
PFC_PixelFormat32bppABGR
@ PFC_PixelFormat32bppABGR
Definition: PerfectlyClearPro.h:80
PFCPOINT::y
int y
y coordinate of this point.
Definition: PerfectlyClearPro.h:197
PFCCOREPARAM::iSplitColorWarm
int iSplitColorWarm
Enhance warm tones.
Definition: PerfectlyClearPro.h:481
PFCFBPARAM::bCatchLight
BOOL bCatchLight
Set to TRUE to enable catchlight removal.
Definition: PerfectlyClearPro.h:508
PFCFBPARAM::bTeeth
BOOL bTeeth
Set to TRUE to enable teeth whitening.
Definition: PerfectlyClearPro.h:500
PFCFBPARAM::bSmooth
BOOL bSmooth
Set to TRUE to enable face smoothing.
Definition: PerfectlyClearPro.h:490
PFC_NR_NOTENABLED
@ PFC_NR_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:342
PFCV3PARAM::iFinishShadows
int iFinishShadows
Shadows correction amount.
Definition: PerfectlyClearPro.h:605
PRESET_VIVID
@ PRESET_VIVID
Vivid - good for landscapes and other general photography. This is in the 'Perfectly Clear Essentials...
Definition: PerfectlyClearPro.h:185
PFCFBPARAM::bDeFlash
BOOL bDeFlash
Set to TRUE to enable deflash.
Definition: PerfectlyClearPro.h:506
PFCCOREPARAM::iMaxStrength
int iMaxStrength
Use this value to limit the maximum Exposure to be applied on the Automatic Exposure Strength Selecti...
Definition: PerfectlyClearPro.h:464
PFCFB_STATUS
PFCFB_STATUS
Enumeration defining status of Face Beautification pre-calculation.
Definition: PerfectlyClearPro.h:364
MASK_NONE
@ MASK_NONE
0.0 everywhere, don't apply
Definition: PerfectlyClearPro.h:559
PFCCOREPARAM::iSkintoneAutoStrength
int iSkintoneAutoStrength
If bSkintonAuto is TRUE defines percents of iSkintoneStrengthLut iSkintoneStrengthExposure to apply,...
Definition: PerfectlyClearPro.h:480
PFCFBPARAM::iEnlargeLevel
int iEnlargeLevel
Eye enlargement level. Range 0 to 100.
Definition: PerfectlyClearPro.h:495
PFCIMAGEPROFILE::pNoiseParam
PFCINTERNAL pNoiseParam
Internal use only.
Definition: PerfectlyClearPro.h:656
PFCCOREPARAM::bDCF
BOOL bDCF
Set to TRUE to enable Digital Color Fidelity. Recommended value is FALSE.
Definition: PerfectlyClearPro.h:470
PFC_FB_ANALYSIS_FAILED
@ PFC_FB_ANALYSIS_FAILED
7 The face analysis did not complete successfully
Definition: PerfectlyClearPro.h:372
PFCCOREPARAM::bSharpen
BOOL bSharpen
Set to TRUE to enable sharpening.
Definition: PerfectlyClearPro.h:459
PFCV3PARAM::iDarkSkin
int iDarkSkin
Dark Skin output LUT amount.
Definition: PerfectlyClearPro.h:592
APPLY_WASM_EXPIRED_CERTIFICATE
@ APPLY_WASM_EXPIRED_CERTIFICATE
-10 WASM certificate has expired
Definition: PerfectlyClearPro.h:403
PFCCOREPARAM::fInfrared
float fInfrared
Scale value to control intensity of infrared correction. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:466
PFC_REJECT_NONE
@ PFC_REJECT_NONE
Disable image rejection.
Definition: PerfectlyClearPro.h:412
PFC_ApplyStrengthToParam
void PFC_ApplyStrengthToParam(PFCPARAM &param, int strength)
Apply overall strength to parameters, same as Strength in Perfecly Clear products Reads the correctio...
PFC_ReadPresets
int PFC_ReadPresets(PFCPARAM &param, char *filename)
Load image processing settings from a .preset file. Use this function to load image processing settin...
PFC_FB_CREATE_ENGINE_FAILED
@ PFC_FB_CREATE_ENGINE_FAILED
6 Unable to create SFB Engine object for processing
Definition: PerfectlyClearPro.h:371
PRESET_NONE
@ PRESET_NONE
All off.
Definition: PerfectlyClearPro.h:181
PFC_GetRecommendedParam
void PFC_GetRecommendedParam(PFCIMAGEPROFILE *profile, PFCCOREPARAM *dst, PFCCOREPARAM *src)
Get recommended values of auto params using result of precalc.
PFC_RE_NO_MEMORY
@ PFC_RE_NO_MEMORY
6 Insufficient memory
Definition: PerfectlyClearPro.h:386
PFCFBPARAM::eSmoothMode
SKINMODE eSmoothMode
Use SKINMODE_FACE to apply correction ONLY on skin regions included in faces. Use SKINMODE_BODY to ap...
Definition: PerfectlyClearPro.h:492
PFCV3PARAM::iFinishVibrancy
int iFinishVibrancy
Vibrancy correction amount.
Definition: PerfectlyClearPro.h:609
PFCCOREPARAM::iSkintoneType
int iSkintoneType
Skintone type, pale to dark, 1 .. 10 defines type of input skintone correction.
Definition: PerfectlyClearPro.h:476
APPLY_NOSOURCE
@ APPLY_NOSOURCE
-4 Pointer pImage is NULL, source image missing
Definition: PerfectlyClearPro.h:397
AI_COMPOSITE
@ AI_COMPOSITE
Loads composite detection model, requiring the file composite.pnn
Definition: PerfectlyClearPro.h:1110
DP2PARAM::mode
int mode
reserved unused
Definition: PerfectlyClearPro.h:634
PFCCOREPARAM::iStrength
int iStrength
Set the strength of exposure correction. If Automatic Strength Selection is enabled,...
Definition: PerfectlyClearPro.h:451
PFCNRPARAM::iDetailOffset
int iDetailOffset
Offset to recommended level of preservation of details. Range -30 to 30.
Definition: PerfectlyClearPro.h:542
PFCFBFACEINFO
Structure defining face area detected from the SFB library.
Definition: PerfectlyClearPro.h:211
PFCFBPARAM::eLipSharpenType
LIPSHARPENTYPE eLipSharpenType
See definition of LIPSHARPENTYPE.
Definition: PerfectlyClearPro.h:523
TINTCORRECT_CONSERVATIVE
@ TINTCORRECT_CONSERVATIVE
Priority on minimum false positive detection.
Definition: PerfectlyClearPro.h:268
BIAS_ASIAN_PREFERENCE
@ BIAS_ASIAN_PREFERENCE
Fine tuned for Asian skin tone.
Definition: PerfectlyClearPro.h:298
CALC_CARTOON_DETECTOR
@ CALC_CARTOON_DETECTOR
Calculate legacy cartoon detector.
Definition: PerfectlyClearPro.h:171
PFCCOREPARAM::bInfrared
BOOL bInfrared
Set to TRUE (recommended default) to enable infrared correction. It's a good idea to turn Infrared Co...
Definition: PerfectlyClearPro.h:465
PFCCOREPARAM::eContrastMode
CONTRASTMODE eContrastMode
Select contrast mode.
Definition: PerfectlyClearPro.h:453
AI_COLOR
@ AI_COLOR
Loads AI White Balance color corrections model, requiring the file aicolor.pnn
Definition: PerfectlyClearPro.h:1112
PFC_TransposeExif
PFCAPPLYSTATUS PFC_TransposeExif(PFCIMAGE *pImageSrc, int iEXIFOrientation)
Transpose image upright from/to EXIF Orientation.
APPLY_ERROR_ENGINE_MISSING
@ APPLY_ERROR_ENGINE_MISSING
-2 Pointer pEngine is NULL
Definition: PerfectlyClearPro.h:395
PFC_FB_FUNCTION_ERROR
@ PFC_FB_FUNCTION_ERROR
5 Unable to locate function in the SFBEngine library
Definition: PerfectlyClearPro.h:370
CALC_NOTINTCALC
@ CALC_NOTINTCALC
Skip pre-calculations on Abnormal Tint Correction during Core pre-calculations.
Definition: PerfectlyClearPro.h:168
PFC_CORE_BELOWMINSIZE
@ PFC_CORE_BELOWMINSIZE
6 Image skipped, too small ( < 32 pixels )
Definition: PerfectlyClearPro.h:359
PFC_RE_NOT_SUPPORTED
@ PFC_RE_NOT_SUPPORTED
8 Not supported
Definition: PerfectlyClearPro.h:388
PFCFBPARAM::iLipSharpen
int iLipSharpen
Lip sharpening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:522
PFCCOREMask::angle
float angle
CW.
Definition: PerfectlyClearPro.h:577
PFCFBPARAM::colorSkinToning
unsigned int colorSkinToning
Skin Toning color AARRGGBB default 0xFFF5BCA9 ({245, 188, 169})
Definition: PerfectlyClearPro.h:526