lightcraft/crates/codecs/tests
akvaithi e11db8fea0 LR-HDR-EXPORT: ISO 21496-1 gain map JPEG codec
`lightcraft_codecs::gainmap`:
- `compute` measures a gain map (luminance or RGB, log2, block-averaged)
  from an SDR and an HDR rendition; `apply` rebuilds the HDR rendition.
- ISO 21496-1 metadata: writer (fixed denominator) and reader (also the
  common-denominator form; refuses unknown versions, backward maps and zero
  denominators). Adobe `hdrgm` XMP reader and writer, per-channel values as
  rdf:Seq; Apple's HDRGainMap/HDRToneMap description of the same map.
- `encode_jpeg`: base with CIPA DC-007 MPF index (gain map typed 0x050000),
  the ISO marker and Container XMP merged into the user's packet, followed by
  the gain map JPEG. `read_jpeg` / `is_gain_map_jpeg` find and decode the map.

Also: gain map images are no longer picked as embedded thumbnails (an Ultra
HDR JPEG could show its greyscale gain map in the grid). The JPEG APP-segment
building is shared with `encode_jpeg`. Fuzzed with the other decoders.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 22:01:35 -05:00
..
bench.rs M1.1: codecs fuzz/corpus/bench tests, thumbnail options, README 2026-09-30 12:26:05 -04:00
corpus.rs M1.1: codecs fuzz/corpus/bench tests, thumbnail options, README 2026-09-30 12:26:05 -04:00
fuzz.rs LR-HDR-EXPORT: ISO 21496-1 gain map JPEG codec 2026-10-09 22:01:35 -05:00
header.rs Batch fix: the header test's RLE PSD fixture uses PackBits runs of at most 128 bytes 2026-10-08 22:23:51 +00:00
roundtrip.rs TIFF: decode 1-, 2- and 4-bit samples 2026-10-08 14:47:51 +02:00