EyeQ Docs

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:

  1. Initialize: Set up license protection and create an engine instance
  2. Configure: Set correction parameters using presets or custom values
  3. Process: Either use PFC_AutoCorrect for simple processing, or PFC_Calc + PFC_Apply for interactive workflows
  4. 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:

  1. Load source image with PFCImageFile::LoadImageFile
  2. Process image data with PFC_AutoCorrect or PFC_Calc + PFC_Apply
  3. Save output with PFCImageFile::SaveImageFile

Related reference entries:

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
#endif

Thread 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.

On this page