Perfectly Clear SDK Documentation  10.0.1.537
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,
168  CALC_SHARP = 256,
169  CALC_SCENE_DETECTION = 512
171 
173 typedef enum {
184 
186 typedef struct {
187  int x;
188  int y;
189 }
190 PFCPOINT;
191 
193 typedef struct {
194  int left;
195  int top;
196  int width;
197  int height;
198 }
199 PFCRECT;
200 
202 typedef struct {
206 }
208 
218 typedef struct PFCFaceRect{
225  int angle;
232  int yawAngle;
233  int FAE[3];
236  struct PFCFaceRect *pNext;
238 typedef PFCFACERECT* LPPFCFACERECT;
239 
241 typedef struct {
244 } PFCENGINE;
245 
247 typedef struct {
248  int width;
249  int height;
250  int stride;
252  unsigned char *data;
253 } PFCIMAGE;
254 
256 typedef enum {
261 }
263 
265 typedef enum {
268 }
270 
272 typedef enum {
274  DCF_VIVID
275 }
276 DCFMODE;
277 
279 typedef enum {
283 }
285 
287 typedef enum {
293  BIAS_AUTO
294 }
295 BIASMODE;
296 
298 typedef enum {
301 }
302 SKINMODE;
303 
305 typedef enum {
309 }
311 
313 typedef enum {
319 }
321 
323 typedef enum {
327 }
329 
331 typedef enum {
341 
343 typedef enum {
353 
355 typedef enum {
368 
370 typedef enum {
381 
383 typedef enum {
399 
402 typedef enum {
405  PFC_REJECT_CLIPART = 2
407 
409 typedef struct {
410  BOOL bEnabled;
413  float fTintScale;
415  BOOL bVibrancy;
416  int iVibrancy;
417  int iStrength;
418  BOOL bContrast;
420  int iContrast;
422  float fBiasScale;
425  BOOL bSharpen;
428  BOOL bUseFAE;
431  BOOL bInfrared;
432  float fInfrared;
436  BOOL bDCF;
438  float fDCF;
442 } PFCCOREPARAM;
443 
445 typedef struct {
446  BOOL bEnabled;
447  BOOL bSmooth;
451  BOOL bEnlarge;
453  BOOL bEnhance;
455  BOOL bEyeCirc;
456  int iEyeCirc;
457  BOOL bTeeth;
459  BOOL bBlemish;
460  int iBlemish;
461  BOOL bSlim;
462  int iSlim;
463  BOOL bDeFlash;
464  int iDeFlash;
465  BOOL bCatchLight;
468  BOOL bSkinToning;
478  BOOL bLipSharpen;
481  BOOL bBlush;
482  int iBlush;
483  unsigned int colorSkinToning;
484  unsigned int colorBlush;
485 } PFCFBPARAM;
486 
488 typedef struct {
489  BOOL bEnabled;
490  int iPreset;
491  int iStrengthOffset;
500 } PFCNRPARAM;
501 
503 typedef struct {
504  BOOL bEnabled;
505 } PFCREPARAM;
506 
507 #define PFC3DLutGuidLength 32
508 typedef struct {
510  char guid[PFC3DLutGuidLength + 1];
511  unsigned char strength;
512 } PFC3DLutInfo;
513 
522 };
523 
525 typedef struct PFCCOREMask
526 {
527  PFCCORE_MASK_TYPE type;
528  float centerX;
529  float centerY;
530  float width;
531  float height;
532  float radius;
533  float feather;
534  float angle;
535  float transparency;
536  bool invert;
537  // if two layers (top and bottom) - swap params between layers instead.
539 
541 typedef struct {
542  // Image Ambulance
545 
546  // built-in 3D luts
549  int iDarkSkin;
554  // custom output 3D Lut
556 
557  // Finishing
569 
570  int iDeltaR;
571  int iDeltaG;
572  int iDeltaB;
573 
574  BOOL bDynamic;
575  int iDynamic;
577 } PFCV3PARAM;
578 
580 typedef struct {
585 #ifndef NO_V3PARAM
587  PFCV3PARAM layer[3];
588  PFCCOREMask mask[3];
589 #endif
590 } PFCPARAM;
591 
593 typedef struct {
599 
604 
605  int Status;
614 #define PFCPROFILE PFCIMAGEPROFILE*
615 
617 #define PFCBGPROFILE PFCINTERNAL
618 
620 typedef struct {
621  int iRawMaskMode; // 7
622  int iBG; // 0..100
623  int iFG; // 0 .. 100
624  int iTolerance; // allow target I variation (similar to +- 8 logic)
625  int iSobel; // Sobel binarization threshold, 32
626  int iBlur;
627  bool bImfill; // remove black holes
628  bool bAreaopen; // do areaopen in black subject (remove white)
629  int iAreaopen; // size param in 1/10000 of w*h
630  bool bAreaopenBG; // do areaopen in white BG (rem small blacks)
631  int iAreaopenBG;
632  int iConnectivity; // 8 or 4
633  bool bGrad; // add grad filter
634  bool bGradAuto; // fixed based on detected face bottom,
635  int iGradBottom; // rel bottom
636  int iGradHeight; // rel spread
637  float avR; // calculated average BG RGB
638  float avG;
639  float avB;
640 }
642 
643 
647 
680 int PFC_SetProtectionPath(const char*utf8FolderPath, const char* liceseCode = NULL);
681 
690 
710 int PFC_ReadPresets(PFCPARAM &param, char *filename);
711 
743 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);
744 
748 
749 
751 
755 
763 
791 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);
792 
793 
807 PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100, void* pBGProfile=NULL);
808 
816 
825 
829 
835 void PFC_SetAddonPath(const char *utf8AddonPath);
836 
840 
848 
856 int PFC_FBFaceCount(PFCPROFILE pImageProfile);
857 
865 int PFC_FAEFaceCount(PFCIMAGEPROFILE *pImageProfile);
889 bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index);
890 
909 
918 bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset);
919 
930 bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod);
931 
947 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);
948 
949 
969 int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s);
970 
978 void PFC_SetSingleThreadedEngine(PFCENGINE* p, bool bSingleThreaded);
979 
985 void PFC_GetVersion(char* buf, int *len, bool bFormatted = false);
986 
992 PFCAPPLYSTATUS PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst);
993 
999 PFCAPPLYSTATUS PFC_TransposeExif(PFCIMAGE *pImageSrc, int iEXIFOrientation);
1000 
1007 void PFC_ApplyStrengthToParam(PFCPARAM &param, int strength);
1008 
1017 int PFC_WasmSetCertificate(PFCENGINE* pEngine, const char *clientAPIKey, const char *certificate);
1018 
1022 void PFC_TrackSave(const char *clientAPIKey);
1023 
1030 
1032 typedef enum {
1034  AI_CORRECTIONS = 2
1036 
1044 int PFC_LoadAIEngine(PFCENGINE* pEngineAI, unsigned int aifeatures, const char *binPath);
1045 
1057 int PFC_LoadScenePresets(PFCENGINE* pEngine, const char *filePath, int groupUUID = 0, int *arrProfileUUID = NULL, int arrProfileUUIDLen = 0);
1058 
1067 int PFC_ReadScenePreset(PFCPARAM &param, PFCENGINE *pEngineAI, int scene);
1068 
1076 int PFC_GetScene(PFCPROFILE precalc, int *version);
1077 
1078 
1088 bool PFC_GetSceneDetectionEngineInfo(PFCENGINE* pEngine,int *groupUUID, int *arrProfileUUID, int *arrProfileUUIDLen);
1089 
1092 typedef struct {
1093  char name[250];
1096 
1113 bool PFC_GetSceneDescription(PFCENGINE* pEngine, int index, PFCSCENEDESCRIPTION* sceneDescription);
1114 
1115 
1123 void PFC_GetLastSceneProperties(PFCENGINE* pEngine, int* lastSceneLabel, int* lastSceneConfidence = NULL);
1124 
1126 
1127 #ifdef EYEQINTERNAL
1128 #include "../Header-internal/PerfectlyClearPro-internal.h"
1129 #endif
1130 
1131 #ifdef __cplusplus
1132 }
1133 #endif
1134 #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:229
PFCV3PARAM::iFinishSaturation
int iFinishSaturation
Saturation correction amount.
Definition: PerfectlyClearPro.h:565
TINTCORRECT_STRONGEST
@ TINTCORRECT_STRONGEST
Highest sensitivity level of tint detection.
Definition: PerfectlyClearPro.h:260
PFCIMAGEPROFILE::CORE_Status
PFCCORE_STATUS CORE_Status
Status code for CORE pre-calc analysis.
Definition: PerfectlyClearPro.h:600
APPLY_ERROR_PROFILE_MISSING
@ APPLY_ERROR_PROFILE_MISSING
-1 Pointer pProfile is NULL
Definition: PerfectlyClearPro.h:385
PFCFBPARAM::bSlim
BOOL bSlim
Set to TRUE to enable face slimming.
Definition: PerfectlyClearPro.h:461
PFCCOREPARAM::bLightDiffusion
BOOL bLightDiffusion
Set to TRUE to enable light diffusion during DCF correction.
Definition: PerfectlyClearPro.h:433
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:349
PFC_RE_FULLRES_REQUIRED
@ PFC_RE_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:373
PFCV3PARAM::bPreprocessEV
bool bPreprocessEV
Enable EV correction (Image Ambulance)
Definition: PerfectlyClearPro.h:543
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:541
PFC_RE_CANCELLED
@ PFC_RE_CANCELLED
7 Process cancelled
Definition: PerfectlyClearPro.h:378
PFCCOREMask
Struct describing mask for grad filter, all coordinates are relative (Y/height, X/width) in final cro...
Definition: PerfectlyClearPro.h:526
PFCV3PARAM::iFinishTemp
int iFinishTemp
Temp correction amount.
Definition: PerfectlyClearPro.h:558
PFCAIFEATURE
PFCAIFEATURE
Flags defining type of model(s) to load with PFC_LoadAIEngine().
Definition: PerfectlyClearPro.h:1032
TINTCORRECT_AGGRESSIVE
@ TINTCORRECT_AGGRESSIVE
Aggressive detection of tint.
Definition: PerfectlyClearPro.h:257
PFCFBPARAM::iBlush
int iBlush
Blush level. Range 0 to 100.
Definition: PerfectlyClearPro.h:482
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:1094
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:266
PRESET_INTELLIGENTAUTO
@ PRESET_INTELLIGENTAUTO
Intelligent Auto - this has been superceded by iAuto 2019 and is here for backwards compatability....
Definition: PerfectlyClearPro.h:178
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:462
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:337
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:426
PFCFBPARAM::iTeethLevel
int iTeethLevel
Teeth whitening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:458
AGGRESSIVENESS_AGGRESSIVE
@ AGGRESSIVENESS_AGGRESSIVE
More aggressive in exposure correction.
Definition: PerfectlyClearPro.h:282
PFCRECT::height
int height
height of this rect.
Definition: PerfectlyClearPro.h:197
PFC_CORE_NOTENABLED
@ PFC_CORE_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:345
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:384
PFC_ReleaseAddonPath
void PFC_ReleaseAddonPath()
Releases resources from PFC_SetAddonPath function call.
PFCIMAGEPROFILE::pRedEyeParam
PFCINTERNAL pRedEyeParam
Internal use only.
Definition: PerfectlyClearPro.h:596
PFCCOREPARAM::iContrast
int iContrast
Intensity of contrast or depth. Range 0 to 100.
Definition: PerfectlyClearPro.h:420
PFC_FB_SUCCESS
@ PFC_FB_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:356
PFCFBPARAM::eSmoothType
SKINSMOOTHTYPE eSmoothType
See enum definition of SKINSMOOTHTYPE.
Definition: PerfectlyClearPro.h:450
APPLY_BADFORMAT
@ APPLY_BADFORMAT
-5 Pixel format not supported
Definition: PerfectlyClearPro.h:389
PFCCOREMask::transparency
float transparency
overall transparency applied to the whole mask (strength 100 means transparency 0....
Definition: PerfectlyClearPro.h:535
PFCREPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable red eye removal.
Definition: PerfectlyClearPro.h:504
LIPSHARPENTYPE_FINE
@ LIPSHARPENTYPE_FINE
Fine touch of sharpening.
Definition: PerfectlyClearPro.h:324
PFCCOREPARAM::bUseFAE
BOOL bUseFAE
Set to TRUE (recommended) to enable Face Aware Exposure selection. Recommended exposure will be calcu...
Definition: PerfectlyClearPro.h:428
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:242
PFCFaceRect::ptEyeL
PFCPOINT ptEyeL
Specifies the x,y coordinates of the left eye, in fixed-point arithmetics (10 bit precision).
Definition: PerfectlyClearPro.h:223
PFCFBPARAM::iEyeCirc
int iEyeCirc
Eye circle removal level. Range 0 to 100.
Definition: PerfectlyClearPro.h:456
PFCFBPARAM::bEnlarge
BOOL bEnlarge
Set to TRUE to enable eye enlargement.
Definition: PerfectlyClearPro.h:451
PFCRE_STATUS
PFCRE_STATUS
Enumeration defining status of Red Eye pre-calculation.
Definition: PerfectlyClearPro.h:370
PFC_CORE_CANCELLED
@ PFC_CORE_CANCELLED
2 Process cancelled
Definition: PerfectlyClearPro.h:346
PRESET_BEAUTIFYPLUS
@ PRESET_BEAUTIFYPLUS
Beautify Plus provides stronger beautification corrections. This is in the 'Perfectly Clear Essential...
Definition: PerfectlyClearPro.h:175
PRESET_DETAILS
@ PRESET_DETAILS
iAuto Details - legacy preset for backwards compability. This is in the 'Athentech Legacy' group in E...
Definition: PerfectlyClearPro.h:176
PFC_FB_NOT_AVAILABLE
@ PFC_FB_NOT_AVAILABLE
10 Face beautification feature not available
Definition: PerfectlyClearPro.h:366
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:204
APPLY_WASM_INVALID_CERTIFICATE
@ APPLY_WASM_INVALID_CERTIFICATE
-9 WASM certificate invalid or not matching APIKEY and domain
Definition: PerfectlyClearPro.h:393
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:306
PFCV3PARAM::iFinishPositiveContrast
int iFinishPositiveContrast
Positive Contrast correction amount.
Definition: PerfectlyClearPro.h:568
PFCIMAGEPROFILE::FB_Status
PFCFB_STATUS FB_Status
Status code for Face Beautification pre-calc analysis.
Definition: PerfectlyClearPro.h:602
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:348
APPLY_WASM_INVALID_APIKEY
@ APPLY_WASM_INVALID_APIKEY
-8 Wrong APIKEY for WASM certificate
Definition: PerfectlyClearPro.h:392
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:222
SKINTONINGTYPE_WHITE
@ SKINTONINGTYPE_WHITE
Whitens (bleaches) face. Recommended mainly for darker skin.
Definition: PerfectlyClearPro.h:314
PFCREPARAM
Structure encapsulating Red Eye Correction parameters.
Definition: PerfectlyClearPro.h:503
SKINSMOOTHTYPE_DEFAULT
@ SKINSMOOTHTYPE_DEFAULT
This type of correction provides a more uniform appearance to the complexion. It combines the natural...
Definition: PerfectlyClearPro.h:307
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:364
PFCCOREPARAM
Structure encapsulating the CORE processing parameters.
Definition: PerfectlyClearPro.h:409
PFCFaceRect::widthImage
int widthImage
image width
Definition: PerfectlyClearPro.h:234
PFCPARAM::nr
PFCNRPARAM nr
Noise reduction corrections.
Definition: PerfectlyClearPro.h:583
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:224
PFCCOREPARAM::fLightDiffusion
float fLightDiffusion
Scale value to control intensity of light diffusion correction.
Definition: PerfectlyClearPro.h:434
PFC_PROGRESS
BOOL(* PFC_PROGRESS)(int iPercent)
Definition: PerfectlyClearPro.h:32
PFCRECT::width
int width
width of this rect.
Definition: PerfectlyClearPro.h:196
PFCFBPARAM
Structure encapsulating Face Beautification parameters.
Definition: PerfectlyClearPro.h:445
PFCPARAM
Struct PFCPARAM the master structure of all processing parameters.
Definition: PerfectlyClearPro.h:580
PFC_RE_INVALID_PARAMETER
@ PFC_RE_INVALID_PARAMETER
5 Invalid parameter
Definition: PerfectlyClearPro.h:376
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:582
PFC_RE_NOT_FOUND
@ PFC_RE_NOT_FOUND
3 Red eye not found
Definition: PerfectlyClearPro.h:374
PFCPARAM::re
PFCREPARAM re
Red Eye Removal.
Definition: PerfectlyClearPro.h:584
PFCRECT::top
int top
y in point corrdinate of this rect.
Definition: PerfectlyClearPro.h:195
AI_CORRECTIONS
@ AI_CORRECTIONS
Loads AI-basedd corrections model.
Definition: PerfectlyClearPro.h:1034
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:205
PFCNRPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable noise removal.
Definition: PerfectlyClearPro.h:489
PFCCORE_STATUS
PFCCORE_STATUS
Enumeration defining status of Core pre-calculation.
Definition: PerfectlyClearPro.h:343
MASK_ROUNDRECT
@ MASK_ROUNDRECT
rounded rect
Definition: PerfectlyClearPro.h:521
SKINSMOOTHTYPE
SKINSMOOTHTYPE
Enumeration defining types of Skin Smoothing correction.
Definition: PerfectlyClearPro.h:305
BIASMODE
BIASMODE
Enumeration defining BIAS analysis mode.
Definition: PerfectlyClearPro.h:287
PFCIMAGE::height
int height
Pixel height of image.
Definition: PerfectlyClearPro.h:249
PFCCOREPARAM::fDCF
float fDCF
Scale value to control intensity of Digital Color Fidelity correction. Range 0.0 to 1....
Definition: PerfectlyClearPro.h:438
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:182
PFCCOREMask::centerX
float centerX
X of center.
Definition: PerfectlyClearPro.h:528
SKINMODE_BODY
@ SKINMODE_BODY
Apply correction on most skin regions regardless they are linked with a face or not.
Definition: PerfectlyClearPro.h:300
CALC_ALL
@ CALC_ALL
Calculates for all classic features, all of the above.
Definition: PerfectlyClearPro.h:163
PFCV3PARAM::iColorVibrancy
int iColorVibrancy
Color Vibrancy amount.
Definition: PerfectlyClearPro.h:548
PFCV3PARAM::bDynamic
BOOL bDynamic
Reserved should be 0.
Definition: PerfectlyClearPro.h:574
PFCFBFACEINFO::leftEye
PFCPOINT leftEye
Point of left eye in detected face.
Definition: PerfectlyClearPro.h:203
PFCCOREMask::centerY
float centerY
Y of center.
Definition: PerfectlyClearPro.h:529
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:594
PFCPRESETID
PFCPRESETID
ENUM for presets support by this SDK.
Definition: PerfectlyClearPro.h:173
PFCV3PARAM::iFinishHighlights
int iFinishHighlights
Highlights correction amount.
Definition: PerfectlyClearPro.h:563
PFCV3PARAM::lutOutput
PFC3DLutInfo lutOutput
LUT data to apply.
Definition: PerfectlyClearPro.h:555
PFCCOREPARAM::eTintMode
TINTCORRECTION eTintMode
ENUM value defined in TINTCORRECTION. It sets the aggressiveness of Tint Removal.
Definition: PerfectlyClearPro.h:412
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:395
PFC_NR_CANCELLED
@ PFC_NR_CANCELLED
3 Process cancelled
Definition: PerfectlyClearPro.h:335
PFCIMAGE::stride
int stride
Byte width of each scanline.
Definition: PerfectlyClearPro.h:250
PFCV3PARAM::iDeltaB
int iDeltaB
Delta B correction amount.
Definition: PerfectlyClearPro.h:572
MASK_BOTTOM
@ MASK_BOTTOM
linear from 1.0 on bottom
Definition: PerfectlyClearPro.h:520
PFCPARAM::v3
PFCV3PARAM v3
V3 Corrections.
Definition: PerfectlyClearPro.h:586
PFCV3PARAM::iFinishTint
int iFinishTint
Tint correction amount.
Definition: PerfectlyClearPro.h:559
PFCPARAM::core
PFCCOREPARAM core
Core corrections to apply.
Definition: PerfectlyClearPro.h:581
PFCFBPARAM::bLipSharpen
BOOL bLipSharpen
Set to TRUE to enable lip sharpening.
Definition: PerfectlyClearPro.h:478
PFCV3PARAM::iFinishContrast
int iFinishContrast
Contrast correction amount.
Definition: PerfectlyClearPro.h:567
PFC_NR_FULLRES_REQUIRED
@ PFC_NR_FULLRES_REQUIRED
2 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:334
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:416
PFCAPPLYSTATUS
PFCAPPLYSTATUS
Enumeration defining return code from the Apply() function.
Definition: PerfectlyClearPro.h:383
PFCCOREMask::width
float width
radial/rounded: w of bounding rect, linear: ignored
Definition: PerfectlyClearPro.h:530
PFCFaceRect::blinkLevelR
int blinkLevelR
Right eye Blink level.
Definition: PerfectlyClearPro.h:228
PFCCORE_MASK_TYPE
PFCCORE_MASK_TYPE
Enumeration describing mapping of PFCMask and PFC_MASK_TYPE with 'PFC' -> 'PFCCORE'.
Definition: PerfectlyClearPro.h:515
PFC_CORE_NOSOURCEIMAGE
@ PFC_CORE_NOSOURCEIMAGE
3 Source image (pImage) is missing
Definition: PerfectlyClearPro.h:347
PFCIMAGEPROFILE
Struct defining an image profile as calculated from PFC_Calc() function.
Definition: PerfectlyClearPro.h:593
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:225
PFCCOREMask::feather
float feather
relative length of gradient, from where it starts (1.0) to where it is 0.0,
Definition: PerfectlyClearPro.h:533
PFC_RE_NOTENABLED
@ PFC_RE_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:372
PFCRECT
Struct defining a rectangle.
Definition: PerfectlyClearPro.h:193
PFC_NR_SUCCESS
@ PFC_NR_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:332
PFCFaceRect::blinkLevel
int blinkLevel
Indicates the presence of a blink.
Definition: PerfectlyClearPro.h:226
PFCNRPARAM::iPreset
int iPreset
Definition: PerfectlyClearPro.h:490
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:404
PFCV3PARAM::lutInputFoliageGreen
PFC3DLutInfo lutInputFoliageGreen
LUT data to apply.
Definition: PerfectlyClearPro.h:552
PFC_PixelFormat24bppRGB
@ PFC_PixelFormat24bppRGB
Definition: PerfectlyClearPro.h:48
PRESET_IAUTO_2019
@ PRESET_IAUTO_2019
iAuto for even better image corrections
Definition: PerfectlyClearPro.h:179
APPLY_CANCELLED
@ APPLY_CANCELLED
-3 Operation cancelled
Definition: PerfectlyClearPro.h:387
PFCIMAGEPROFILE::pSFBParam
PFCINTERNAL pSFBParam
Internal use only.
Definition: PerfectlyClearPro.h:597
LIPSHARPENTYPE_COARSE
@ LIPSHARPENTYPE_COARSE
Lip details are coarsely pronounced.
Definition: PerfectlyClearPro.h:326
PFCFBPARAM::iBlemish
int iBlemish
Blemish removal level. Range 0 to 100.
Definition: PerfectlyClearPro.h:460
PFCFBPARAM::bBlemish
BOOL bBlemish
Set to TRUE to enable blemish removal.
Definition: PerfectlyClearPro.h:459
PFCFBPARAM::iDeFlash
int iDeFlash
Deflash level. Range 0 to 100.
Definition: PerfectlyClearPro.h:464
PFCPROFILE
#define PFCPROFILE
Define.
Definition: PerfectlyClearPro.h:614
PFCIMAGEPROFILE::Status
int Status
Definition: PerfectlyClearPro.h:605
LIPSHARPENTYPE
LIPSHARPENTYPE
Enumeration defining Lip Sharpening mode.
Definition: PerfectlyClearPro.h:323
PFCCOREPARAM::bDynamicRange
BOOL bDynamicRange
Set to TRUE to enable dynamic range correction.
Definition: PerfectlyClearPro.h:435
PFC3DLutInfo
Struct.
Definition: PerfectlyClearPro.h:509
PFCIMAGE::width
int width
Pixel width of image.
Definition: PerfectlyClearPro.h:248
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:344
PFC_NR_NOTFOUND
@ PFC_NR_NOTFOUND
7 Noise not found
Definition: PerfectlyClearPro.h:339
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:221
PFCIMAGE::data
unsigned char * data
Pointer pointing to the first byte of image data buffer.
Definition: PerfectlyClearPro.h:252
PFCRECT::left
int left
x in point coordinate of this rect.
Definition: PerfectlyClearPro.h:194
PFCCOREPARAM::bUseAutomaticStrengthSelection
BOOL bUseAutomaticStrengthSelection
Set to TRUE (recommended default) to enable Automatic Strength Selection. Perfectly Clear will determ...
Definition: PerfectlyClearPro.h:427
MASK_RADIAL
@ MASK_RADIAL
ellipse
Definition: PerfectlyClearPro.h:518
PFCFBPARAM::iCatchLightMode
int iCatchLightMode
Definition: PerfectlyClearPro.h:467
PFCFBPARAM::bBlush
BOOL bBlush
Set to TRUE to add blush.
Definition: PerfectlyClearPro.h:481
PFCNRPARAM
Structure encapsulating Noise Removal parameters.
Definition: PerfectlyClearPro.h:488
PFCFaceRect::blinkLevelL
int blinkLevelL
Left eye Blink level.
Definition: PerfectlyClearPro.h:227
PFCCOREPARAM::iLocalContrast
int iLocalContrast
Amount of Local Contrast to apply. Range 0 to 100.
Definition: PerfectlyClearPro.h:439
SKINTONINGTYPE
SKINTONINGTYPE
Enumeration defining type of Skin Toning correction.
Definition: PerfectlyClearPro.h:313
PFCSCENEDESCRIPTION
Scene description.
Definition: PerfectlyClearPro.h:1092
PFCFBPARAM::eSkinToningType
SKINTONINGTYPE eSkinToningType
See enum definition of SKINTONINGTYPE.
Definition: PerfectlyClearPro.h:477
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:232
PFC_PixelFormat24bppBGR
@ PFC_PixelFormat24bppBGR
Definition: PerfectlyClearPro.h:61
PFCV3PARAM::iDeltaR
int iDeltaR
Delta R correction amount.
Definition: PerfectlyClearPro.h:570
PFCIMAGE
Struct defining an image to be used in PFC library.
Definition: PerfectlyClearPro.h:247
PFCFBPARAM::iSkinToning
int iSkinToning
Skin Toning level. Range 0 to 100.
Definition: PerfectlyClearPro.h:475
PFCCOREMask::radius
float radius
only for MASK_ROUNDRECT - corner radius, relative to image w.
Definition: PerfectlyClearPro.h:532
PFCCOREPARAM::iBlackEnhancement
int iBlackEnhancement
Set luminance threshold for Noise Management. Range 0 to 25.
Definition: PerfectlyClearPro.h:414
BIAS_BRIGHTER_PREFERENCE
@ BIAS_BRIGHTER_PREFERENCE
Average usage with brighter tone, corresponds to "Bright" in PfC Products.
Definition: PerfectlyClearPro.h:291
PFCV3PARAM::iFinishBlacks
int iFinishBlacks
Blacks correction amount.
Definition: PerfectlyClearPro.h:561
PFCIMAGEPROFILE::RE_Status
PFCRE_STATUS RE_Status
Status code for Red Eye pre-calc analysis.
Definition: PerfectlyClearPro.h:603
PFCCOREPARAM::bVibrancy
BOOL bVibrancy
Set to true (recommended default) to enable Color Vibrancy in the library.
Definition: PerfectlyClearPro.h:415
PFC_NR_ERRBITMAP
@ PFC_NR_ERRBITMAP
4 Error reading image data
Definition: PerfectlyClearPro.h:336
PFCFBPARAM::iEnhanceLevel
int iEnhanceLevel
Eye enhancement level. Range 0 to 100.
Definition: PerfectlyClearPro.h:454
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:413
PFCV3PARAM::lutInputFoliageBrown
PFC3DLutInfo lutInputFoliageBrown
LUT data to apply.
Definition: PerfectlyClearPro.h:553
PFCENGINE
Struct defining an PFC engine instance.
Definition: PerfectlyClearPro.h:241
PFCFaceRect::confidence
int confidence
A numerical parameter describing the confidence attributed by the detection algorithm to each face.
Definition: PerfectlyClearPro.h:230
PFCFaceRect::rect
PFCRECT rect
Specifies the bounding rectangle of a face.
Definition: PerfectlyClearPro.h:219
PFCCOREPARAM::eBiasMode
BIASMODE eBiasMode
Skin and depth bias control. Recommended value is BIAS_AVERAGE_PREFERENCE, unless you are printing to...
Definition: PerfectlyClearPro.h:421
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:299
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:423
PFCV3PARAM::iNeutralDensity
int iNeutralDensity
Neutral density filter amout.
Definition: PerfectlyClearPro.h:547
BIAS_NONE
@ BIAS_NONE
Turn off bias correction.
Definition: PerfectlyClearPro.h:288
PFCCOREPARAM::bLocalContrast
BOOL bLocalContrast
Set to true to enable Local Contrast.
Definition: PerfectlyClearPro.h:440
TINTCORRECT_DEFAULT
@ TINTCORRECT_DEFAULT
Moderate level of tint detection.
Definition: PerfectlyClearPro.h:258
PFCCOREPARAM::bHighlightPreservation
BOOL bHighlightPreservation
Set to true to enable Highlight Preservation.
Definition: PerfectlyClearPro.h:424
DCF_STANDARD
@ DCF_STANDARD
For normal photo.
Definition: PerfectlyClearPro.h:273
PFCV3PARAM::iDynamicWB
int iDynamicWB
Reserved should be 0.
Definition: PerfectlyClearPro.h:576
SKINSMOOTHTYPE_SUPERSMOOTH
@ SKINSMOOTHTYPE_SUPERSMOOTH
This is a more aggressive and effective correction where the appearance of the entire skin (including...
Definition: PerfectlyClearPro.h:308
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:359
PFC_REJECT_CLIPART
@ PFC_REJECT_CLIPART
Reject images classified as clipart, used by default.
Definition: PerfectlyClearPro.h:405
AGGRESSIVENESS
AGGRESSIVENESS
Enumeration defining Auto Exposure calculation modes.
Definition: PerfectlyClearPro.h:279
AGGRESSIVENESS_MODERATE
@ AGGRESSIVENESS_MODERATE
Moderate level of exposure correction.
Definition: PerfectlyClearPro.h:281
PFCCOREPARAM::bAbnormalTintRemoval
BOOL bAbnormalTintRemoval
Set to true to enable Abnormal Tint Removal. Recommended default is FALSE.
Definition: PerfectlyClearPro.h:411
PFCFBPARAM::bEyeCirc
BOOL bEyeCirc
Set to TRUE to enable eye circle removal.
Definition: PerfectlyClearPro.h:455
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:1033
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:571
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:397
PFCPOINT::x
int x
x coordinate of this point.
Definition: PerfectlyClearPro.h:187
PFCPOINT
Struct defining a point.
Definition: PerfectlyClearPro.h:186
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:233
TINTCORRECTION
TINTCORRECTION
Enumeration defining different abnormal tint analysis mode.
Definition: PerfectlyClearPro.h:256
PFC_CreateEngine
PFCENGINE * PFC_CreateEngine()
Create PFCENGINE instance.
SKINTONINGTYPE_FOUNDATION
@ SKINTONINGTYPE_FOUNDATION
Adjust skin to user defined foundation color.
Definition: PerfectlyClearPro.h:318
SKINTONINGTYPE_TAN
@ SKINTONINGTYPE_TAN
Darkens skin, makes it look naturally tanned.
Definition: PerfectlyClearPro.h:317
SKINTONINGTYPE_WARM
@ SKINTONINGTYPE_WARM
Warms skin tone.
Definition: PerfectlyClearPro.h:316
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:267
PFCIMAGE::format
PFCPIXELFORMAT format
Defines byte order of input buffer.
Definition: PerfectlyClearPro.h:251
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:564
PFCV3PARAM::lutInputCorrective
PFC3DLutInfo lutInputCorrective
LUT data to apply.
Definition: PerfectlyClearPro.h:550
MASK_TOP
@ MASK_TOP
linear from 1.0 on top
Definition: PerfectlyClearPro.h:519
AGGRESSIVENESS_CONSERVATIVE
@ AGGRESSIVENESS_CONSERVATIVE
Less aggressive in exposure correction.
Definition: PerfectlyClearPro.h:280
PFCCOREPARAM::bEnabled
BOOL bEnabled
Set to true to enable the entire Core correction.
Definition: PerfectlyClearPro.h:410
PFC_FB_NOTENABLED
@ PFC_FB_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:357
PFCFBPARAM::colorBlush
unsigned int colorBlush
Blush color AARRGGBB default 0xFFFD7171 ({253, 113, 113})
Definition: PerfectlyClearPro.h:484
SKINTONINGTYPE_PALE
@ SKINTONINGTYPE_PALE
Makes skin look lighter and more pale.
Definition: PerfectlyClearPro.h:315
PFCFBPARAM::iCatchLight
int iCatchLight
Catchlight level. Range 0 to 100.
Definition: PerfectlyClearPro.h:466
SKINMODE
SKINMODE
Enumeration defining modes in Perfect Smooth analysis.
Definition: PerfectlyClearPro.h:298
PFCCOREPARAM::fBiasScale
float fBiasScale
Scalar value of how much BIAS correction should be applied. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:422
BIAS_AVERAGE_PREFERENCE
@ BIAS_AVERAGE_PREFERENCE
For average usage, corresponds to "Normal" in PfC Products.
Definition: PerfectlyClearPro.h:290
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:531
PFCFBPARAM::bEnhance
BOOL bEnhance
Set to TRUE to enable eye enhancement.
Definition: PerfectlyClearPro.h:453
PFCV3PARAM::iFinishExposure
int iFinishExposure
Exposure correction amount.
Definition: PerfectlyClearPro.h:560
PFC_NR_MISC_ERROR
@ PFC_NR_MISC_ERROR
6 General error
Definition: PerfectlyClearPro.h:338
PFCFaceRect::smileLevel
int smileLevel
Indicates the presence of a smile.
Definition: PerfectlyClearPro.h:231
APPLY_INVALIDLICENSE
@ APPLY_INVALIDLICENSE
-6 Invalid License or validation failed
Definition: PerfectlyClearPro.h:390
PRESET_IAUTO_21
@ PRESET_IAUTO_21
The iAuto you love plus newly tuned settings for sharper images, accurate skin correction,...
Definition: PerfectlyClearPro.h:181
PFCIMAGEPROFILE::NR_Status
PFCNR_STATUS NR_Status
Status code for Noise Removal pre-calc analysis.
Definition: PerfectlyClearPro.h:601
PFCFBPARAM::iSmoothLevel
int iSmoothLevel
Face smoothing level. Range 0 to 100.
Definition: PerfectlyClearPro.h:448
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:331
PRESET_IAUTO_2019_RE
@ PRESET_IAUTO_2019_RE
iAuto 2019 with Red Eye correciton enabled
Definition: PerfectlyClearPro.h:180
MASK_ALL
@ MASK_ALL
1.0 everywhere (background)
Definition: PerfectlyClearPro.h:517
BGMASKPARAM
Struct defining parameters for building BG mask.
Definition: PerfectlyClearPro.h:620
PFCV3PARAM::iPreprocessEV
int iPreprocessEV
EV correction amount (Image Ambulace)
Definition: PerfectlyClearPro.h:544
PFCFBPARAM::bEnabled
BOOL bEnabled
Set to TRUE to enable entire face beautification.
Definition: PerfectlyClearPro.h:446
PFC_FB_NOT_EXECUTED
@ PFC_FB_NOT_EXECUTED
9 Not executed
Definition: PerfectlyClearPro.h:365
PFC_RE_GEN_ERROR
@ PFC_RE_GEN_ERROR
4 General error
Definition: PerfectlyClearPro.h:375
APPLY_WASM_INVALID_DOMAIN
@ APPLY_WASM_INVALID_DOMAIN
-7 Wrong domain for WASM certificate
Definition: PerfectlyClearPro.h:391
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:536
PFCCOREPARAM::eDCFMode
DCFMODE eDCFMode
Select different class of DCF.
Definition: PerfectlyClearPro.h:437
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:476
CONTRASTMODE
CONTRASTMODE
Enumeration defining contrast mode.
Definition: PerfectlyClearPro.h:265
CALC_SCENE_DETECTION
@ CALC_SCENE_DETECTION
Calculate Scene Detection.
Definition: PerfectlyClearPro.h:169
PFCFaceRect::heightImage
int heightImage
image height
Definition: PerfectlyClearPro.h:235
PFCIMAGEPROFILE::pInternal
PFCINTERNAL pInternal
Internal use only.
Definition: PerfectlyClearPro.h:598
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:220
PFC_ReleaseProtectionPath
void PFC_ReleaseProtectionPath()
Releases resources from PFC_SetProtectionPath function call.
PFCREJECTOPTION
PFCREJECTOPTION
Enumeration defining rejection flags.
Definition: PerfectlyClearPro.h:402
DCFMODE
DCFMODE
Enumeration defining DCF analysis mode.
Definition: PerfectlyClearPro.h:272
PFCFaceRect
Structure defining face attributes detected by the Face Detection library.
Definition: PerfectlyClearPro.h:218
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:325
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:351
PFC_FB_CANCELLED
@ PFC_FB_CANCELLED
4 Process cancelled
Definition: PerfectlyClearPro.h:360
BIAS_AUTO
@ BIAS_AUTO
Apply auto calculated bias mode and strength.
Definition: PerfectlyClearPro.h:293
PFCENGINE::status
PFCENGINESTATUS status
Status of engine defined in PFCENGINESTATUS. For NO-SFB version the status will always be ENGINESTATU...
Definition: PerfectlyClearPro.h:243
APPLY_LOOKS_MISSING
@ APPLY_LOOKS_MISSING
-12 tried to apply a LUT but the LUTs file was not found
Definition: PerfectlyClearPro.h:396
DCF_VIVID
@ DCF_VIVID
For more color vibrancy.
Definition: PerfectlyClearPro.h:274
PRESET_BEAUTIFY
@ PRESET_BEAUTIFY
Beautify - provides a good default set of corrections for portratis and other photos of people....
Definition: PerfectlyClearPro.h:174
PFCCOREPARAM::iMinStrength
int iMinStrength
Min exposure that will be remommended by Auto Exposure.
Definition: PerfectlyClearPro.h:441
PFCV3PARAM::lutInputSky
PFC3DLutInfo lutInputSky
LUT data to apply.
Definition: PerfectlyClearPro.h:551
PFCCOREPARAM::eAggressiveness
AGGRESSIVENESS eAggressiveness
The desired level of lighting for Automatic Strength Selection to target at the Exposure Correction.
Definition: PerfectlyClearPro.h:429
BIAS_DONT_BOTHER
@ BIAS_DONT_BOTHER
Reserved, never use.
Definition: PerfectlyClearPro.h:292
PFCPIXELFORMAT
PFCPIXELFORMAT
defines the format of the image data
Definition: PerfectlyClearPro.h:35
PFCV3PARAM::iDynamic
int iDynamic
Reserved should be 0.
Definition: PerfectlyClearPro.h:575
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:358
PFCCOREPARAM::bContrast
BOOL bContrast
Set to TRUE to also apply Athentech's patented Medical Imaging contrast technology.
Definition: PerfectlyClearPro.h:418
PFC_RE_SUCCESS
@ PFC_RE_SUCCESS
0 Success
Definition: PerfectlyClearPro.h:371
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:188
PFCFBPARAM::bCatchLight
BOOL bCatchLight
Set to TRUE to enable catchlight removal.
Definition: PerfectlyClearPro.h:465
PFCFBPARAM::bTeeth
BOOL bTeeth
Set to TRUE to enable teeth whitening.
Definition: PerfectlyClearPro.h:457
PFCFBPARAM::bSmooth
BOOL bSmooth
Set to TRUE to enable face smoothing.
Definition: PerfectlyClearPro.h:447
PFC_NR_NOTENABLED
@ PFC_NR_NOTENABLED
1 Feature not enabled
Definition: PerfectlyClearPro.h:333
PFCV3PARAM::iFinishShadows
int iFinishShadows
Shadows correction amount.
Definition: PerfectlyClearPro.h:562
PRESET_VIVID
@ PRESET_VIVID
Vivid - good for landscapes and other general photography. This is in the 'Perfectly Clear Essentials...
Definition: PerfectlyClearPro.h:177
PFCFBPARAM::bDeFlash
BOOL bDeFlash
Set to TRUE to enable deflash.
Definition: PerfectlyClearPro.h:463
PFCCOREPARAM::iMaxStrength
int iMaxStrength
Use this value to limit the maximum Exposure to be applied on the Automatic Exposure Strength Selecti...
Definition: PerfectlyClearPro.h:430
PFCFB_STATUS
PFCFB_STATUS
Enumeration defining status of Face Beautification pre-calculation.
Definition: PerfectlyClearPro.h:355
MASK_NONE
@ MASK_NONE
0.0 everywhere, don't apply
Definition: PerfectlyClearPro.h:516
PFCFBPARAM::iEnlargeLevel
int iEnlargeLevel
Eye enlargement level. Range 0 to 100.
Definition: PerfectlyClearPro.h:452
PFCIMAGEPROFILE::pNoiseParam
PFCINTERNAL pNoiseParam
Internal use only.
Definition: PerfectlyClearPro.h:595
PFCCOREPARAM::bDCF
BOOL bDCF
Set to TRUE to enable Digital Color Fidelity. Recommended value is FALSE.
Definition: PerfectlyClearPro.h:436
PFC_FB_ANALYSIS_FAILED
@ PFC_FB_ANALYSIS_FAILED
7 The face analysis did not complete successfully
Definition: PerfectlyClearPro.h:363
PFCCOREPARAM::bSharpen
BOOL bSharpen
Set to TRUE to enable sharpening.
Definition: PerfectlyClearPro.h:425
PFCV3PARAM::iDarkSkin
int iDarkSkin
Dark Skin output LUT amount.
Definition: PerfectlyClearPro.h:549
APPLY_WASM_EXPIRED_CERTIFICATE
@ APPLY_WASM_EXPIRED_CERTIFICATE
-10 WASM certificate has expired
Definition: PerfectlyClearPro.h:394
PFCCOREPARAM::fInfrared
float fInfrared
Scale value to control intensity of infrared correction. Range 0.0 to 1.0.
Definition: PerfectlyClearPro.h:432
PFC_REJECT_NONE
@ PFC_REJECT_NONE
Disable image rejection.
Definition: PerfectlyClearPro.h:403
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:362
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:377
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:449
PFCV3PARAM::iFinishVibrancy
int iFinishVibrancy
Vibrancy correction amount.
Definition: PerfectlyClearPro.h:566
APPLY_NOSOURCE
@ APPLY_NOSOURCE
-4 Pointer pImage is NULL, source image missing
Definition: PerfectlyClearPro.h:388
PFCCOREPARAM::iStrength
int iStrength
Set the strength of exposure correction. If Automatic Strength Selection is enabled,...
Definition: PerfectlyClearPro.h:417
PFCNRPARAM::iDetailOffset
int iDetailOffset
Offset to recommended level of preservation of details. Range -30 to 30.
Definition: PerfectlyClearPro.h:499
PFCFBFACEINFO
Structure defining face area detected from the SFB library.
Definition: PerfectlyClearPro.h:202
PFCFBPARAM::eLipSharpenType
LIPSHARPENTYPE eLipSharpenType
See definition of LIPSHARPENTYPE.
Definition: PerfectlyClearPro.h:480
TINTCORRECT_CONSERVATIVE
@ TINTCORRECT_CONSERVATIVE
Priority on minimum false positive detection.
Definition: PerfectlyClearPro.h:259
BIAS_ASIAN_PREFERENCE
@ BIAS_ASIAN_PREFERENCE
Fine tuned for Asian skin tone.
Definition: PerfectlyClearPro.h:289
CALC_CARTOON_DETECTOR
@ CALC_CARTOON_DETECTOR
Calculate legacy cartoon detector.
Definition: PerfectlyClearPro.h:167
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:431
PFCCOREPARAM::eContrastMode
CONTRASTMODE eContrastMode
Select contrast mode.
Definition: PerfectlyClearPro.h:419
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:386
PFC_FB_FUNCTION_ERROR
@ PFC_FB_FUNCTION_ERROR
5 Unable to locate function in the SFBEngine library
Definition: PerfectlyClearPro.h:361
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:350
PFC_RE_NOT_SUPPORTED
@ PFC_RE_NOT_SUPPORTED
8 Not supported
Definition: PerfectlyClearPro.h:379
PFCFBPARAM::iLipSharpen
int iLipSharpen
Lip sharpening level. Range 0 to 100.
Definition: PerfectlyClearPro.h:479
PFCCOREMask::angle
float angle
CW.
Definition: PerfectlyClearPro.h:534
PFCFBPARAM::colorSkinToning
unsigned int colorSkinToning
Skin Toning color AARRGGBB default 0xFFF5BCA9 ({245, 188, 169})
Definition: PerfectlyClearPro.h:483