Skip to content(if available)orjump to list(if available)

The JPEG XL Image Coding History, Features, Coding Tools, Design Rationale

_bent

This appears to be very well written and easy to understand even if you only know the basics of digital image encoding.

I found the parts about patching and frames with different blend modes very fascinating. I wonder if it would be possible to build a GUI DCC app that uses JpegXL as its project format. It seems that it could support layers, splines, symbols (transformed instances of layers), blend modes and animations without "baking" any of it to pixels

ekunazanu

JPEG XL had so much going for it. Kinda sad it was killed off just like that.

MrAlex94

As it currently stands there should be over a billion devices that natively support JPEG-XL, as it was introduced in all Apple OSs since September 2023[1].

On the web alone it should be close to a billion users with support for JXL due to Safari’s market share.

[1]: https://cloudinary.com/blog/jpeg-xl-how-it-started-how-its-g...

ndriscoll

It's also supported in Windows, GNOME, KDE, pretty much all image editors/viewers, and pretty much every other relevant program except for chromium based browsers.

account42

Not just Chromium-based browsers, Firefox as well. Might not make much of a difference for user counts but it does mean that so far it's available on the web is limited to a single vendor.

donatzsky

It wasn't killed off. Support was removed from Chrome, for what appears to be rather spurious reasons, but practically everyone else are busy implementing it.

jandrese

Sadly removing support from Chrome is effectively the same as killing it off. And the reason is Google wants people to use webp instead.

greenavocado

Friendly reminder that WebP is trash https://www.youtube.com/watch?v=w7UDJUCMTng

OneDeuxTriSeiGo

JXL is still alive and well, it's just taking time to reach the prime time.

- Mac OS, iOS, and Safari support JPEG-XL

- Windows has first party JPEG-XL support as of this year (admittedly it's opt in rather than default)

- Essentially every major image processing app, editor, or drawing app supports JPEG-XL

- Firefox has preliminary support for JPEG-XL gated behind a feature flag and the nightly release.

- The JPEG-XL team is writing a direct port of the reference libjxl library into rust[1]. There already exists a third party rust port by some of the mainline contributors and it has ironed out a lot of the issues with the porting process prior to this mainline port. This first party rust port is intended to be gradually brought up to a hardened, production ready state.

- Mozilla has stated they have no objections to fully adopting JPEG-XL in Firefox once the rust port is production ready [2].

The last major barriers other than getting the rust code production ready will be chrome and android's first party support/adoption.

------

TLDR: JPEG-XL is very much not dead and instead people are nose down working hard to continue pushing its adoption forward.

------

1. https://github.com/libjxl/jxl-rs

2. https://github.com/mozilla/standards-positions/pull/1064

ekunazanu

> To address this concern, the team at Google has agreed to apply their subject matter expertise to build a safe, performant, compact, and compatible JPEG-XL decoder in Rust, and integrate this decoder into Firefox.

I was not aware of this. Also judging by this and the sibling comments, it looks like the momentum didn't die despite Google's apathy. Hopefully the fact that their own team is now developing the rust port, as well as the growing support in other platforms, is enough to make Google reconsider its choices.

kllrnohj

> it looks like the momentum didn't die despite Google's apathy.

Google is a founding organization of jpeg-xl and are a core part of the team. Chromium punted it, but Google as an organization hasn't exactly since they haven't pulled out of jpegxl itself nor removed their engineers from it.

Big companies are big, they do conflicting things from time to time. Or often.

jeffbee

I am still surprised that WUFFS isn't being used to address safety concerns with the JPEG-XL reference library.

Dwedit

There's nothing stopping you from using it in your own applications. Just not directly in the browser for now.

robertoandred

It works in Safari and is coming to Firefox.

arp242

It wasn't "killed", it was always disabled by default in Chrome, and removed for really quite reasonable reasons: literally every other image decoder has had serious vulnerabilities. Enabling it by default would expose a gigantic attack surface that almost certainly will be exploited sooner or later.

This is also why Firefox doesn't support it by default (IIRC it doesn't even link against libjpegxl by default in release builds – only nightly ones).

There is nothing preventing the Chrome or Firefox people from revisiting all of this in the future.

It seems to me the Rust implementation of JPEG XL is by far the best path forward for broad JPEG XL support in Firefox, Chrome, and other browsers. While Rust is of course not a complete guarantee there will never be any security issues, it does eliminate virtually all of the major exploits that have targeted image decoders in the past. Both Firefox and Chrome have expressed interest in this.

badgersnake

And because they wanted to push WebP

lern_too_spel

Then why did they develop libjxl, and why are they working on jxl-rs? https://github.com/libjxl/libjxl/blob/main/AUTHORS https://github.com/libjxl/jxl-rs/blob/main/AUTHORS

Maybe their stated reason for not enabling support in Chrome is the actual reason.

arccy

if anything is being pushed these days, it'd be avif

arp242

WebP got added about 15 years ago or so. Chrome (and Firefox) learned the lessons from the problems that caused.

And "push WebP" for that purpose? Google as a whole benefits hugely from reduced image sizes.

Firefox also doesn't implement JXL as I mentioned. Are they trying to "push WebP" too now? This is such conspiratorial nonsense. No evidence for it at all. Doesn't even make any logical sense. Google literally worked (and continues to work) on JXL.

kevincox

...which overall is a pretty mediocre image format.

fc417fc802

JPEG XL is alive and well (as is ublock origin as it happens).

HourOrTwo

[dead]