FPC Native Codecs and Parallel Rendering

Windows FPC builds can use HotPDFFPCCodecs.dll for TIFF, JPEG, JPEG 2000, LittleCMS color conversion, JBIG2 encoding/decoding, and Zopfli compression

The bridge is built from the repository's bundled third-party sources with a static C runtime; use Lib/thirdparty/FPC/Build-Codecs.ps1 to generate matching Win32 or Win64 binaries

Deploy the matching DLL beside the application executable; the loader uses that explicit path and checks ABI version, pointer width, and the complete export set before enabling native codecs

Missing or incompatible native libraries disable their capabilities safely; supported Pascal fallbacks remain available and unsupported codec calls fail explicitly

Parallel PDF rendering

FPC page, ordered-page, tile, and band rendering now use explicit worker threads, with the same memory admission, bounded output queues, ordered caller-thread delivery, cancellation, and exception cleanup as the Delphi pipeline

Operation configuration, ICC arrays, and cancellation-token references are captured at the start; each worker owns its renderer while immutable display lists and synchronized caches are shared

Keep the document alive and do not edit its page contents while a parallel render is running

JPEG 2000 tiled decoding also uses explicit FPC worker threads, with serial/parallel pixel equivalence and cooperative cancellation

Verification

Tests/FPC/Run-NativeCodecTests.ps1 exercises both architectures, native codec round trips, missing/incompatible DLLs, reduced JPEG decoding, real thread overlap, serial/parallel pixel equality, callback order, budgets, cancellation, and recovery after callback errors