FPC Native Codecs and Parallel Rendering
Windows FPC builds can use HotPDFFPCCodecs.dll for TIFF, JPEG, JPEG 2000, LittleCMS colour 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 clean-up as the Delphi pipeline
Operation configuration, ICC arrays, and cancellation-token references are captured at the start; each worker owns its renderer whilst immutable display lists and synchronised caches are shared
Keep the document alive and do not edit its page contents whilst 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