-
Notifications
You must be signed in to change notification settings - Fork 317
Rebalanced Faster Decoding and fixed Progressive for Lossless #4201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Wouldn't build.
Flyby fix to reinstate libjxl#627 after being reverted in libjxl#3420
Code order was changed making it infeasible
Code order was changed making it infeasible
|
Congrats! Unfortunately I concentrated on other things from #4028, and it stroke back. |
|
Have you checked also influence of this fix on density? #4135 |
|
Thanks! You gave me a possible lead on fixing the |
|
Going to hold on #4207 before merging with main again, to hopefully pass all checks. |
WASM is failing too, hmm... |
Last I checked it was a cache error, so should be fine next time it runs |
|
@Melirius As it turns out, #4154 is the culprit of the small regression for
|
|
Just increase the number of buckets per property, this is the only sane way. |
Fixes #4584 A minor edit with large consequences. Previously the setting would encode uncompressed files due to a bug, causing the much faster encoding as stated in the old description. In the upcoming v0.12 libjxl release, [my PR](libjxl/libjxl#4201) overhauls the setting, to correctly scale decode speed at the cost of density. --------- Signed-off-by: Jonathan Brown <jonathanbr30@gmail.com>
|
When setting |
|
Ah, I thought we'd done that. Thanks for catching it. Probably use Gradient instead as that's closest. |
…ftwareFoundation#4812) Fixes AcademySoftwareFoundation#4584 A minor edit with large consequences. Previously the setting would encode uncompressed files due to a bug, causing the much faster encoding as stated in the old description. In the upcoming v0.12 libjxl release, [my PR](libjxl/libjxl#4201) overhauls the setting, to correctly scale decode speed at the cost of density. --------- Signed-off-by: Jonathan Brown <jonathanbr30@gmail.com>
…ftwareFoundation#4812) Fixes AcademySoftwareFoundation#4584 A minor edit with large consequences. Previously the setting would encode uncompressed files due to a bug, causing the much faster encoding as stated in the old description. In the upcoming v0.12 libjxl release, [my PR](libjxl/libjxl#4201) overhauls the setting, to correctly scale decode speed at the cost of density. --------- Signed-off-by: Jonathan Brown <jonathanbr30@gmail.com>
Description
This PR changes the encoding parameters for Lossless when
--faster_decodingis specified, resulting in up to 80% smaller files and 25% faster decoding. Also includes a flyby fix for lossy Delta Palette encoding on images above 2048*2048.Progressive Lossless is also improved. Up to 40% smaller files and 20% faster decoding, with an additional 800% encode speed increase, thanks to enabling local MA trees.
These results change depending on encoding parameters, image content, CPU and decoder.
Only libjxl and jxl-oxide were tested, due to jxlatte being too unstable. Oxide proved to be considerably faster for Progressive Lossless and our new level 4 Faster Decoding, suggesting libjxl could be improved by examining it.
Tested on a Ryzen 5600H with a 10 MP image at effort 7.
BPP is now much more inline with the base effort 7 encode, following a logical progression of less density as you increase level.
Levels 1-4 now make sense for decoding speed as well, with 3 and 4 now faster than effort 1. Progressive also got a boost.
A bonus major speed up for progressive lossless encoding too, using Local MA trees but still buffering the full image.
Fixes #2812
Fixes #3532
Pull Request Checklist
./ci.sh lintfor automatic code formatting.Please review the full contributing guidelines for more details.