Perfectly Clear SDK Documentation  10.0.0.495
PerfectlyClearPro.h
Go to the documentation of this file.
1 
3 #ifndef __PERFECTLYCLEARPRO_H__
4 #define __PERFECTLYCLEARPRO_H__
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 #ifdef _LINUX
10 #define BOOL int
11 #define ULONG unsigned long
12 #define UINT unsigned int
13 #define TRUE 1
14 #define FALSE 0
15 //#define NULL 0
16 #endif
17 
19 #define NRRETCODE(x) (x & 0x000000FF)
20 #define CORERETCODE(x) ((x >> 8) & 0x000000FF)
22 #define FBRETCODE(x) ((x >> 16) & 0x000000FF)
24 #define RERETCODE(x) ((x >> 24) & 0x000000FF)
26 #define PFCINTERNAL void*
28 
32 typedef BOOL (*PFC_PROGRESS)(int iPercent);
33 
35 typedef enum {
149 
151 typedef enum {
156 
158 typedef enum {
159  CALC_CORE = 1,
160  CALC_NR = 2,
161  CALC_FB = 4,
162  CALC_RE = 8,
163  CALC_ALL = 15,
165  CALC_NOFAE = 32,
167  CALC_CARTOON_DETECTOR = 128,
168  CALC_SHARP = 256
169 } PFCFEATURE;
170 
172 typedef enum {
183 
185 typedef struct {
186  int x;
187  int y;
188 }
189 PFCPOINT;
190 
192 typedef struct {
193  int left;
194  int top;
195  int width;
196  int height;
197 }
198 PFCRECT;
199 
201 typedef struct {
205 }
207 
217 typedef struct PFCFaceRect{
224  int angle;
231  int yawAngle;
232  int FAE[3];
235  struct PFCFaceRect *pNext;
237 typedef PFCFACERECT* LPPFCFACERECT;
238 
240 typedef struct {
243 } PFCENGINE;
244 
246 typedef struct {
247  int width;
248  int height;
249  int stride;
251  unsigned char *data;
252 } PFCIMAGE;
253 
255 typedef enum {
260 }
262 
264 typedef enum {
267 }
269 
271 typedef enum {
273  DCF_VIVID
274 }
275 DCFMODE;
276 
278 typedef enum {
282 }
284 
286 typedef enum {
292  BIAS_AUTO
293 }
294 BIASMODE;
295 
297 typedef enum {
300 }
301 SKINMODE;
302 
304 typedef enum {
308 }
310 
312 typedef enum {
318 }
320 
322 typedef enum {
326 }
328 
330 typedef enum {
340 
342 typedef enum {
352 
354 typedef enum {
367 
369 typedef enum {
380 
382 typedef enum {
398 
401 typedef enum {
404  PFC_REJECT_CLIPART = 2
406 
408 typedef struct {
409  BOOL bEnabled;
412  float fTintScale;
414  BOOL bVibrancy;
415  int iVibrancy;
416  int iStrength;
417  BOOL bContrast;
419  int iContrast;
421  float fBiasScale;
424  BOOL bSharpen;
427  BOOL bUseFAE;
430  BOOL bInfrared;
431  float fInfrared;
435  BOOL bDCF;
437  float fDCF;
441 } PFCCOREPARAM;
442 
444 typedef struct {
445  BOOL bEnabled;
446  BOOL bSmooth;
450  BOOL bEnlarge;
452  BOOL bEnhance;
454  BOOL bEyeCirc;
455  int iEyeCirc;
456  BOOL bTeeth;
458  BOOL bBlemish;
459  int iBlemish;
460  BOOL bSlim;
461  int iSlim;
462  BOOL bDeFlash;
463  int iDeFlash;
464  BOOL bCatchLight;
467  BOOL bSkinToning;
477  BOOL bLipSharpen;
480  BOOL bBlush;
481  int iBlush;
482  unsigned int colorSkinToning;
483  unsigned int colorBlush;
484 } PFCFBPARAM;
485 
487 typedef struct {
488  BOOL bEnabled;
489  int iPreset;
490  int iStrengthOffset;
499 } PFCNRPARAM;
500 
502 typedef struct {
503  BOOL bEnabled;
504 } PFCREPARAM;
505 
506 #define PFC3DLutGuidLength 32
507 typedef struct {
509  char guid[PFC3DLutGuidLength + 1];
510  unsigned char strength;
511 } PFC3DLutInfo;
512 
521 };
522 
524 typedef struct PFCCOREMask
525 {
526  PFCCORE_MASK_TYPE type;
527  float centerX;
528  float centerY;
529  float width;
530  float height;
531  float radius;
532  float feather;
533  float angle;
534  float transparency;
535  bool invert;
536  // if two layers (top and bottom) - swap params between layers instead.
538 
540 typedef struct {
541  // Image Ambulance
544 
545  // built-in 3D luts
548  int iDarkSkin;
553  // custom output 3D Lut
555 
556  // Finishing
568 
569  int iDeltaR;
570  int iDeltaG;
571  int iDeltaB;
572 
573  BOOL bDynamic;
574  int iDynamic;
576 } PFCV3PARAM;
577 
579 typedef struct {
584 #ifndef NO_V3PARAM
586  PFCV3PARAM layer[3];
587  PFCCOREMask mask[3];
588 #endif
589 } PFCPARAM;
590 
592 typedef struct {
598 
603 
604  int Status;
613 #define PFCPROFILE PFCIMAGEPROFILE*
614 
616 #define PFCBGPROFILE PFCINTERNAL
617 
619 typedef struct {
620  int iRawMaskMode; // 7
621  int iBG; // 0..100
622  int iFG; // 0 .. 100
623  int iTolerance; // allow target I variation (similar to +- 8 logic)
624  int iSobel; // Sobel binarization threshold, 32
625  int iBlur;
626  bool bImfill; // remove black holes
627  bool bAreaopen; // do areaopen in black subject (remove white)
628  int iAreaopen; // size param in 1/10000 of w*h
629  bool bAreaopenBG; // do areaopen in white BG (rem small blacks)
630  int iAreaopenBG;
631  int iConnectivity; // 8 or 4
632  bool bGrad; // add grad filter
633  bool bGradAuto; // fixed based on detected face bottom,
634  int iGradBottom; // rel bottom
635  int iGradHeight; // rel spread
636  float avR; // calculated average BG RGB
637  float avG;
638  float avB;
639 }
641 
642 
646 
679 int PFC_SetProtectionPath(const char*utf8FolderPath, const char* liceseCode = NULL);
680 
689 
709 int PFC_ReadPresets(PFCPARAM &param, char *filename);
710 
742 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);
743 
747 
748 
750 
754 
762 
790 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);
791 
792 
806 PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100, void* pBGProfile=NULL);
807 
815 
824 
828 
834 void PFC_SetAddonPath(const char *utf8AddonPath);
835 
839 
847 
855 int PFC_FBFaceCount(PFCPROFILE pImageProfile);
856 
864 int PFC_FAEFaceCount(PFCIMAGEPROFILE *pImageProfile);
888 bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index);
889 
908 
917 bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset);
918 
929 bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod);
930 
946 int PFC_AutoCorrectPreset(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPRESETID id=PRESET_IAUTO_21, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL, PFCENGINE* pEngineAI=NULL);
947 
948 
968 int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s);
969 
977 void PFC_SetSingleThreadedEngine(PFCENGINE* p, bool bSingleThreaded);
978 
984 void PFC_GetVersion(char* buf, int *len, bool bFormatted = false);
985 
991 PFCAPPLYSTATUS PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst);
992 
998 PFCAPPLYSTATUS PFC_TransposeExif(PFCIMAGE *pImageSrc, int iEXIFOrientation);
999 
1006 void PFC_ApplyStrengthToParam(PFCPARAM &param, int strength);
1007 
1016 int PFC_WasmSetCertificate(PFCENGINE* pEngine, const char *clientAPIKey, const char *certificate);
1017 
1021 void PFC_TrackSave(const char *clientAPIKey);
1022 
1029 
1031 typedef enum {
1033  AI_CORRECTIONS = 2
1035 
1043 int PFC_LoadAIEngine(PFCENGINE* pEngineAI, unsigned int aifeatures, const char *binPath);
1044 
1056 int PFC_LoadScenePresets(PFCENGINE* pEngine, const char *filePath, int groupUUID = 0, int *arrProfileUUID = NULL, int arrProfileUUIDLen = 0);
1057 
1066 int PFC_ReadScenePreset(PFCPARAM &param, PFCENGINE *pEngineAI, int scene);
1067 
1075 int PFC_GetScene(PFCPROFILE precalc, int *version);
1076 
1077 
1087 bool PFC_GetSceneDetectionEngineInfo(PFCENGINE* pEngine,int *groupUUID, int *arrProfileUUID, int *arrProfileUUIDLen);
1088 
1091 typedef struct {
1092  char name[250];
1095 
1112 bool PFC_GetSceneDescription(PFCENGINE* pEngine, int index, PFCSCENEDESCRIPTION* sceneDescription);
1113 
1114 
1122 void PFC_GetLastSceneProperties(PFCENGINE* pEngine, int* lastSceneLabel, int* lastSceneConfidence = NULL);
1123 
1125 
1126 #ifdef EYEQINTERNAL
1127 #include "../Header-internal/PerfectlyClearPro-internal.h"
1128 #endif
1129 
1130 #ifdef __cplusplus
1131 }
1132 #endif
1133 #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:228
PFCV3PARAM::iFinishSaturation
int iFinishSaturation
Saturation correction amount.
Definition: PerfectlyClearPro.h:564
TINTCORRECT_STRONGEST
@ TINTCORRECT_STRONGEST
Highest sensitivity level of tint detection.
Definition: PerfectlyClearPro.h:259
PFCIMAGEPROFILE::CORE_Status
PFCCORE_STATUS CORE_Status
Status code for CORE pre-calc analysis.
Definition: PerfectlyClearPro.h:599
APPLY_ERROR_PROFILE_MISSING
@ APPLY_ERROR_PROFILE_MISSING
-1 Pointer pProfile is NULL
Definition: PerfectlyClearPro.h:384
PFCFBPARAM::bSlim
BOOL bSlim
Set to TRUE to enable face slimming.
Definition: PerfectlyClearPro.h:460
PFCCOREPARAM::bLightDiffusion
BOOL bLightDiffusion
Set to TRUE to enable light diffusion during DCF correction.
Definition: PerfectlyClearPro.h:432
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:348
PFC_RE_FULLRES_REQUIRED
@ PFC_RE_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:372
PFCV3PARAM::bPreprocessEV
bool bPreprocessEV
Enable EV correction (Image Ambulance)
Definition: PerfectlyClearPro.h:542
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 to get ar...
PFCV3PARAM
Struct describing V3 parameters.
Definition: PerfectlyClearPro.h:540
PFC_RE_CANCELLED
@ PFC_RE_CANCELLED
7 Process cancelled
Definition: PerfectlyClearPro.h:377
PFCCOREMask
Struct describing mask for grad filter, all coordinates are relative (Y/height, X/width) in final cro...
Definition: PerfectlyClearPro.h:525
PFCV3PARAM::iFinishTemp
int iFinishTemp
Temp correction amount.
Definition: PerfectlyClearPro.h:557
PFCAIFEATURE
PFCAIFEATURE
Flags defining type of model(s) to load with PFC_LoadAIEngine().
Definition: PerfectlyClearPro.h:1031
TINTCORRECT_AGGRESSIVE
@ TINTCORRECT_AGGRESSIVE
Aggressive detection of tint.
Definition: PerfectlyClearPro.h:256
PFCFBPARAM::iBlush
int iBlush
Blush level. Range 0 to 100.
Definition: PerfectlyClearPro.h:481
ENGINESTATUS_FB_LIBRARY_LOAD_FAIL
@ ENGINESTATUS_FB_LIBRARY_LOAD_FAIL
If set, the library is unable to load the SFB library.
Definition: PerfectlyClearPro.h:153
PFCSCENEDESCRIPTION::profileUUID
int profileUUID
utf8-encoded name
Definition: PerfectlyClearPro.h:1093
CALC_FB
@ CALC_FB
Calculates for Face Beautification.
Definition: PerfectlyClearPro.h:161
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:265
PRESET_INTELLIGENTAUTO
@ PRESET_INTELLIGENTAUTO
Intelligent Auto - this has been superceded by iAuto 2019 and is here for backwards compatability....
Definition: PerfectlyClearPro.h:177
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:461
CALC_NOFAE
@ CALC_NOFAE
Skip Face Aware Exposure pre-calculations during Core pre-calculations.
Definition: PerfectlyClearPro.h:165
PFC_NR_ERRSETTINGS
@ PFC_NR_ERRSETTINGS
5 Invalid parameter
Definition: PerfectlyClearPro.h:336
PFC_PixelFormat64bppABGR
@ PFC_PixelFormat64bppABGR
Definition: PerfectlyClearPro.h:147
PFCCOREPARAM::fSharpenScale
float fSharpenScale
Sharpening intensity. This value controls how much sharpening to be applied. Range 0....
Definition: PerfectlyClearPro.h:425
PFCFBPARAM::iTeethLevel
int iTeethLevel
Teeth whitening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:457
AGGRESSIVENESS_AGGRESSIVE
@ AGGRESSIVENESS_AGGRESSIVE
More aggressive in exposure correction.
Definition: PerfectlyClearPro.h:281
PFCRECT::height
int height
height of this rect.
Definition: PerfectlyClearPro.h:196
PFC_CORE_NOTENABLED
@ PFC_CORE_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:344
PFC_GetFaceInfo
bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index)
Utility function to query geometry of detected faces.
APPLY_SUCCESS
@ APPLY_SUCCESS
0 Success.
Definition: PerfectlyClearPro.h:383
PFC_ReleaseAddonPath
void PFC_ReleaseAddonPath()
Releases resources from PFC_SetAddonPath function call.
PFCIMAGEPROFILE::pRedEyeParam
PFCINTERNAL pRedEyeParam
Internal use only.
Definition: PerfectlyClearPro.h:595
PFCCOREPARAM::iContrast
int iContrast
Intensity of contrast or depth. Range 0 to 100.
Definition: PerfectlyClearPro.h:419
PFC_FB_SUCCESS
@ PFC_FB_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:355
PFCFBPARAM::eSmoothType
SKINSMOOTHTYPE eSmoothType
See enum definition of SKINSMOOTHTYPE.
Definition: PerfectlyClearPro.h:449
APPLY_BADFORMAT
@ APPLY_BADFORMAT
-5 Pixel format not supported
Definition: PerfectlyClearPro.h:388
PFCCOREMask::transparency
float transparency
overall transparency applied to the whole mask (strength 100 means transparency 0....
Definition: PerfectlyClearPro.h:534
PFCREPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable red eye removal.
Definition: PerfectlyClearPro.h:503
LIPSHARPENTYPE_FINE
@ LIPSHARPENTYPE_FINE
Fine touch of sharpening.
Definition: PerfectlyClearPro.h:323
PFCCOREPARAM::bUseFAE
BOOL bUseFAE
Set to TRUE (recommended) to enable Face Aware Exposure selection. Recommended exposure will be calcu...
Definition: PerfectlyClearPro.h:427
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:241
PFCFaceRect::ptEyeL
PFCPOINT ptEyeL
Specifies the x,y coordinates of the left eye, in fixed-point arithmetics (10 bit precision).
Definition: PerfectlyClearPro.h:222
PFCFBPARAM::iEyeCirc
int iEyeCirc
Eye circle removal level. Range 0 to 100.
Definition: PerfectlyClearPro.h:455
PFCFBPARAM::bEnlarge
BOOL bEnlarge
Set to TRUE to enable eye enlargement.
Definition: PerfectlyClearPro.h:450
PFCRE_STATUS
PFCRE_STATUS
Enumeration defining status of Red Eye pre-calculation.
Definition: PerfectlyClearPro.h:369
PFC_CORE_CANCELLED
@ PFC_CORE_CANCELLED
2 Process cancelled
Definition: PerfectlyClearPro.h:345
PRESET_BEAUTIFYPLUS
@ PRESET_BEAUTIFYPLUS
Beautify Plus provides stronger beautification corrections. This is in the 'Perfectly Clear Essential...
Definition: PerfectlyClearPro.h:174
PRESET_DETAILS
@ PRESET_DETAILS
iAuto Details - legacy preset for backwards compability. This is in the 'Athentech Legacy' group in E...
Definition: PerfectlyClearPro.h:175
PFC_FB_NOT_AVAILABLE
@ PFC_FB_NOT_AVAILABLE
10 Face beautification feature not available
Definition: PerfectlyClearPro.h:365
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:203
APPLY_WASM_INVALID_CERTIFICATE
@ APPLY_WASM_INVALID_CERTIFICATE
-9 WASM certificate invalid or not matching APIKEY and domain
Definition: PerfectlyClearPro.h:392
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:305
PFCV3PARAM::iFinishPositiveContrast
int iFinishPositiveContrast
Positive Contrast correction amount.
Definition: PerfectlyClearPro.h:567
PFCIMAGEPROFILE::FB_Status
PFCFB_STATUS FB_Status
Status code for Face Beautification pre-calc analysis.
Definition: PerfectlyClearPro.h:601
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:347
APPLY_WASM_INVALID_APIKEY
@ APPLY_WASM_INVALID_APIKEY
-8 Wrong APIKEY for WASM certificate
Definition: PerfectlyClearPro.h:391
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:154
PFCFaceRect::rcMouth
PFCRECT rcMouth
Specifies the bounding rectangle of the mouth.
Definition: PerfectlyClearPro.h:221
SKINTONINGTYPE_WHITE
@ SKINTONINGTYPE_WHITE
Whitens (bleaches) face. Recommended mainly for darker skin.
Definition: PerfectlyClearPro.h:313
PFCREPARAM
Structure encapsulating Red Eye Correction parameters.
Definition: PerfectlyClearPro.h:502
SKINSMOOTHTYPE_DEFAULT
@ SKINSMOOTHTYPE_DEFAULT
This type of correction provides a more uniform appearance to the complexion. It combines the natural...
Definition: PerfectlyClearPro.h:306
PFC_PixelFormat32bppARGB
@ PFC_PixelFormat32bppARGB
Definition: PerfectlyClearPro.h:119
PFC_FB_NO_CORRECTION
@ PFC_FB_NO_CORRECTION
8 No correction occur during process
Definition: PerfectlyClearPro.h:363
PFCCOREPARAM
Structure encapsulating the CORE processing parameters.
Definition: PerfectlyClearPro.h:408
PFCFaceRect::widthImage
int widthImage
image width
Definition: PerfectlyClearPro.h:233
PFCPARAM::nr
PFCNRPARAM nr
Noise reduction corrections.
Definition: PerfectlyClearPro.h:582
PFCINTERNAL
#define PFCINTERNAL
Internal used pointer type.
Definition: PerfectlyClearPro.h:27
PFCFaceRect::ptEyeR
PFCPOINT ptEyeR
Specifies the x,y coordinates of the right eye, in fixed-point arithmetics (10 bit precision).
Definition: PerfectlyClearPro.h:223
PFCCOREPARAM::fLightDiffusion
float fLightDiffusion
Scale value to control intensity of light diffusion correction.
Definition: PerfectlyClearPro.h:433
PFC_PROGRESS
BOOL(* PFC_PROGRESS)(int iPercent)
Definition: PerfectlyClearPro.h:32
PFCRECT::width
int width
width of this rect.
Definition: PerfectlyClearPro.h:195
PFCFBPARAM
Structure encapsulating Face Beautification parameters.
Definition: PerfectlyClearPro.h:444
PFCPARAM
Struct PFCPARAM the master structure of all processing parameters.
Definition: PerfectlyClearPro.h:579
PFC_RE_INVALID_PARAMETER
@ PFC_RE_INVALID_PARAMETER
5 Invalid parameter
Definition: PerfectlyClearPro.h:375
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:581
PFC_RE_NOT_FOUND
@ PFC_RE_NOT_FOUND
3 Red eye not found
Definition: PerfectlyClearPro.h:373
PFCPARAM::re
PFCREPARAM re
Red Eye Removal.
Definition: PerfectlyClearPro.h:583
PFCRECT::top
int top
y in point corrdinate of this rect.
Definition: PerfectlyClearPro.h:194
AI_CORRECTIONS
@ AI_CORRECTIONS
Loads AI-basedd corrections model.
Definition: PerfectlyClearPro.h:1033
PFC_AutoCorrectPreset
int PFC_AutoCorrectPreset(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPRESETID id=PRESET_IAUTO_21, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL, PFCENGINE *pEngineAI=NULL)
Single function to perform Perfectly Clear corrections.
PFCFBFACEINFO::face
PFCRECT face
Bounding rectangle of detected face.
Definition: PerfectlyClearPro.h:204
PFCNRPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable noise removal.
Definition: PerfectlyClearPro.h:488
PFCCORE_STATUS
PFCCORE_STATUS
Enumeration defining status of Core pre-calculation.
Definition: PerfectlyClearPro.h:342
MASK_ROUNDRECT
@ MASK_ROUNDRECT
rounded rect
Definition: PerfectlyClearPro.h:520
SKINSMOOTHTYPE
SKINSMOOTHTYPE
Enumeration defining types of Skin Smoothing correction.
Definition: PerfectlyClearPro.h:304
BIASMODE
BIASMODE
Enumeration defining BIAS analysis mode.
Definition: PerfectlyClearPro.h:286
PFCIMAGE::height
int height
Pixel height of image.
Definition: PerfectlyClearPro.h:248
PFCCOREPARAM::fDCF
float fDCF
Scale value to control intensity of Digital Color Fidelity correction. Range 0.0 to 1....
Definition: PerfectlyClearPro.h:437
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:181
PFCCOREMask::centerX
float centerX
X of center.
Definition: PerfectlyClearPro.h:527
SKINMODE_BODY
@ SKINMODE_BODY
Apply correction on most skin regions regardless they are linked with a face or not.
Definition: PerfectlyClearPro.h:299
CALC_ALL
@ CALC_ALL
Calculates for all of the above.
Definition: PerfectlyClearPro.h:163
PFCV3PARAM::iColorVibrancy
int iColorVibrancy
Color Vibrancy amount.
Definition: PerfectlyClearPro.h:547
PFCV3PARAM::bDynamic
BOOL bDynamic
Reserved should be 0.
Definition: PerfectlyClearPro.h:573
PFCFBFACEINFO::leftEye
PFCPOINT leftEye
Point of left eye in detected face.
Definition: PerfectlyClearPro.h:202
PFCCOREMask::centerY
float centerY
Y of center.
Definition: PerfectlyClearPro.h:528
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:593
PFCPRESETID
PFCPRESETID
ENUM for presets support by this SDK.
Definition: PerfectlyClearPro.h:172
PFCV3PARAM::iFinishHighlights
int iFinishHighlights
Highlights correction amount.
Definition: PerfectlyClearPro.h:562
PFCV3PARAM::lutOutput
PFC3DLutInfo lutOutput
LUT data to apply.
Definition: PerfectlyClearPro.h:554
PFCCOREPARAM::eTintMode
TINTCORRECTION eTintMode
ENUM value defined in TINTCORRECTION. It sets the aggressiveness of Tint Removal.
Definition: PerfectlyClearPro.h:411
CALC_RE
@ CALC_RE
Calculates for Red Eye Removal.
Definition: PerfectlyClearPro.h:162
APPLY_WASM_CERTIFICATE_WRONG_VERSION
@ APPLY_WASM_CERTIFICATE_WRONG_VERSION
-11 Wrong format version of WASM certificate
Definition: PerfectlyClearPro.h:394
PFC_NR_CANCELLED
@ PFC_NR_CANCELLED
3 Process cancelled
Definition: PerfectlyClearPro.h:334
PFCIMAGE::stride
int stride
Byte width of each scanline.
Definition: PerfectlyClearPro.h:249
PFCV3PARAM::iDeltaB
int iDeltaB
Delta B correction amount.
Definition: PerfectlyClearPro.h:571
MASK_BOTTOM
@ MASK_BOTTOM
linear from 1.0 on bottom
Definition: PerfectlyClearPro.h:519
PFCPARAM::v3
PFCV3PARAM v3
V3 Corrections.
Definition: PerfectlyClearPro.h:585
PFCV3PARAM::iFinishTint
int iFinishTint
Tint correction amount.
Definition: PerfectlyClearPro.h:558
PFCPARAM::core
PFCCOREPARAM core
Core corrections to apply.
Definition: PerfectlyClearPro.h:580
PFCFBPARAM::bLipSharpen
BOOL bLipSharpen
Set to TRUE to enable lip sharpening.
Definition: PerfectlyClearPro.h:477
PFCV3PARAM::iFinishContrast
int iFinishContrast
Contrast correction amount.
Definition: PerfectlyClearPro.h:566
PFC_NR_FULLRES_REQUIRED
@ PFC_NR_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:333
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:415
PFCAPPLYSTATUS
PFCAPPLYSTATUS
Enumeration defining return code from the Apply() function.
Definition: PerfectlyClearPro.h:382
PFCCOREMask::width
float width
radial/rounded: w of bounding rect, linear: ignored
Definition: PerfectlyClearPro.h:529
PFCFaceRect::blinkLevelR
int blinkLevelR
Right eye Blink level.
Definition: PerfectlyClearPro.h:227
PFCCORE_MASK_TYPE
PFCCORE_MASK_TYPE
Enumeration describing mapping of PFCMask and PFC_MASK_TYPE with 'PFC' -> 'PFCCORE'.
Definition: PerfectlyClearPro.h:514
PFC_CORE_NOSOURCEIMAGE
@ PFC_CORE_NOSOURCEIMAGE
3 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:346
PFCIMAGEPROFILE
Struct defining an image profile as calculated from PFC_Calc() function.
Definition: PerfectlyClearPro.h:592
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:224
PFCCOREMask::feather
float feather
relative length of gradient, from where it starts (1.0) to where it is 0.0,
Definition: PerfectlyClearPro.h:532
PFC_RE_NOTENABLED
@ PFC_RE_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:371
PFCRECT
Struct defining a rectangle.
Definition: PerfectlyClearPro.h:192
PFC_NR_SUCCESS
@ PFC_NR_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:331
PFCFaceRect::blinkLevel
int blinkLevel
Indicates the presence of a blink.
Definition: PerfectlyClearPro.h:225
PFCNRPARAM::iPreset
int iPreset
Definition: PerfectlyClearPro.h:489
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:403
PFCV3PARAM::lutInputFoliageGreen
PFC3DLutInfo lutInputFoliageGreen
LUT data to apply.
Definition: PerfectlyClearPro.h:551
PFC_PixelFormat24bppRGB
@ PFC_PixelFormat24bppRGB
Definition: PerfectlyClearPro.h:48
PRESET_IAUTO_2019
@ PRESET_IAUTO_2019
iAuto for even better image corrections
Definition: PerfectlyClearPro.h:178
APPLY_CANCELLED
@ APPLY_CANCELLED
-3 Operation cancelled
Definition: PerfectlyClearPro.h:386
PFCIMAGEPROFILE::pSFBParam
PFCINTERNAL pSFBParam
Internal use only.
Definition: PerfectlyClearPro.h:596
LIPSHARPENTYPE_COARSE
@ LIPSHARPENTYPE_COARSE
Lip details are coarsely pronounced.
Definition: PerfectlyClearPro.h:325
PFCFBPARAM::iBlemish
int iBlemish
Blemish removal level. Range 0 to 100.
Definition: PerfectlyClearPro.h:459
PFCFBPARAM::bBlemish
BOOL bBlemish
Set to TRUE to enable blemish removal.
Definition: PerfectlyClearPro.h:458
PFCFBPARAM::iDeFlash
int iDeFlash
Deflash level. Range 0 to 100.
Definition: PerfectlyClearPro.h:463
PFCPROFILE
#define PFCPROFILE
Define.
Definition: PerfectlyClearPro.h:613
PFCIMAGEPROFILE::Status
int Status
Definition: PerfectlyClearPro.h:604
LIPSHARPENTYPE
LIPSHARPENTYPE
Enumeration defining Lip Sharpening mode.
Definition: PerfectlyClearPro.h:322
PFCCOREPARAM::bDynamicRange
BOOL bDynamicRange
Set to TRUE to enable dynamic range correction.
Definition: PerfectlyClearPro.h:434
PFC3DLutInfo
Struct.
Definition: PerfectlyClearPro.h:508
PFCIMAGE::width
int width
Pixel width of image.
Definition: PerfectlyClearPro.h:247
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:343
PFC_NR_NOTFOUND
@ PFC_NR_NOTFOUND
7 Noise not found
Definition: PerfectlyClearPro.h:338
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:220
PFCIMAGE::data
unsigned char * data
Pointer pointing to the first byte of image data buffer.
Definition: PerfectlyClearPro.h:251
PFCRECT::left
int left
x in point coordinate of this rect.
Definition: PerfectlyClearPro.h:193
PFCCOREPARAM::bUseAutomaticStrengthSelection
BOOL bUseAutomaticStrengthSelection
Set to TRUE (recommended default) to enable Automatic Strength Selection. Perfectly Clear will determ...
Definition: PerfectlyClearPro.h:426
MASK_RADIAL
@ MASK_RADIAL
ellipse
Definition: PerfectlyClearPro.h:517
PFCFBPARAM::iCatchLightMode
int iCatchLightMode
Definition: PerfectlyClearPro.h:466
PFCFBPARAM::bBlush
BOOL bBlush
Set to TRUE to add blush.
Definition: PerfectlyClearPro.h:480
PFCNRPARAM
Structure encapsulating Noise Removal parameters.
Definition: PerfectlyClearPro.h:487
PFCFaceRect::blinkLevelL
int blinkLevelL
Left eye Blink level.
Definition: PerfectlyClearPro.h:226
PFCCOREPARAM::iLocalContrast
int iLocalContrast
Amount of Local Contrast to apply. Range 0 to 100.
Definition: PerfectlyClearPro.h:438
SKINTONINGTYPE
SKINTONINGTYPE
Enumeration defining type of Skin Toning correction.
Definition: PerfectlyClearPro.h:312
PFCSCENEDESCRIPTION
Scene description.
Definition: PerfectlyClearPro.h:1091
PFCFBPARAM::eSkinToningType
SKINTONINGTYPE eSkinToningType
See enum definition of SKINTONINGTYPE.
Definition: PerfectlyClearPro.h:476
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:231
PFC_PixelFormat24bppBGR
@ PFC_PixelFormat24bppBGR
Definition: PerfectlyClearPro.h:61
PFCV3PARAM::iDeltaR
int iDeltaR
Delta R correction amount.
Definition: PerfectlyClearPro.h:569
PFCIMAGE
Struct defining an image to be used in PFC library.
Definition: PerfectlyClearPro.h:246
PFCFBPARAM::iSkinToning
int iSkinToning
Skin Toning level. Range 0 to 100.
Definition: PerfectlyClearPro.h:474
PFCCOREMask::radius
float radius
only for MASK_ROUNDRECT - corner radius, relative to image w.
Definition: PerfectlyClearPro.h:531
PFCCOREPARAM::iBlackEnhancement
int iBlackEnhancement
Set luminance threshold for Noise Management. Range 0 to 25.
Definition: PerfectlyClearPro.h:413
BIAS_BRIGHTER_PREFERENCE
@ BIAS_BRIGHTER_PREFERENCE
Average usage with brighter tone, corresponds to "Bright" in PfC Products.
Definition: PerfectlyClearPro.h:290
PFCV3PARAM::iFinishBlacks
int iFinishBlacks
Blacks correction amount.
Definition: PerfectlyClearPro.h:560
PFCIMAGEPROFILE::RE_Status
PFCRE_STATUS RE_Status
Status code for Red Eye pre-calc analysis.
Definition: PerfectlyClearPro.h:602
PFCCOREPARAM::bVibrancy
BOOL bVibrancy
Set to true (recommended default) to enable Color Vibrancy in the library.
Definition: PerfectlyClearPro.h:414
PFC_NR_ERRBITMAP
@ PFC_NR_ERRBITMAP
4 Error reading image data
Definition: PerfectlyClearPro.h:335
PFCFBPARAM::iEnhanceLevel
int iEnhanceLevel
Eye enhancement level. Range 0 to 100.
Definition: PerfectlyClearPro.h:453
ENGINESTATUS_OK
@ ENGINESTATUS_OK
Engine created successfully.
Definition: PerfectlyClearPro.h:152
PFCCOREPARAM::fTintScale
float fTintScale
Scalar value of how much tint correction should be applied. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:412
PFCV3PARAM::lutInputFoliageBrown
PFC3DLutInfo lutInputFoliageBrown
LUT data to apply.
Definition: PerfectlyClearPro.h:552
PFCENGINE
Struct defining an PFC engine instance.
Definition: PerfectlyClearPro.h:240
PFCFaceRect::confidence
int confidence
A numerical parameter describing the confidence attributed by the detection algorithm to each face.
Definition: PerfectlyClearPro.h:229
PFCFaceRect::rect
PFCRECT rect
Specifies the bounding rectangle of a face.
Definition: PerfectlyClearPro.h:218
PFCCOREPARAM::eBiasMode
BIASMODE eBiasMode
Skin and depth bias control. Recommended value is BIAS_AVERAGE_PREFERENCE, unless you are printing to...
Definition: PerfectlyClearPro.h:420
PFC_DestroyEngine
void PFC_DestroyEngine(PFCENGINE *p)
Destroy PFCENGINE instance and release associated resources.
SKINMODE_FACE
@ SKINMODE_FACE
Apply correction ONLY on skin regions included in faces.
Definition: PerfectlyClearPro.h:298
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:422
PFCV3PARAM::iNeutralDensity
int iNeutralDensity
Neutral density filter amout.
Definition: PerfectlyClearPro.h:546
BIAS_NONE
@ BIAS_NONE
Turn off bias correction.
Definition: PerfectlyClearPro.h:287
PFCCOREPARAM::bLocalContrast
BOOL bLocalContrast
Set to true to enable Local Contrast.
Definition: PerfectlyClearPro.h:439
TINTCORRECT_DEFAULT
@ TINTCORRECT_DEFAULT
Moderate level of tint detection.
Definition: PerfectlyClearPro.h:257
PFCCOREPARAM::bHighlightPreservation
BOOL bHighlightPreservation
Set to true to enable Highlight Preservation.
Definition: PerfectlyClearPro.h:423
DCF_STANDARD
@ DCF_STANDARD
For normal photo.
Definition: PerfectlyClearPro.h:272
PFCV3PARAM::iDynamicWB
int iDynamicWB
Reserved should be 0.
Definition: PerfectlyClearPro.h:575
SKINSMOOTHTYPE_SUPERSMOOTH
@ SKINSMOOTHTYPE_SUPERSMOOTH
This is a more aggressive and effective correction where the appearance of the entire skin (including...
Definition: PerfectlyClearPro.h:307
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:358
PFC_REJECT_CLIPART
@ PFC_REJECT_CLIPART
Reject images classified as clipart, used by default.
Definition: PerfectlyClearPro.h:404
AGGRESSIVENESS
AGGRESSIVENESS
Enumeration defining Auto Exposure calculation modes.
Definition: PerfectlyClearPro.h:278
AGGRESSIVENESS_MODERATE
@ AGGRESSIVENESS_MODERATE
Moderate level of exposure correction.
Definition: PerfectlyClearPro.h:280
PFCCOREPARAM::bAbnormalTintRemoval
BOOL bAbnormalTintRemoval
Set to true to enable Abnormal Tint Removal. Recommended default is FALSE.
Definition: PerfectlyClearPro.h:410
PFCFBPARAM::bEyeCirc
BOOL bEyeCirc
Set to TRUE to enable eye circle removal.
Definition: PerfectlyClearPro.h:454
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.
Definition: PerfectlyClearPro.h:1032
PFC_PixelFormat48bppRGB
@ PFC_PixelFormat48bppRGB
Definition: PerfectlyClearPro.h:89
CALC_CORE
@ CALC_CORE
Calculates for Perfectly Clear Core correction.
Definition: PerfectlyClearPro.h:159
PFCV3PARAM::iDeltaG
int iDeltaG
Delta G correction amount.
Definition: PerfectlyClearPro.h:570
PFC_PixelFormat48bppBGR
@ PFC_PixelFormat48bppBGR
Definition: PerfectlyClearPro.h:132
APPLY_ERROR_AI_CORRECTION_MISSING
@ APPLY_ERROR_AI_CORRECTION_MISSING
-13 Tried to apply AI-based correction but is not available
Definition: PerfectlyClearPro.h:396
PFCPOINT::x
int x
x coordinate of this point.
Definition: PerfectlyClearPro.h:186
PFCPOINT
Struct defining a point.
Definition: PerfectlyClearPro.h:185
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:232
TINTCORRECTION
TINTCORRECTION
Enumeration defining different abnormal tint analysis mode.
Definition: PerfectlyClearPro.h:255
PFC_CreateEngine
PFCENGINE * PFC_CreateEngine()
Create PFCENGINE instance.
SKINTONINGTYPE_FOUNDATION
@ SKINTONINGTYPE_FOUNDATION
Adjust skin to user defined foundation color.
Definition: PerfectlyClearPro.h:317
SKINTONINGTYPE_TAN
@ SKINTONINGTYPE_TAN
Darkens skin, makes it look naturally tanned.
Definition: PerfectlyClearPro.h:316
SKINTONINGTYPE_WARM
@ SKINTONINGTYPE_WARM
Warms skin tone.
Definition: PerfectlyClearPro.h:315
CALC_FAEHISPEED
@ CALC_FAEHISPEED
Use Fast mode of Face Aware Exposure pre-calculations.
Definition: PerfectlyClearPro.h:166
HIGH_DEFINITION
@ HIGH_DEFINITION
Optimized to bring out more details in the shadows, more details in the highlights,...
Definition: PerfectlyClearPro.h:266
PFCIMAGE::format
PFCPIXELFORMAT format
Defines byte order of input buffer.
Definition: PerfectlyClearPro.h:250
PFC_PixelFormat64bppARGB
@ PFC_PixelFormat64bppARGB
Definition: PerfectlyClearPro.h:104
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 ddetected scene properties.
PFCV3PARAM::iFinishWhites
int iFinishWhites
Whites correction amount.
Definition: PerfectlyClearPro.h:563
PFCV3PARAM::lutInputCorrective
PFC3DLutInfo lutInputCorrective
LUT data to apply.
Definition: PerfectlyClearPro.h:549
MASK_TOP
@ MASK_TOP
linear from 1.0 on top
Definition: PerfectlyClearPro.h:518
AGGRESSIVENESS_CONSERVATIVE
@ AGGRESSIVENESS_CONSERVATIVE
Less aggressive in exposure correction.
Definition: PerfectlyClearPro.h:279
PFCCOREPARAM::bEnabled
BOOL bEnabled
Set to true to enable the entire Core correction.
Definition: PerfectlyClearPro.h:409
PFC_FB_NOTENABLED
@ PFC_FB_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:356
PFCFBPARAM::colorBlush
unsigned int colorBlush
Blush color AARRGGBB default 0xFFFD7171 ({253, 113, 113})
Definition: PerfectlyClearPro.h:483
SKINTONINGTYPE_PALE
@ SKINTONINGTYPE_PALE
Makes skin look lighter and more pale.
Definition: PerfectlyClearPro.h:314
PFCFBPARAM::iCatchLight
int iCatchLight
Catchlight level. Range 0 to 100.
Definition: PerfectlyClearPro.h:465
SKINMODE
SKINMODE
Enumeration defining modes in Perfect Smooth analysis.
Definition: PerfectlyClearPro.h:297
PFCCOREPARAM::fBiasScale
float fBiasScale
Scalar value of how much BIAS correction should be applied. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:421
BIAS_AVERAGE_PREFERENCE
@ BIAS_AVERAGE_PREFERENCE
For average usage, corresponds to "Normal" in PfC Products.
Definition: PerfectlyClearPro.h:289
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:158
PFCCOREMask::height
float height
radial/rounded: h of bounding rect, linear: dist from centerY where grad becomes 1....
Definition: PerfectlyClearPro.h:530
PFCFBPARAM::bEnhance
BOOL bEnhance
Set to TRUE to enable eye enhancement.
Definition: PerfectlyClearPro.h:452
PFCV3PARAM::iFinishExposure
int iFinishExposure
Exposure correction amount.
Definition: PerfectlyClearPro.h:559
PFC_NR_MISC_ERROR
@ PFC_NR_MISC_ERROR
6 General error
Definition: PerfectlyClearPro.h:337
PFCFaceRect::smileLevel
int smileLevel
Indicates the presence of a smile.
Definition: PerfectlyClearPro.h:230
APPLY_INVALIDLICENSE
@ APPLY_INVALIDLICENSE
-6 Invalid License or validation failed
Definition: PerfectlyClearPro.h:389
PRESET_IAUTO_21
@ PRESET_IAUTO_21
The iAuto you love plus newly tuned settings for sharper images, accurate skin correction,...
Definition: PerfectlyClearPro.h:180
PFCIMAGEPROFILE::NR_Status
PFCNR_STATUS NR_Status
Status code for Noise Removal pre-calc analysis.
Definition: PerfectlyClearPro.h:600
PFCFBPARAM::iSmoothLevel
int iSmoothLevel
Face smoothing level. Range 0 to 100.
Definition: PerfectlyClearPro.h:447
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:151
PFC_LoadScenePresets
int PFC_LoadScenePresets(PFCENGINE *pEngine, const char *filePath, int groupUUID=0, int *arrProfileUUID=NULL, int arrProfileUUIDLen=0)
Loads scene optimized presets from presets file. Engine may be AI-enabled with PFC_LoadAIEngine()....
PFCNR_STATUS
PFCNR_STATUS
Enumeration defining status of Noise Removal pre-calculation.
Definition: PerfectlyClearPro.h:330
PRESET_IAUTO_2019_RE
@ PRESET_IAUTO_2019_RE
iAuto 2019 with Red Eye correciton enabled
Definition: PerfectlyClearPro.h:179
MASK_ALL
@ MASK_ALL
1.0 everywhere (background)
Definition: PerfectlyClearPro.h:516
BGMASKPARAM
Struct defining parameters for building BG mask.
Definition: PerfectlyClearPro.h:619
PFCV3PARAM::iPreprocessEV
int iPreprocessEV
EV correction amount (Image Ambulace)
Definition: PerfectlyClearPro.h:543
PFCFBPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable entire face beautification.
Definition: PerfectlyClearPro.h:445
PFC_FB_NOT_EXECUTED
@ PFC_FB_NOT_EXECUTED
9 Not executed
Definition: PerfectlyClearPro.h:364
PFC_RE_GEN_ERROR
@ PFC_RE_GEN_ERROR
4 General error
Definition: PerfectlyClearPro.h:374
APPLY_WASM_INVALID_DOMAIN
@ APPLY_WASM_INVALID_DOMAIN
-7 Wrong domain for WASM certificate
Definition: PerfectlyClearPro.h:390
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:535
PFCCOREPARAM::eDCFMode
DCFMODE eDCFMode
Select different class of DCF.
Definition: PerfectlyClearPro.h:436
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:475
CONTRASTMODE
CONTRASTMODE
Enumeration defining contrast mode.
Definition: PerfectlyClearPro.h:264
PFCFaceRect::heightImage
int heightImage
image height
Definition: PerfectlyClearPro.h:234
PFCIMAGEPROFILE::pInternal
PFCINTERNAL pInternal
Internal use only.
Definition: PerfectlyClearPro.h:597
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:219
PFC_ReleaseProtectionPath
void PFC_ReleaseProtectionPath()
Releases resources from PFC_SetProtectionPath function call.
PFCREJECTOPTION
PFCREJECTOPTION
Enumeration defining rejection flags.
Definition: PerfectlyClearPro.h:401
DCFMODE
DCFMODE
Enumeration defining DCF analysis mode.
Definition: PerfectlyClearPro.h:271
PFCFaceRect
Structure defining face attributes detected by the Face Detection library.
Definition: PerfectlyClearPro.h:217
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:324
CALC_NR
@ CALC_NR
Calculates for Perfectly Clear Noise Removal.
Definition: PerfectlyClearPro.h:160
PFC_CORE_CLIPARTIMAGE
@ PFC_CORE_CLIPARTIMAGE
7 Image skipped due AI Clipart detection
Definition: PerfectlyClearPro.h:350
PFC_FB_CANCELLED
@ PFC_FB_CANCELLED
4 Process cancelled
Definition: PerfectlyClearPro.h:359
BIAS_AUTO
@ BIAS_AUTO
Apply auto calculated bias mode and strength.
Definition: PerfectlyClearPro.h:292
PFCENGINE::status
PFCENGINESTATUS status
Status of engine defined in PFCENGINESTATUS. For NO-SFB version the status will always be ENGINESTATU...
Definition: PerfectlyClearPro.h:242
APPLY_LOOKS_MISSING
@ APPLY_LOOKS_MISSING
-12 tried to apply a LUT but the LUTs file was not found
Definition: PerfectlyClearPro.h:395
DCF_VIVID
@ DCF_VIVID
For more color vibrancy.
Definition: PerfectlyClearPro.h:273
PRESET_BEAUTIFY
@ PRESET_BEAUTIFY
Beautify - provides a good default set of corrections for portratis and other photos of people....
Definition: PerfectlyClearPro.h:173
PFCCOREPARAM::iMinStrength
int iMinStrength
Min exposure that will be remommended by Auto Exposure.
Definition: PerfectlyClearPro.h:440
PFCV3PARAM::lutInputSky
PFC3DLutInfo lutInputSky
LUT data to apply.
Definition: PerfectlyClearPro.h:550
PFCCOREPARAM::eAggressiveness
AGGRESSIVENESS eAggressiveness
The desired level of lighting for Automatic Strength Selection to target at the Exposure Correction.
Definition: PerfectlyClearPro.h:428
BIAS_DONT_BOTHER
@ BIAS_DONT_BOTHER
Reserved, never use.
Definition: PerfectlyClearPro.h:291
PFCPIXELFORMAT
PFCPIXELFORMAT
defines the format of the image data
Definition: PerfectlyClearPro.h:35
PFCV3PARAM::iDynamic
int iDynamic
Reserved should be 0.
Definition: PerfectlyClearPro.h:574
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)
Single function to perform Perfectly Clear correction.
PFC_FB_WARNING
@ PFC_FB_WARNING
2 Warning: face not detected
Definition: PerfectlyClearPro.h:357
PFCCOREPARAM::bContrast
BOOL bContrast
Set to TRUE to also apply Athentech's patented Medical Imaging contrast technology.
Definition: PerfectlyClearPro.h:417
PFC_RE_SUCCESS
@ PFC_RE_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:370
PFC_PixelFormat32bppABGR
@ PFC_PixelFormat32bppABGR
Definition: PerfectlyClearPro.h:76
PFC_SetParam
void PFC_SetParam(PFCPARAM &param, PFCPRESETID id=PRESET_IAUTO_21)
Initialize a PFCPARAM structure.
PFCPOINT::y
int y
y coordinate of this point.
Definition: PerfectlyClearPro.h:187
PFCFBPARAM::bCatchLight
BOOL bCatchLight
Set to TRUE to enable catchlight removal.
Definition: PerfectlyClearPro.h:464
PFCFBPARAM::bTeeth
BOOL bTeeth
Set to TRUE to enable teeth whitening.
Definition: PerfectlyClearPro.h:456
PFCFBPARAM::bSmooth
BOOL bSmooth
Set to TRUE to enable face smoothing.
Definition: PerfectlyClearPro.h:446
PFC_NR_NOTENABLED
@ PFC_NR_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:332
PFCV3PARAM::iFinishShadows
int iFinishShadows
Shadows correction amount.
Definition: PerfectlyClearPro.h:561
PRESET_VIVID
@ PRESET_VIVID
Vivid - good for landscapes and other general photography. This is in the 'Perfectly Clear Essentials...
Definition: PerfectlyClearPro.h:176
PFCFBPARAM::bDeFlash
BOOL bDeFlash
Set to TRUE to enable deflash.
Definition: PerfectlyClearPro.h:462
PFCCOREPARAM::iMaxStrength
int iMaxStrength
Use this value to limit the maximum Exposure to be applied on the Automatic Exposure Strength Selecti...
Definition: PerfectlyClearPro.h:429
PFCFB_STATUS
PFCFB_STATUS
Enumeration defining status of Face Beautification pre-calculation.
Definition: PerfectlyClearPro.h:354
MASK_NONE
@ MASK_NONE
0.0 everywhere, don't apply
Definition: PerfectlyClearPro.h:515
PFCFBPARAM::iEnlargeLevel
int iEnlargeLevel
Eye enlargement level. Range 0 to 100.
Definition: PerfectlyClearPro.h:451
PFCIMAGEPROFILE::pNoiseParam
PFCINTERNAL pNoiseParam
Internal use only.
Definition: PerfectlyClearPro.h:594
PFCCOREPARAM::bDCF
BOOL bDCF
Set to TRUE to enable Digital Color Fidelity. Recommended value is FALSE.
Definition: PerfectlyClearPro.h:435
PFC_FB_ANALYSIS_FAILED
@ PFC_FB_ANALYSIS_FAILED
7 The face analysis did not complete successfully
Definition: PerfectlyClearPro.h:362
PFCCOREPARAM::bSharpen
BOOL bSharpen
Set to TRUE to enable sharpening.
Definition: PerfectlyClearPro.h:424
PFCV3PARAM::iDarkSkin
int iDarkSkin
Dark Skin output LUT amount.
Definition: PerfectlyClearPro.h:548
APPLY_WASM_EXPIRED_CERTIFICATE
@ APPLY_WASM_EXPIRED_CERTIFICATE
-10 WASM certificate has expired
Definition: PerfectlyClearPro.h:393
PFCCOREPARAM::fInfrared
float fInfrared
Scale value to control intensity of infrared correction. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:431
PFC_REJECT_NONE
@ PFC_REJECT_NONE
Disable image rejection.
Definition: PerfectlyClearPro.h:402
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:361
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:376
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:448
PFCV3PARAM::iFinishVibrancy
int iFinishVibrancy
Vibrancy correction amount.
Definition: PerfectlyClearPro.h:565
APPLY_NOSOURCE
@ APPLY_NOSOURCE
-4 Pointer pImage is NULL, source image missing
Definition: PerfectlyClearPro.h:387
PFCCOREPARAM::iStrength
int iStrength
Set the strength of exposure correction. If Automatic Strength Selection is enabled,...
Definition: PerfectlyClearPro.h:416
PFCNRPARAM::iDetailOffset
int iDetailOffset
Offset to recommended level of preservation of details. Range -30 to 30.
Definition: PerfectlyClearPro.h:498
PFCFBFACEINFO
Structure defining face area detected from the SFB library.
Definition: PerfectlyClearPro.h:201
PFCFBPARAM::eLipSharpenType
LIPSHARPENTYPE eLipSharpenType
See definition of LIPSHARPENTYPE.
Definition: PerfectlyClearPro.h:479
TINTCORRECT_CONSERVATIVE
@ TINTCORRECT_CONSERVATIVE
Priority on minimum false positive detection.
Definition: PerfectlyClearPro.h:258
BIAS_ASIAN_PREFERENCE
@ BIAS_ASIAN_PREFERENCE
Fine tuned for Asian skin tone.
Definition: PerfectlyClearPro.h:288
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:430
PFCCOREPARAM::eContrastMode
CONTRASTMODE eContrastMode
Select contrast mode.
Definition: PerfectlyClearPro.h:418
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:385
PFC_FB_FUNCTION_ERROR
@ PFC_FB_FUNCTION_ERROR
5 Unable to locate function in the SFBEngine library
Definition: PerfectlyClearPro.h:360
CALC_NOTINTCALC
@ CALC_NOTINTCALC
Skip pre-calculations on Abnormal Tint Correction during Core pre-calculations.
Definition: PerfectlyClearPro.h:164
PFC_CORE_BELOWMINSIZE
@ PFC_CORE_BELOWMINSIZE
6 Image skipped, too small ( < 32 pixels )
Definition: PerfectlyClearPro.h:349
PFC_RE_NOT_SUPPORTED
@ PFC_RE_NOT_SUPPORTED
8 Not supported
Definition: PerfectlyClearPro.h:378
PFCFBPARAM::iLipSharpen
int iLipSharpen
Lip sharpening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:478
PFCCOREMask::angle
float angle
CW.
Definition: PerfectlyClearPro.h:533
PFCFBPARAM::colorSkinToning
unsigned int colorSkinToning
Skin Toning color AARRGGBB default 0xFFF5BCA9 ({245, 188, 169})
Definition: PerfectlyClearPro.h:482