Perfectly Clear SDK Documentation  10.7.2.1269
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;
434  int a;
435  int m;
436  int p;
437  int H;
438  int S;
439  int L;
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 #ifdef PFCCOREONLY
486  BOOL bSelectiveColor2;
487  SELECTIVECOLOR selectiveColor2[8];
488 #endif
489 } PFCCOREPARAM;
490 
492 typedef struct {
493  BOOL bEnabled;
494  BOOL bSmooth;
498  BOOL bEnlarge;
500  BOOL bEnhance;
502  BOOL bEyeCirc;
503  int iEyeCirc;
504  BOOL bTeeth;
506  BOOL bBlemish;
507  int iBlemish;
508  BOOL bSlim;
509  int iSlim;
510  BOOL bDeFlash;
511  int iDeFlash;
512  BOOL bCatchLight;
515  BOOL bSkinToning;
525  BOOL bLipSharpen;
528  BOOL bBlush;
529  int iBlush;
530  unsigned int colorSkinToning;
531  unsigned int colorBlush;
532 } PFCFBPARAM;
533 
535 typedef struct {
536  BOOL bEnabled;
537  int iPreset;
538  int iStrengthOffset;
548 } PFCNRPARAM;
549 
551 typedef struct {
552  BOOL bEnabled;
553 } PFCREPARAM;
554 
555 #define PFC3DLutGuidLength 32
556 typedef struct {
558  char guid[PFC3DLutGuidLength + 1];
559  unsigned char strength;
560 } PFC3DLutInfo;
561 
570 };
571 
573 typedef struct PFCCOREMask
574 {
575  PFCCORE_MASK_TYPE type;
576  float centerX;
577  float centerY;
578  float width;
579  float height;
580  float radius;
581  float feather;
582  float angle;
583  float transparency;
584  bool invert;
585  // if two layers (top and bottom) - swap params between layers instead.
587 
589 typedef struct {
590  // Image Ambulance
593 
594  // built-in 3D luts
597  int iDarkSkin;
603 
604  // Finishing
616 
617  int iDeltaR;
618  int iDeltaG;
619  int iDeltaB;
620 
621  BOOL bDynamic;
622  int iDynamic;
624 
627 } PFCV3PARAM;
628 
630 typedef struct {
631  int iDensity;
632  int iDeltaR;
633  int iDeltaG;
634  int iDeltaB;
635  float fGamma;
636  int iContrast;
638  int mode;
639  BOOL bAuto;
640  BOOL bEnable;
641 } DP2PARAM;
642 
644 typedef struct {
649 #ifndef NO_V3PARAM
651  PFCV3PARAM layer[3];
652  PFCCOREMask mask[3];
653 #endif
654  DP2PARAM dp2;
655 } PFCPARAM;
656 
658 typedef struct {
664 
669 
670  int Status;
679 #define PFCPROFILE PFCIMAGEPROFILE*
680 
682 #define PFCBGPROFILE PFCINTERNAL
683 
685 typedef struct {
686  int iRawMaskMode; // 7
687  int iBG; // 0..100
688  int iFG; // 0 .. 100
689  int iTolerance; // allow target I variation (similar to +- 8 logic)
690  int iSobel; // Sobel binarization threshold, 32
691  int iBlur;
692  bool bImfill; // remove black holes
693  bool bAreaopen; // do areaopen in black subject (remove white)
694  int iAreaopen; // size param in 1/10000 of w*h
695  bool bAreaopenBG; // do areaopen in white BG (rem small blacks)
696  int iAreaopenBG;
697  int iConnectivity; // 8 or 4
698  bool bGrad; // add grad filter
699  bool bGradAuto; // fixed based on detected face bottom,
700  int iGradBottom; // rel bottom
701  int iGradHeight; // rel spread
702  float avR; // calculated average BG RGB
703  float avG;
704  float avB;
705 }
707 
708 
712 
745 int PFC_SetProtectionPath(const char*utf8FolderPath, const char* liceseCode = NULL);
746 
755 
776 int PFC_ReadPresets(PFCPARAM &param, char *filename);
777 
810 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);
811 
815 
816 
818 
822 
830 
858 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_MONOLITH, PFCENGINE* pEngineAI=NULL);
859 
860 
874 PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100, void* pBGProfile=NULL);
875 
883 
892 
896 
902 void PFC_SetAddonPath(const char *utf8AddonPath);
903 
907 
908 
909 
916 void PFC_LoadAddonLooks(PFCENGINE *pEngine, const char *addonLooksBuf, int buflen);
917 
929 int PFC_GetLooks3DLut(PFCENGINE *pEngine, const char* lookGuids, int *iLookStrengths, int *iLookContrasts, int *iLookSaturations, int iLooksCount, float* final3Dlut);
930 
938 
946 int PFC_FBFaceCount(PFCPROFILE pImageProfile);
947 
955 int PFC_FAEFaceCount(PFCIMAGEPROFILE *pImageProfile);
979 bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index);
980 
999 
1008 bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset);
1009 
1020 bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod);
1021 
1037 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);
1038 
1039 
1048 int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s);
1049 
1057 void PFC_SetSingleThreadedEngine(PFCENGINE* p, bool bSingleThreaded);
1058 
1064 void PFC_GetVersion(char* buf, int *len, bool bFormatted = false);
1065 
1071 PFCAPPLYSTATUS PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst);
1072 
1078 PFCAPPLYSTATUS PFC_TransposeExif(PFCIMAGE *pImageSrc, int iEXIFOrientation);
1079 
1086 void PFC_ApplyStrengthToParam(PFCPARAM &param, int strength);
1087 
1096 int PFC_WasmSetCertificate(PFCENGINE* pEngine, const char *clientAPIKey, const char *certificate);
1097 
1101 void PFC_TrackSave(const char *clientAPIKey);
1102 
1109 
1111 typedef enum {
1116  AI_COLOR = 16,
1117  AI_FACEMESH = 32
1118 } PFCAIFEATURE;
1119 
1128 int PFC_LoadAIEngine(PFCENGINE* pEngineAI, unsigned int aifeatures, const char *binPath);
1129 
1159 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);
1160 
1161 
1179 int PFC_LoadScenePresets(PFCENGINE* pEngine, const char *filePath, int modelUuid = 0, int *presetUuid = NULL, int arrProfileUUIDLen = 0);
1180 
1199 int PFC_LoadScenePresetsFromStream(PFCENGINE* pEngine, const char *buf, int lenBuf, int modelUuid = 0, int *presetUuid = NULL, int arrProfileUUIDLen = 0);
1200 
1201 
1210 int PFC_ReadScenePreset(PFCPARAM &param, PFCENGINE *pEngineAI, int scene);
1211 
1219 int PFC_GetScene(PFCPROFILE precalc, int *version);
1220 
1221 
1231 bool PFC_GetSceneDetectionEngineInfo(PFCENGINE* pEngine,int *groupUUID, int *arrProfileUUID, int *arrProfileUUIDLen);
1232 
1235 typedef struct {
1236  char name[250];
1239 
1256 bool PFC_GetSceneDescription(PFCENGINE* pEngine, int index, PFCSCENEDESCRIPTION* sceneDescription);
1257 
1258 
1266 void PFC_GetLastSceneProperties(PFCENGINE* pEngine, int* lastSceneLabel, int* lastSceneConfidence = NULL);
1267 
1274 
1281 const char* PFC_GetAutoSkintoneParameters(int skintoneType, int *strengthLut, int *strengthExposure);
1282 
1290 
1291 #ifdef EYEQINTERNAL
1292 #include "../Header-internal/PerfectlyClearPro-internal.h"
1293 #endif
1294 
1295 #ifdef __cplusplus
1296 }
1297 #endif
1298 #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:612
TINTCORRECT_STRONGEST
@ TINTCORRECT_STRONGEST
Highest sensitivity level of tint detection.
Definition: PerfectlyClearPro.h:269
PFCCOREPARAM::iSkintoneStrengthExposure
int iSkintoneStrengthExposure
AI Skin tone correction level, set automatically.
Definition: PerfectlyClearPro.h:478
PFCIMAGEPROFILE::CORE_Status
PFCCORE_STATUS CORE_Status
Status code for CORE pre-calc analysis.
Definition: PerfectlyClearPro.h:665
APPLY_ERROR_PROFILE_MISSING
@ APPLY_ERROR_PROFILE_MISSING
-1 Pointer pProfile is NULL
Definition: PerfectlyClearPro.h:394
PFCFBPARAM::bSlim
BOOL bSlim
Face Countouring.
Definition: PerfectlyClearPro.h:508
PFCCOREPARAM::bLightDiffusion
BOOL bLightDiffusion
Light Diffusion.
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
Not visible in Workbench. Enable EV correction (Image Ambulance)
Definition: PerfectlyClearPro.h:591
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:589
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:574
PFCV3PARAM::iFinishTemp
int iFinishTemp
Temp correction amount.
Definition: PerfectlyClearPro.h:605
PFCAIFEATURE
PFCAIFEATURE
Flags defining type of model(s) to load with PFC_LoadAIEngine().
Definition: PerfectlyClearPro.h:1111
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:529
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:1237
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:637
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 Countouring strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:509
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 strength. Range 0.0 to 2.0 (Workbench displays 100x this value).
Definition: PerfectlyClearPro.h:460
PFCFBPARAM::iTeethLevel
int iTeethLevel
Teeth whitening strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:505
AGGRESSIVENESS_AGGRESSIVE
@ AGGRESSIVENESS_AGGRESSIVE
More aggressive in exposure correction.
Definition: PerfectlyClearPro.h:291
DP2PARAM::iContrast
int iContrast
-100 .. 100
Definition: PerfectlyClearPro.h:636
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
Spilt Color Warmth - Cool slider.
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:661
PFCCOREPARAM::iContrast
int iContrast
Depth strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:454
PFCV3PARAM::iOutLUTcontrast
int iOutLUTcontrast
Not visible in Workbench. Creative Filter or LOOKs contrast -100 .. 100.
Definition: PerfectlyClearPro.h:625
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
Perfectly Smooth Type: Subtle, Default, or Super Smooth.
Definition: PerfectlyClearPro.h:497
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:583
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:552
LIPSHARPENTYPE_FINE
@ LIPSHARPENTYPE_FINE
Fine touch of sharpening.
Definition: PerfectlyClearPro.h:333
PFCCOREPARAM::bUseFAE
BOOL bUseFAE
Face Aware Exposure. Recommended exposure will be calculated in favor of any human face detected from...
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
Dark Circle Removal strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:503
PFCFBPARAM::bEnlarge
BOOL bEnlarge
Eye Enlarge.
Definition: PerfectlyClearPro.h:498
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
SELECTIVECOLOR::r
int r
start of Hue range ramp, no correction is applied below this hue value
Definition: PerfectlyClearPro.h:433
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
PFC3DLutInfo::strength
unsigned char strength
LUT strength, 0 .. 100.
Definition: PerfectlyClearPro.h:559
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
Not visible in Workbench. Positive Contrast correction amount.
Definition: PerfectlyClearPro.h:615
PFCIMAGEPROFILE::FB_Status
PFCFB_STATUS FB_Status
Status code for Face Beautification pre-calc analysis.
Definition: PerfectlyClearPro.h:667
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:551
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:647
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
AI Skin tone correction level, set automatically.
Definition: PerfectlyClearPro.h:477
PFCCOREPARAM::fLightDiffusion
float fLightDiffusion
Light Diffusion strength. Range 0.0 to 1.0. (Workbench displays 100x this value)
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:492
PFCPARAM
Struct PFCPARAM the master structure of all processing parameters.
Definition: PerfectlyClearPro.h:644
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:646
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:648
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:1113
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:536
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:569
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
Fidelity strength. Range 0.0 to 1.0. (Workbench displays 100x this value)
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:576
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
Not visible in Workbench. Color Vibrancy amount.
Definition: PerfectlyClearPro.h:596
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
AI Color correction.
Definition: PerfectlyClearPro.h:621
PFCFBFACEINFO::leftEye
PFCPOINT leftEye
Point of left eye in detected face.
Definition: PerfectlyClearPro.h:212
DP2PARAM::iDeltaB
int iDeltaB
-100 .. 100
Definition: PerfectlyClearPro.h:634
PFCCOREMask::centerY
float centerY
Y of center.
Definition: PerfectlyClearPro.h:577
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...
SELECTIVECOLOR::a
int a
start of flat part of Hue range, 100% correction is applied between a and m
Definition: PerfectlyClearPro.h:434
PFCIMAGEPROFILE::pPfcParam
PFCINTERNAL pPfcParam
Internal use only.
Definition: PerfectlyClearPro.h:659
PFCPRESETID
PFCPRESETID
ENUM for presets support by this SDK.
Definition: PerfectlyClearPro.h:180
PFCV3PARAM::iFinishHighlights
int iFinishHighlights
Highlights correction amount.
Definition: PerfectlyClearPro.h:610
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
Creative Filter or LOOKs to apply.
Definition: PerfectlyClearPro.h:602
PFCCOREPARAM::eTintMode
TINTCORRECTION eTintMode
Not visible in Workbench. Sets the aggressiveness of Abnormal 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:619
MASK_BOTTOM
@ MASK_BOTTOM
linear from 1.0 on bottom
Definition: PerfectlyClearPro.h:568
PFCPARAM::v3
PFCV3PARAM v3
V3 Corrections.
Definition: PerfectlyClearPro.h:650
PFCV3PARAM::iFinishTint
int iFinishTint
Tint correction amount.
Definition: PerfectlyClearPro.h:606
PFCPARAM::core
PFCCOREPARAM core
Core corrections to apply.
Definition: PerfectlyClearPro.h:645
PFCFBPARAM::bLipSharpen
BOOL bLipSharpen
Not visible in Workbench. Set to TRUE to enable lip sharpening.
Definition: PerfectlyClearPro.h:525
PFCV3PARAM::iFinishContrast
int iFinishContrast
Contrast correction amount.
Definition: PerfectlyClearPro.h:614
PFC_NR_FULLRES_REQUIRED
@ PFC_NR_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:343
PFCCOREPARAM::iVibrancy
int iVibrancy
Color Restore strength. 0 still applies a correction. Very large values can produce extreme adjustmen...
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:578
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:563
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:658
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:581
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:632
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
Preset number to use for noise removal. See details below.
Definition: PerfectlyClearPro.h:537
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
Foliage Green LUT.
Definition: PerfectlyClearPro.h:600
SELECTIVECOLOR::H
int H
Color edit to apply: shift of Hue, -180 .. 180.
Definition: PerfectlyClearPro.h:437
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:662
LIPSHARPENTYPE_COARSE
@ LIPSHARPENTYPE_COARSE
Lip details are coarsely pronounced.
Definition: PerfectlyClearPro.h:335
PFCFBPARAM::iBlemish
int iBlemish
Blemish Removal strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:507
CALC_COMPOSITE
@ CALC_COMPOSITE
Calculate Composite Detection.
Definition: PerfectlyClearPro.h:174
PFCFBPARAM::bBlemish
BOOL bBlemish
Blemish Removal.
Definition: PerfectlyClearPro.h:506
PFCFBPARAM::iDeFlash
int iDeFlash
Shine Removal strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:511
PFCPROFILE
#define PFCPROFILE
Define.
Definition: PerfectlyClearPro.h:679
PFCIMAGEPROFILE::Status
int Status
Definition: PerfectlyClearPro.h:670
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
Not visible in Workbench. Set to TRUE to enable dynamic range correction. Workbench sets to true if E...
Definition: PerfectlyClearPro.h:469
PFC3DLutInfo
Struct.
Definition: PerfectlyClearPro.h:557
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
Exposure. Set to TRUE (recommended default) to enable Automatic Strength Selection....
Definition: PerfectlyClearPro.h:461
MASK_RADIAL
@ MASK_RADIAL
ellipse
Definition: PerfectlyClearPro.h:566
PFCFBPARAM::iCatchLightMode
int iCatchLightMode
Definition: PerfectlyClearPro.h:514
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
Blush.
Definition: PerfectlyClearPro.h:528
PFCNRPARAM
Structure encapsulating Noise Removal parameters.
Definition: PerfectlyClearPro.h:535
SELECTIVECOLOR::m
int m
end of flat part of Hue range
Definition: PerfectlyClearPro.h:435
PFCFaceRect::blinkLevelL
int blinkLevelL
Left eye Blink level.
Definition: PerfectlyClearPro.h:236
PFCCOREPARAM::iLocalContrast
int iLocalContrast
Super Contrast strength. 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:1235
PFCFBPARAM::eSkinToningType
SKINTONINGTYPE eSkinToningType
Foundation Color to apply.
Definition: PerfectlyClearPro.h:524
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:617
AI_SKINTONE
@ AI_SKINTONE
Loads skintone detection model. This is enabled automatically when using AI_SCENE_DETECTION.
Definition: PerfectlyClearPro.h:1115
PFCIMAGE
Struct defining an image to be used in PFC library.
Definition: PerfectlyClearPro.h:256
PFCFBPARAM::iSkinToning
int iSkinToning
Skin Tone strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:522
PFCCOREMask::radius
float radius
only for MASK_ROUNDRECT - corner radius, relative to image w.
Definition: PerfectlyClearPro.h:580
PFCCOREPARAM::iBlackEnhancement
int iBlackEnhancement
Not visible in Workbench. 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:608
PFCIMAGEPROFILE::RE_Status
PFCRE_STATUS RE_Status
Status code for Red Eye pre-calc analysis.
Definition: PerfectlyClearPro.h:668
PFCCOREPARAM::bVibrancy
BOOL bVibrancy
Color Restore enabled.
Definition: PerfectlyClearPro.h:449
PFC_NR_ERRBITMAP
@ PFC_NR_ERRBITMAP
4 Error reading image data
Definition: PerfectlyClearPro.h:345
PFCFBPARAM::iEnhanceLevel
int iEnhanceLevel
Eye Enhance strength Range 0 to 100.
Definition: PerfectlyClearPro.h:501
ENGINESTATUS_OK
@ ENGINESTATUS_OK
Engine created successfully.
Definition: PerfectlyClearPro.h:156
PFCCOREPARAM::fTintScale
float fTintScale
Not visible in Workbench. Scalar value of how much tint correction should be applied....
Definition: PerfectlyClearPro.h:447
PFC_SetParam
void PFC_SetParam(PFCPARAM &param, PFCPRESETID id=PRESET_IAUTO_PEOPLE)
Initialize a PFCPARAM structure.
PFCV3PARAM::lutInputFoliageBrown
PFC3DLutInfo lutInputFoliageBrown
Foliage Brown LUT.
Definition: PerfectlyClearPro.h:601
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:635
PFCCOREPARAM::eBiasMode
BIASMODE eBiasMode
Skin and Depth Bias. Recommended value is BIAS_AVERAGE_PREFERENCE, unless you are printing to an indi...
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:633
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
Not visible in Workbench. 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:595
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
Super Contrast.
Definition: PerfectlyClearPro.h:474
TINTCORRECT_DEFAULT
@ TINTCORRECT_DEFAULT
Moderate level of tint detection.
Definition: PerfectlyClearPro.h:267
PFCCOREPARAM::bHighlightPreservation
BOOL bHighlightPreservation
Not visible in Workbench. 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:623
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
Not visible in Workbench. Enables Abnormal Tint Removal. Recommended default is FALSE.
Definition: PerfectlyClearPro.h:445
PFCFBPARAM::bEyeCirc
BOOL bEyeCirc
Dark Circle Removal.
Definition: PerfectlyClearPro.h:502
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.
SELECTIVECOLOR::S
int S
Color edit to apply: shift of Sat, -100 .. 100.
Definition: PerfectlyClearPro.h:438
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:1112
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:618
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:611
PFCV3PARAM::lutInputCorrective
PFC3DLutInfo lutInputCorrective
Corrective Filter LUT.
Definition: PerfectlyClearPro.h:598
MASK_TOP
@ MASK_TOP
linear from 1.0 on top
Definition: PerfectlyClearPro.h:567
AGGRESSIVENESS_CONSERVATIVE
@ AGGRESSIVENESS_CONSERVATIVE
Less aggressive in exposure correction.
Definition: PerfectlyClearPro.h:289
PFCCOREPARAM::bEnabled
BOOL bEnabled
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:531
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:513
SKINMODE
SKINMODE
Enumeration defining modes in Perfect Smooth analysis.
Definition: PerfectlyClearPro.h:307
PFCCOREPARAM::fBiasScale
float fBiasScale
Skin and Depth Bias. Range 0.0 to 1.0. (Workbench displays 100x this value)
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:579
PFCFBPARAM::bEnhance
BOOL bEnhance
Eye Enhance.
Definition: PerfectlyClearPro.h:500
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:607
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:666
PFCFBPARAM::iSmoothLevel
int iSmoothLevel
Perfectly Smooth strength. Range 0 to 100.
Definition: PerfectlyClearPro.h:495
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:565
BGMASKPARAM
Struct defining parameters for building BG mask.
Definition: PerfectlyClearPro.h:685
PFCV3PARAM::iPreprocessEV
int iPreprocessEV
Not visible in Workbench. EV correction amount (Image Ambulance)
Definition: PerfectlyClearPro.h:592
PFCFBPARAM::bEnabled
BOOL bEnabled
Enable entire face beautification.
Definition: PerfectlyClearPro.h:493
DP2PARAM::bEnable
BOOL bEnable
enables overall correction
Definition: PerfectlyClearPro.h:640
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:584
PFCCOREPARAM::eDCFMode
DCFMODE eDCFMode
Fidelity Modes (Standard or Vivid).
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
Skin Tone mode: Face or all detected skin.
Definition: PerfectlyClearPro.h:523
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:663
DP2PARAM::bAuto
BOOL bAuto
if true use ai-detected params instead
Definition: PerfectlyClearPro.h:639
SELECTIVECOLOR::L
int L
Color edit to apply: shift of Lum, -100 .. 100.
Definition: PerfectlyClearPro.h:439
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
Not visible in Workbench. Creative Filter or LOOKs saturation -100 .. 100.
Definition: PerfectlyClearPro.h:626
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:631
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 - not intended for direct use.
Definition: PerfectlyClearPro.h:630
PFCCOREPARAM::iMinStrength
int iMinStrength
Exposure Min recommendation.
Definition: PerfectlyClearPro.h:475
PFCV3PARAM::lutInputSky
PFC3DLutInfo lutInputSky
Sky Enhance LUT.
Definition: PerfectlyClearPro.h:599
PFCCOREPARAM::eAggressiveness
AGGRESSIVENESS eAggressiveness
Exposure Recommendation agressiveness. The desired level of lighting for Automatic Strength Selection...
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
AI Color correction strength 0 .. 100.
Definition: PerfectlyClearPro.h:622
PFC_FB_WARNING
@ PFC_FB_WARNING
2 Warning: face not detected
Definition: PerfectlyClearPro.h:367
PFCCOREPARAM::bContrast
BOOL bContrast
Depth enabled.
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
Spilt Color Warmth - Warm slider.
Definition: PerfectlyClearPro.h:481
PFCFBPARAM::bCatchLight
BOOL bCatchLight
Catchlights.
Definition: PerfectlyClearPro.h:512
SELECTIVECOLOR::p
int p
end of Hue range ramp, no correction is applied above this hue value
Definition: PerfectlyClearPro.h:436
PFCFBPARAM::bTeeth
BOOL bTeeth
Teeth whitening.
Definition: PerfectlyClearPro.h:504
PFCFBPARAM::bSmooth
BOOL bSmooth
Perfectly Smooth enabled.
Definition: PerfectlyClearPro.h:494
PFC_NR_NOTENABLED
@ PFC_NR_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:342
PFCV3PARAM::iFinishShadows
int iFinishShadows
Shadows correction amount.
Definition: PerfectlyClearPro.h:609
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
Shine Removal.
Definition: PerfectlyClearPro.h:510
PFCCOREPARAM::iMaxStrength
int iMaxStrength
Exposure Max recommnedation. Use this value to limit the maximum Exposure to be applied on the Automa...
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:564
PFCCOREPARAM::iSkintoneAutoStrength
int iSkintoneAutoStrength
AI Skin Tone correction strength Range 0 to 100.
Definition: PerfectlyClearPro.h:480
PFCFBPARAM::iEnlargeLevel
int iEnlargeLevel
Eye Enlarge strength Range 0 to 100.
Definition: PerfectlyClearPro.h:499
PFCIMAGEPROFILE::pNoiseParam
PFCINTERNAL pNoiseParam
Internal use only.
Definition: PerfectlyClearPro.h:660
PFCCOREPARAM::bDCF
BOOL bDCF
Fidelity.
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
Sharpening.
Definition: PerfectlyClearPro.h:459
PFCV3PARAM::iDarkSkin
int iDarkSkin
Dark Skin output LUT amount - for use only with 2-level Skin Tone detetion.
Definition: PerfectlyClearPro.h:597
APPLY_WASM_EXPIRED_CERTIFICATE
@ APPLY_WASM_EXPIRED_CERTIFICATE
-10 WASM certificate has expired
Definition: PerfectlyClearPro.h:403
PFCCOREPARAM::fInfrared
float fInfrared
Infrared Removal strength. Range 0.0 to 1.0. (Workbench displays 100x this value).
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
Perfectly Smooth mode: Face only.
Definition: PerfectlyClearPro.h:496
PFCV3PARAM::iFinishVibrancy
int iFinishVibrancy
Vibrancy correction amount.
Definition: PerfectlyClearPro.h:613
PFCCOREPARAM::iSkintoneType
int iSkintoneType
AI Skin Tone level detected, 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:1114
DP2PARAM::mode
int mode
reserved unused
Definition: PerfectlyClearPro.h:638
PFCCOREPARAM::iStrength
int iStrength
Exposure strength. If Automatic Strength Selection (bUseAutomaticStrengthSelection) 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:547
PFCFBFACEINFO
Structure defining face area detected from the SFB library.
Definition: PerfectlyClearPro.h:211
PFCFBPARAM::eLipSharpenType
LIPSHARPENTYPE eLipSharpenType
Not visible in Workbench. See definition of LIPSHARPENTYPE.
Definition: PerfectlyClearPro.h:527
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
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_MONOLITH, PFCENGINE *pEngineAI=NULL)
Perform initial analysis on images.
CALC_CARTOON_DETECTOR
@ CALC_CARTOON_DETECTOR
Calculate legacy cartoon detector.
Definition: PerfectlyClearPro.h:171
PFCCOREPARAM::bInfrared
BOOL bInfrared
Infrared Removal.
Definition: PerfectlyClearPro.h:465
PFCCOREPARAM::eContrastMode
CONTRASTMODE eContrastMode
Select Depth mode, High Contrast or High Definition.
Definition: PerfectlyClearPro.h:453
AI_COLOR
@ AI_COLOR
Loads AI White Balance color corrections model, requiring the file aicolor.pnn
Definition: PerfectlyClearPro.h:1116
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
Not visible in Workbench. Lip sharpening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:526
PFCCOREMask::angle
float angle
CW.
Definition: PerfectlyClearPro.h:582
PFCFBPARAM::colorSkinToning
unsigned int colorSkinToning
Skin Toning color AARRGGBB default 0xFFF5BCA9 ({245, 188, 169})
Definition: PerfectlyClearPro.h:530