fix: handle WhiteIsZero for extended bit depths, add comprehensive tests

Fix invert_colors to support extended bit depths (9-15 promoted to u16,
17-31 promoted to u32). Byte-wise NOT doesn't work for promoted samples
because it flips unused upper bits; use (max - value) instead.

Add regression tests covering the extended depth matrix:
- Gray 10/14/24-bit (contiguous, BlackIsZero)
- RGB 10/14/24-bit (contiguous)
- RGB 10/12/14/24-bit (planar)
- Gray 12-bit with WhiteIsZero (synthetic 4x2 image)
- Gray 12-bit with horizontal predictor (synthetic 4x2 image)
This commit is contained in:
Lilith River committed 2026-03-10 06:02:19 -06:00
1 parent 4ff374990e
commit 29e43d2314
4 files changed
+167

No files matched your search

Binary file not shown.
Binary file not shown.