Take the jpeg2000 releases that fix tiling and stop refusing an empty tile - #99
Merged
Merged
Conversation
… 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_decompressdecodes 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_decompresson six of them.🤖 Generated with Claude Code