C API Reference
Reference documentation for the Perfectly Clear C API.
The C API is the native interface to the Perfectly Clear SDK, defined in PerfectlyClearPro.h. Include this header in your project to access all SDK functionality.
#include "PerfectlyClearPro.h"Overview
The C API follows a straightforward workflow:
- Initialize: Set up license protection and create an engine instance
- Configure: Set correction parameters using presets or custom values
- Process: Either use PFC_AutoCorrect for simple processing, or PFC_Calc + PFC_Apply for interactive workflows
- Cleanup: Release resources when done
Sections
The C API documentation is organized into the following sections.
- Functions: All SDK functions grouped by purpose
- Enums: Pixel formats, feature flags, correction modes, and status codes
- Structs: Parameter structures for configuring corrections
- Error Codes: Return codes and decode macros
PFCImageFile quick flow
For file-based pipelines, use the optional PFCImageFile helper APIs to handle JPEG/PNG/WebP IO, metadata, and color conversion:
- Load source image with
PFCImageFile::LoadImageFile - Process image data with PFC_AutoCorrect or PFC_Calc + PFC_Apply
- Save output with
PFCImageFile::SaveImageFile
Related reference entries:
PFCImageFile::ExpandImageBufferPFCImageFile::CompressImageBufferPFCImageFile::SetOutputIccProfilePFC_FILE_LOAD_STATUSPFC_FILETYPEPFC_FLASH_STATUS
Platform Notes
On Linux, the SDK defines some Windows-style types for compatibility:
#ifdef _LINUX
#define BOOL int
#define ULONG unsigned long
#define UINT unsigned int
#define TRUE 1
#define FALSE 0
#endifThread Safety
By default, the SDK uses multi-threaded processing for optimal performance. Use PFC_SetSingleThreadedEngine to force single-threaded mode if needed.
PFC-SDK Version 10.7.3.1317 built from df9dbc8727c92fb9b1d2c68b21e60ea9c7229e1a on 03-23-2026.
Copyright © 2026 EyeQ Imaging Inc. All rights reserved.