Donatzsky
(Nis Donatzsky)
June 16, 2026, 12:52pm
121
Any sane website would provide a JPEG or WebP fallback, so that shouldn’t happen. The Rust-based decoder is still very new, so rolling it out like this makes sense, since there may still be bugs.
3 Likes
Donatzsky
(Nis Donatzsky)
June 16, 2026, 1:13pm
122
And so far only Safari has full support, so it wouldn’t make sense to only use JXL on a website.
2 Likes
martbetz
(ᴍᴀʀᴛ ʙᴇᴛᴢ)
June 20, 2026, 6:46pm
123
It’s good to see a step in (what I believe) is the right direction. If memory serves, that’s now Safari, Chromium, Firefox, and Thorium all supportung JPEG XL in some shape or form.
1 Like
Donatzsky
(Nis Donatzsky)
July 2, 2026, 10:19am
125
With JPEG-XL’s libjxl 0.12 release, progressive lossless images are 30~40% smaller than before while with new multi-threaded handling there is a 2-5x performance improvement in encoding performance. Lossless images in general are decoding faster too and 30~80% smaller.
Those are some significant improvements.
4 Likes
Tamas_Papp
(Tamas K. Papp)
July 2, 2026, 10:30am
126
I looked at the PRs but don’t understand where that is coming from, if anyone knows please share, I am curious.
I can’t single out a single commit which explicitly mentions that in the comments.
Tamas_Papp
(Tamas K. Papp)
July 2, 2026, 11:34am
128
I think it is
main ← jonnyawsom3:FastSqueezeFixes
opened 01:40PM - 18 Apr 25 UTC
### Description
This PR changes the encoding parameters for Lossless when `--… faster_decoding` is 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.
| BPP | Main | PR | Δ (%) |
|------|-------|----|--------|
| Default Lossless | 3.458 | 3.457 | N/A |
| Faster Decoding 1 | 15.760 | 3.497 | -77.81 |
| Faster Decoding 2 | 15.760 | 3.578 | -77.30 |
| Faster Decoding 3 | 5.755 | 4.172 | -27.51 |
| Faster Decoding 4 | 5.755 | 4.478 | -22.19 |
| Progressive | 7.948 | 5.047 | -36.50 |
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.
| Decode (MP/s) | Main | PR | Δ (%) |
|------|-------|----|--------|
| Default Lossless | 43.01 | 43.01 | N/A |
| Faster Decoding 1 | 134.56 | 76.60 | -43.07 |
| Faster Decoding 2 | 134.56 | 84.31 | -37.34 |
| Faster Decoding 3 | 112.98 | 142.22 | +5.69 |
| Faster Decoding 4 | 112.98 | 169.22 | +25.76 |
| Progressive | 35.41 | 41.72 | +21.24 |
A bonus major speed up for progressive lossless encoding too, using Local MA trees but still buffering the full image.
| Encode (MP/s) | Main | PR | Δ (%) |
|------|-------|----|--------|
| Progressive | 0.65 | 4.81 | +740 |
Fixes #2812
Fixes #3532
### Pull Request Checklist
- [x] **CLA Signed**: Have you signed the [Contributor License Agreement](https://code.google.com/legal/individual-cla-v1.0.html) (individual or corporate, as appropriate)? Only contributions from signed contributors can be accepted.
- [x] **Authors**: Have you considered adding your name to the [AUTHORS](AUTHORS) file?
- [x] **Code Style**: Have you ensured your code adheres to the project's coding style guidelines? You can use `./ci.sh lint` for automatic code formatting.
Please review the full [contributing guidelines](https://github.com/libjxl/libjxl/blob/main/CONTRIBUTING.md) for more details.
but currently I have no time to invest understanding it.
Yes, I skimmed through the 56 commits of that PR, out of curiosity.
1 Like