mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-31 21:48:53 -06:00
The Fujifilm entropy reader read each unary prefix one bit at a time and refilled its accumulator a byte at a time. It now keeps up to 64 bits buffered and counts a prefix's zeros with leading_zeros, failing exactly where reading bit by bit would (escape limit, end of stream). A property test checks it against reading bit by bit. Sensor arrays are unchanged bit for bit: the 17 reference arrays of corpus_fujifilm_compressed_samples, plus decode checksums of 20 X-Trans CMOS 4 files. Decode on an Apple M2: X-S10 lossless 265 -> 226 ms, X-H2 448 -> 378 ms, GFX 100 762 -> 644 ms (docs/raf-compression.md). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>