Skip to content

Commit e573a71

Browse files
committed
Add 21 JXL files exposing libjxl/jxl-rs LZ77 distance-cluster bug
These VarDCT bitstreams use Optimal or Greedy LZ77 backward references (produced by imazen/jxl-encoder at e9 + low distance on screen content). libjxl djxl 0.12.0 and jxl-oxide 0.12.5 decode them cleanly; libjxl/jxl-rs v0.4.3 rejects all of them with Invalid AC: N nonzeros after decoding block (root cause: context_map padding shifted the LZ77 distance cluster away from context_map.last(); fix in libjxl/jxl-rs#766). libjxl's encoder pins LZ77 to kRLE for VarDCT at every effort tier (enc_ans_params.h + enc_frame.cc:1259-1263), so existing libjxl test corpora don't exercise the Optimal/Greedy LZ77 + VarDCT code path. Adding these files to the conformance corpus so any future jxl-rs or jxl-oxide regression in this area is caught. Files split into two clusters: - akfcrc022_e9_d{1.5,2.0,3.0}: 3 files, 22-29 KB each (smallest reproducer is akfcrc022_e9_d3.0.jxl at 22 KB; also committed in-tree to imazen/zenjxl-decoder/tests/testdata/) - gb82-sc_*_d{0.25,0.5,1.0,1.5,2.0}: 18 files, 32-447 KB; screen-content variants (terminal, gui, codec_wiki, gmessage, graph, imac, windows) at varying distances References regenerate via jxl/generate_references.sh. Refs: - libjxl/jxl-rs#765 (bug) - libjxl/jxl-rs#766 (fix) - imazen/zenjxl-decoder#15 (downstream tracking) - imazen/jxl-encoder#29 (encoder default rationale)
1 parent 005b8cc commit e573a71

21 files changed

28.3 KB
Binary file not shown.
25.5 KB
Binary file not shown.
21.9 KB
Binary file not shown.
154 KB
Binary file not shown.
121 KB
Binary file not shown.
202 KB
Binary file not shown.
152 KB
Binary file not shown.
36.9 KB
Binary file not shown.
31.2 KB
Binary file not shown.
70.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)