mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-25 02:30:15 -06:00
Maker note 0x0096 of the D780, D6, Z 5, Z 6, Z 7 and Z 7_2 starts 0x44 0x40 and holds 257 points, but its first interval rises by 2^bits / 1024 where the 0x44 0x20 tables rise by 2^bits / 256: the curve is the identity in the dark part and covers 2^bits / 4 codes, not 2^bits. The decoder spaced the points 2^bits / 256 codes apart for both, so these files decoded to a fraction of their values, far below the black level. parse_table now takes the span from the version (0x20: all codes, 0x40: a quarter). Other versions decode to identical samples. A known-answer test built from hand-coded table bytes and bit strings fails without the change. Bumps RENDER_CACHE_VERSION to 12.