Enums
Enumeration types in the Perfectly Clear C API.
This page documents all enumeration types in the Perfectly Clear C API.
Pixel formats
These enumerations define the supported image pixel formats for processing.
PFCPIXELFORMAT
Defines the format and byte order of image pixel data passed to the SDK.
| Value | Description |
|---|---|
PFC_PixelFormat24bppRGB | 24-bit RGB, 8 bits per channel |
PFC_PixelFormat24bppBGR | 24-bit BGR, 8 bits per channel |
PFC_PixelFormat32bppABGR | 32-bit ABGR with alpha |
PFC_PixelFormat32bppARGB | 32-bit ARGB with alpha |
PFC_PixelFormat48bppRGB | 48-bit RGB, 16 bits per channel |
PFC_PixelFormat48bppBGR | 48-bit BGR, 16 bits per channel |
PFC_PixelFormat64bppARGB | 64-bit ARGB, 16 bits per channel |
PFC_PixelFormat64bppABGR | 64-bit ABGR, 16 bits per channel |
Engine status
These codes indicate the result of engine initialization operations.
PFCENGINESTATUS
Reports the status of a PFCENGINE instance after creation.
| Value | Description |
|---|---|
ENGINESTATUS_OK | Engine created successfully |
ENGINESTATUS_FB_LIBRARY_LOAD_FAIL | Unable to load the SFB library |
ENGINESTATUS_FB_FUNCTION_NOT_FOUND | Unable to locate SFB functions |
Feature flags
These flags control which correction features are calculated during image analysis.
PFCFEATURE
Specifies which correction types to calculate, and can be combined with bitwise OR for multiple features.
| Value | Description |
|---|---|
CALC_CORE | Calculate for Core correction |
CALC_NR | Calculate for Noise Removal |
CALC_FB | Calculate for Face Beautification |
CALC_RE | Calculate for Red Eye Removal |
CALC_ALL | Calculate for all classic features |
CALC_NOTINTCALC | Skip Abnormal Tint pre-calculations |
CALC_NOFAE | Skip Face Aware Exposure pre-calculations |
CALC_FAEHISPEED | Use fast mode for Face Aware Exposure |
CALC_SCENE_DETECTION | Calculate Scene Detection |
CALC_COMPOSITE | Calculate Composite Detection |
CALC_SKINTONE | Calculate Skin Tone Detection |
CALC_AICOLOR | Calculate Auto White Balance |
Presets
These identifiers select built-in parameter configurations optimized for different use cases.
PFCPRESETID
Identifies a built-in preset that initializes correction parameters with optimized default values.
| Value | Description |
|---|---|
PRESET_NONE | All corrections off |
PRESET_BEAUTIFY | Good defaults for portraits |
PRESET_BEAUTIFYPLUS | Stronger beautification |
PRESET_DETAILS | Legacy iAuto Details |
PRESET_VIVID | Good for landscapes |
PRESET_INTELLIGENTAUTO | Legacy Intelligent Auto |
PRESET_IAUTO_2019 | iAuto 2019 |
PRESET_IAUTO_2019_RE | iAuto 2019 with Red Eye |
PRESET_IAUTO_21 | iAuto 2021 |
PRESET_IAUTO_21_ASIA | iAuto 2021 for Asian skin tones |
PRESET_IAUTO_PEOPLE | Default preset for 2023 |
Correction modes
These enumerations configure the behavior of specific correction algorithms.
TINTCORRECTION
Controls the sensitivity of abnormal tint detection and correction.
| Value | Description |
|---|---|
TINTCORRECT_AGGRESSIVE | Aggressive detection |
TINTCORRECT_DEFAULT | Moderate detection |
TINTCORRECT_CONSERVATIVE | Minimum false positives |
TINTCORRECT_STRONGEST | Highest sensitivity |
CONTRASTMODE
Selects between contrast enhancement and detail preservation modes.
| Value | Description |
|---|---|
HIGH_CONTRAST | Higher contrast |
HIGH_DEFINITION | More shadow and highlight details |
DCFMODE
Controls the Digital Color Fidelity analysis mode for color accuracy.
| Value | Description |
|---|---|
DCF_STANDARD | For normal photos |
DCF_VIVID | For more color vibrancy |
AGGRESSIVENESS
Sets how aggressively the Auto Exposure algorithm adjusts brightness.
| Value | Description |
|---|---|
AGGRESSIVENESS_CONSERVATIVE | Less aggressive |
AGGRESSIVENESS_MODERATE | Moderate |
AGGRESSIVENESS_AGGRESSIVE | More aggressive |
BIASMODE
Configures skin tone and depth bias preferences for exposure calculations.
| Value | Description |
|---|---|
BIAS_NONE | Turn off bias |
BIAS_ASIAN_PREFERENCE | Asian skin tone |
BIAS_AVERAGE_PREFERENCE | Average or Normal |
BIAS_BRIGHTER_PREFERENCE | Brighter tone |
BIAS_AUTO | Auto-calculated |
Face beautification modes
These enumerations configure Face Beautification correction behaviors.
SKINMODE
Determines whether skin corrections apply only to detected faces or to all skin regions.
| Value | Description |
|---|---|
SKINMODE_FACE | Face regions only |
SKINMODE_BODY | All skin regions |
SKINSMOOTHTYPE
Selects the intensity and style of skin smoothing applied to faces.
| Value | Description |
|---|---|
SKINSMOOTHTYPE_SUBTLE | Keeps face texture |
SKINSMOOTHTYPE_DEFAULT | Balanced |
SKINSMOOTHTYPE_SUPERSMOOTH | More aggressive |
SKINTONINGTYPE
Specifies the type of skin tone adjustment to apply.
| Value | Description |
|---|---|
SKINTONINGTYPE_WHITE | Whitens face |
SKINTONINGTYPE_PALE | Lighter, more pale |
SKINTONINGTYPE_WARM | Warms skin tone |
SKINTONINGTYPE_TAN | Naturally tanned |
SKINTONINGTYPE_FOUNDATION | User-defined color |
LIPSHARPENTYPE
Controls the intensity of lip edge sharpening in portraits.
| Value | Description |
|---|---|
LIPSHARPENTYPE_FINE | Fine sharpening |
LIPSHARPENTYPE_MEDIUM | Stronger |
LIPSHARPENTYPE_COARSE | Coarsely pronounced |
Status codes
These enumerations report the results of SDK operations.
PFCAPPLYSTATUS
Indicates the result of PFC_Apply and PFC_AutoCorrect operations.
| Value | Description |
|---|---|
APPLY_SUCCESS | Success (value 0) |
APPLY_ERROR_PROFILE_MISSING | Profile is NULL (value -1) |
APPLY_ERROR_ENGINE_MISSING | Engine is NULL (value -2) |
APPLY_CANCELLED | Cancelled by callback (value -3) |
APPLY_NOSOURCE | Source image is NULL (value -4) |
APPLY_BADFORMAT | Unsupported pixel format (value -5) |
APPLY_INVALIDLICENSE | Invalid license (value -6) |
APPLY_LOOKS_MISSING | LUT file not found (value -12) |
APPLY_ERROR_AI_CORRECTION_MISSING | AI correction unavailable (value -13) |
PFCNR STATUS
Reports the result of Noise Removal pre-calculation analysis.
| Value | Code | Description |
|---|---|---|
PFC_NR_SUCCESS | 0 | Success |
PFC_NR_NOTENABLED | 1 | Not enabled |
PFC_NR_FULLRES_REQUIRED | 2 | Source image missing |
PFC_NR_CANCELLED | 3 | Cancelled |
PFC_NR_NOTFOUND | 7 | Noise not found |
PFCCORE STATUS
Reports the result of Core correction pre-calculation analysis.
| Value | Code | Description |
|---|---|---|
PFC_CORE_SUCCESS | 0 | Success |
PFC_CORE_NOTENABLED | 1 | Not enabled |
PFC_CORE_CANCELLED | 2 | Cancelled |
PFC_CORE_NOSOURCEIMAGE | 3 | Source image missing |
PFC_CORE_INSUFFICIENTMEMORY | 4 | Insufficient memory |
PFC_CORE_MONOLITHIMAGE | 5 | Monolith image skipped |
PFC_CORE_BELOWMINSIZE | 6 | Image too small |
PFC_CORE_CLIPARTIMAGE | 7 | Clipart skipped |
PFCFB STATUS
Reports the result of Face Beautification pre-calculation analysis.
| Value | Code | Description |
|---|---|---|
PFC_FB_SUCCESS | 0 | Success |
PFC_FB_NOTENABLED | 1 | Not enabled |
PFC_FB_WARNING | 2 | Face not detected |
PFC_FB_NOT_AVAILABLE | 10 | Feature unavailable |
PFCRE STATUS
Reports the result of Red Eye correction pre-calculation analysis.
| Value | Code | Description |
|---|---|---|
PFC_RE_SUCCESS | 0 | Success |
PFC_RE_NOTENABLED | 1 | Not enabled |
PFC_RE_NOT_FOUND | 3 | Red eye not found |
Rejection options
These flags control automatic rejection of images that are unsuitable for correction.
PFCREJECTOPTION
Specifies which types of images should be automatically rejected during PFC_Calc.
| Value | Description |
|---|---|
PFC_REJECT_NONE | Disable rejection |
PFC_REJECT_MONOLITH | Reject solid colors |
PFC_REJECT_CLIPART | Reject clipart (default) |
AI features
These flags control loading and use of AI-powered correction features.
PFCAIFEATURE
Specifies which AI models to load when calling PFC_LoadAIEngine.
| Value | Required Files | Description |
|---|---|---|
AI_SCENE_DETECTION | pro and universal pnn | Scene detection |
AI_CORRECTIONS | dynamic.pnn | AI corrections |
AI_COMPOSITE | composite.pnn | Composite detection |
AI_SKINTONE | auto | Skin tone detection |
AI_COLOR | aicolor.pnn | AI White Balance |
AI_FACEMESH | Face mesh model | Face mesh |
PFCCOMPOSITE
Indicates the result of composite image detection analysis.
| Value | Description |
|---|---|
PFC_COMPOSITE_FAILED | Detection failed |
PFC_COMPOSITE_SKIP | Skip processing |
PFC_COMPOSITE_PHOTO | Is a photo |
Mask types
These values define mask shapes for gradient filter effects.
PFCCORE MASK TYPE
Specifies the shape of a gradient mask for selective corrections.
| Value | Description |
|---|---|
MASK_NONE | Do not apply |
MASK_ALL | Background with 1.0 everywhere |
MASK_RADIAL | Ellipse mask |
MASK_TOP | Linear from top |
MASK_BOTTOM | Linear from bottom |
MASK_ROUNDRECT | Rounded rectangle |
PFC-SDK Version 10.7.2.1269 built from 4fa849d8101945eea725a08dd0dae5101f090fa0 on 11-10-2025.
Copyright © 2026 EyeQ Imaging Inc. All rights reserved.