nx_png_dynamic_huffman_test.nx
buildroot/runtime/nx_png_dynamic_huffman_test.nx
about
nx_png_dynamic_huffman_test.nx -- regression smoke proving nx_png_decode
can consume a real-world dynamic-Huffman zlib stream (the format
every gen-img PNG uses).
SURFACED 2026-05-18 via empirical run: nx_image_grade_cli reports
IGV2_ERR_DECODER=3 on any real PNG. The companion smoke
nx_deflate_huffman_test.nx proved nx_deflate_inflate handles the
SAME 61-byte raw DEFLATE bytes when called directly. So the bug
is in nx_png_decode (or in how it hands IDAT bytes to nx_zlib_inflate).
Fixture: 124-byte PNG built by python zlib.compress(raw, 6) where
raw = 50 scanlines of "0x00 [200,170,150]*50". IDAT inner zlib
stream = 67 bytes (0x78 0x9c header + 61 raw DEFLATE + 4 adler).
Expected decode: width=50, height=50, pixels_size = 50*50*3 = 7500.
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_runtime.nxnx_png_decoder.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 20 | func main() -> nx_int |