backport decoding improvements for libjxl #4044
Merged
+481
−213
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.
Brings over various decoding improvements from the libjxl repo (including one change that hasn't been officially added yet). changes ranging from quality to speed to stability.
If you prefer a better option compared to this PR might just be updating the copy of libjxl to the latest main branch from the official libjxl repo (which would include all the changes in this PR minus one) and then manually merging in the single pull request that hasn't been merged into the libjxl repo (this being the unmerged PR: libjxl/libjxl#4516)
examples.zip (JXL files that show noticeable visual improvements with these changes)
here is an example of the blue noise dithering (officially merged in main libjxl repo) and the decoding colorspace being changed to sRGB (not officially merged in main libjxl repo). These animated visual examples are being used here with permission from the creator:


below are all the changes brought in (only the bottom one isn't actually apart of the main libjxl repo)
libjxl/libjxl@2a4f12b
libjxl/libjxl@69ae5fb
libjxl/libjxl@a75b322
libjxl/libjxl@67a6f18
libjxl/libjxl@44eb4f9
libjxl/libjxl@e396172
libjxl/libjxl@c5a2fb5
libjxl/libjxl@4717d7d
libjxl/libjxl@e1fff8b
libjxl/libjxl@81247d5 (partial)
libjxl/libjxl@b3ebbf0
libjxl/libjxl#4516