mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-24 18:18:12 -06:00
Sony bodies from before ~2017 (RX100–RX100M5, RX10, NEX, SLT, ILCE-6000, A7/A7II/A7RII, ...) write no plain 0x7313/0x7310/0x74c7 tags in the raw IFD, so the decoder used unit WB multipliers (strong green cast, e.g. the CC0 DSC-RX100M3 sample), black 512 (800 on 1-inch sensors), and kept padding columns at the right edge. - White balance: WB_RGBLevels from the maker note's enciphered Tag2010 block (layouts per ExifTool's Tag2010a..i tables; byte substitution p^3 mod 249 checked black-box on 15 CC0 files: SonyISO matches Exif ISO, ILCE-7M3 levels match its plain 0x7313). - Black level: recovered from the encrypted SR2SubIFD by known-plaintext analysis (constant key in every file; RX100M6/ILCE-7M3 plain 0x7310 as plaintext; 8 keystream bytes at offset 2510, plausibility-checked). - Crop: DNG DefaultCrop or the maker note's FullImageSize. - "12-bit uncompressed" ARWs hold 14-bit-scale data: black/white follow it. - Render cache version bumped; corpus manifest + corpus test, unit tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>