Suggestion: Jpeg XL Support

Hi, the JpegXL bitstream has been frozen, which means that it's now safe to begin integrating it into various programs without the threat of things breaking over time.

In case you're unaware, Jpeg XL is a true successor to Jpeg. It's free, open source, and available at Gitlab under an apache 2 license. In other words, it's unlike those other shitter Jpeg formats like Jpeg2000 and Jpeg XR. This one is ACTUALLY good.

Jpeg XL is being developed by the creator of FLIF. Jpeg XL is a combination of Google's PIK image format, and FUIF.

It is being pushed as a next generation web image format since it offers great quality and an attractive encoding speed at smaller filesizes, so it should be well liked by CDNs such as Cloudinary.

Features of Jpeg XL:

  • Significantly better quality at a smaller filesize when using Distance parameter as opposed to the familiar Quantization parameter.

  • Supports Alpha channel

  • Jpeg XL is being pushed as a next generation image format by supporting wide color gamuts, high bit depths and HDR

  • Supports Lossless compression

  • Faster to encode and decode than AVIF at medium to high bits per pixel.

  • Supports lossless conversion of existing JPEGs to JXL (and back) with a nice filesize improvement. i.e. compatible with existing JPEGs and improves them with filters to reduce blocking artifacts.

  • More: JPEG - JPEG XL

1 Like

We don't generally add support for new image formats until they prove to be popular, since so many come and go that never gain adoption.

There is a viewer plugin API for anyone who wants support for this one sooner.

So, no thumbnail support?

Only if someone writes an Opus viewer plugin or a Windows thumbnailer (either of which would provide both thumbnails and image viewing).

If the format becomes popular, we may do one ourselves, but not until then. There's no point spending time implementing a format which no one is using.

Haven't tried this one yet, but seems promising: saschanaz/jxl-winthumb: A JPEG XL (*.jxl) thumbnail handler for Windows File Explorer. -

Seems to work! Thank you! :slight_smile:

I had to run the command prompt as administrator, and just to be sure, I followed the instructions and moved the dll into my downloads folder before running the command.

This is a thread for JPEG XL, not JPEG LS.

The library linked above jxl-winthumb provides thumbnails in both Explorer and DOpus (and preview pane works), but Viewer can't display the files. Is there a way to enable it or did you mean something else by "image viewing" and as you mentioned in another post, Viewer doesn't use thumbnails and thus requires a separate plugin

The preview pane will use shell thumbnailers, but the standalone viewer won't, because for some formats the thumbnails are very small (although it's up to the thumbnailer).

Is JPEG XL being used anywhere these days? I think the only place I've ever seen it mentioned is in this thread.

Might it be worth adding thumbnails as a fallback? These JXL and Microsoft's AVIF thumbnailers seem to allow arbitrary image size, so blur the difference between a thumbnail and an image

No idea, I'm just checking out these two awesome next-gen formats, hopefully they'll get mainstream adoption.
At the same time, JPEG XL is supported by major non-Safari browsers (Chrome, Firefox, Edge, though behind a flag), so I guess it's bound to appear more often once they move from behind a flag?

Agreed, that probably makes sense now more things are using thumbnail plugins as full image codecs.

If I had a dollar for every time a new "sure hit" image format came and went without changing anything, I'd be a rich man. :slight_smile:

Browsers being able to display a format is a big step, but it's not the whole battle. Think about what a pain it still is to get a WebP image from Chrome. Even though WebP is backed by Google, a huge tech company with a lot of influence, and Chrome (and Opus) can display it, you still can't use it in much else.

You can't even use WebP in Chrome if you then try to upload the file to almost any website. You have to convert WebP to JPG or PNG outside of Chrome (which I do via Opus's image converter) as a separate step. And for what? A saving of a few KB in an era with multi-TB drives and ADSL or even fiber internet. (Google could help there by making Chrome able to convert on the fly when uploading to sites that don't accept WebP, but their interest in the format seems to be in saving their own bandwidth more than anything else.)

Similarly, HEIC is backed by Apple (and came from Nokia), but I think the only place most people will run into the format is photos taken on an iPhone, and the format still isn't supported in much, resulting in the photos immediately being converted into JPEG if they end up being used anywhere else. iPhones are mainstream but that doesn't seem to have helped the format become a mainstream thing.

JPG and PNG are lacking some features. Transparency for JPG, and HDR support for both. Although, as great as HDR is for games and movies, HDR display standards (the very concept of calibration, let alone accuracy, is out the window, as every display does some randomly different thing) and HDR desktop monitors (most can display an HDR signal but are not really HDR yet) and the way HDR works in Windows (I could rant for days :)) are all such a mess now that image formats are not the main issue.

The problem is JPG and PNG, as an established combination, are so good enough that it's very difficult for any new format to gain traction, especially when the industry cannot seem to focus on any single replacement. Off the top of my head, we currently have WebP, JPEG 2000, JPEG XL, HEIC, AV1, and probably more I've forgotten, all better image formats which almost nothing supports and almost no one is using. Opus can view and convert three of those six out of the box. We may add more in the future.

That said, I am glad Opus does support WebP and HEIC as it'd be even more of a pain if I had to convert them to JPEG using something else. If Google Image Search or other websites started pushing JPEG XL files on me, I'd want an easy way to convert them as well. But I've so far never seen a JPEG XL file anywhere, and I forgot the format existed until this thread was bumped. Unless it's being used in a niche somewhere, it doesn't seem to be taking off.

I think JPEG 2000 was used in the niche of medical imaging for a while, but I don't know if that's still true. Interest in the format seemed to come and go, and I'm not sure it was worth the time we spent adding it to Opus.

But, getting back to your point about using shell thumbnailers in the image viewer, that would certainly be an easy thing for us to support, and would provide quick and basic viewing for any format with a thumbnailer that you can install. I'll put that on our list.

1 Like

Yeah, you've described a lot of the pain points in the video/image format scene and their walled gardens well, and it's a pity we still don't have a great universal alternative to the decade-old color/brightness awfulness :frowning: , hence I can only hope at least some of these next-gen formats don't fail like their predecessors

Well, its bitstream has been frozen for less than a year ("The JXL core bitstream was frozen in January 2021, the file format was finalized in April 2021"), no wonder it hasn't gained much adoption yet and hasn't even escaped a browser flag!
("The AV1 bitstream was frozen in 2018, the AVIF container spec was finalized in February 2019." per this site avif-vs-jpegxl)

Great, thanks!

I am now interested in this because JPEG XL support has been added to the first browser, Pale Moon.

Chromium based browsers (including Google Chrome) support it experimentally via a flag. I expect this won't be enough to justify native support though.

Mojo-Chan has made a JPEG XL plugin: