Skip to content

Take the jpeg2000 releases that fix tiling and stop refusing an empty tile - #99

Merged
tannevaled merged 1 commit into
mainfrom
bump-jpeg2000-v0132
Sep 29, 2026
Merged

tannevaled merged 1 commit into
mainfrom
bump-jpeg2000-v0132

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

v0.13.2 brings one change that reaches a reader here: the decoder no longer
errors when a tile has code blocks and none is included in any packet. That
is not a parsing failure — it is what a tile whose coefficients all quantise to
zero looks like, and opj_decompress decodes such a file without complaint,
rendering the pixel as 128, the DC level shift. We discarded the whole page.

All 3215 documents of the measured corpus render byte-identically (0
different, 66 drawn by neither, population floor 3000).

That is the proof this bump needs, and it is worth saying what it does and does
not show: the change costs nothing here. It does not gain anything here
either — no corpus document takes that path. What it gains is files this corpus
does not hold.

The rest of the span, v0.12.1 through v0.13.1, is the tiled encoder, which
nothing in this repository calls. For the record, over those releases every tile
grid now survives a lossless round trip where eight did not, verified by
opj_decompress on six of them.

🤖 Generated with Claude Code

… tile

v0.13.2 brings one change that reaches a reader here: the decoder no longer
returns an error when a tile has code blocks and none is included in any
packet. That is not a parsing failure, it is what a tile whose coefficients all
quantise to zero looks like, and OpenJPEG decodes such a file without
complaint. We were discarding the whole page.

The corpus does not exercise it: all 3215 documents render byte-identically.
That is the proof this bump needs -- it says the change costs nothing here, not
that it gains anything here. What it gains is files this corpus does not hold.

The rest of the span, v0.12.1 through v0.13.1, is the tiled ENCODER, which
nothing in this repository calls.
@tannevaled
tannevaled merged commit ee4e854 into main Sep 29, 2026
9 checks passed
@tannevaled
tannevaled deleted the bump-jpeg2000-v0132 branch September 29, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant