Bug 208235 - Support JPEG XL images
Summary: Support JPEG XL images
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Images (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Enhancement
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-26 04:51 PST by Gunther Brunner
Modified: 2021-05-06 10:03 PDT (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gunther Brunner 2020-02-26 04:51:33 PST
Why:
JPEG XL is the future of all image formats.

Explanation here:
https://www.slideshare.net/cloudinarymarketing/imagecon-2019-jon-sneyer

Reference implementation here:
https://gitlab.com/wg1/jpeg-xl
Comment 1 Jyrki Alakuijala 2021-04-23 06:34:54 PDT
I copied the description text from chromestatus.com https://www.chromestatus.com/feature/5188299478007808 here:

JPEG XL is a new royalty-free image codec targeting the image quality as found on the web, providing about 60% size savings when compared to original JPEG at the same perceptual quality, while supporting modern features like HDR, animation, alpha channel, lossless JPEG recompression, lossless and progressive modes. It is based on Google's PIK and Cloudinary's FUIF, and is in the final steps of standardization with ISO.

Motivation
The main motivations for supporting JPEG XL in Chrome are:
 - The improvement in image quality vs image size, about 60% file size savings for the same visual quality (lossy compression of larger originals) when compared to JPEG at the qualities found on the web.
Improved visual latency by both smaller download sizes and supporting progressive decoding modes.
 - Support for HDR, animation and progressive all together in the same image codec. 
 - Support for lossless-recompressed JPEGs
 - Ecosystem interest in JPEG XL: Several Google teams evaluated using JPEG XL for storing and delivering images, as well as outside of Google: including CDNs interest in storing lossless-recompressed JPEGs as JPEG XL and converting to JPEG on request is the browser doesn't support JXL. Facebook is exploring to use JPEG XL.
Comment 2 Jyrki Alakuijala 2021-04-23 06:44:45 PDT
Some more links about JPEG XL:

Committee draft of the JPEG XL spec: https://arxiv.org/abs/1908.03565

Search for JPEG XL issues on chromium.org: https://bugs.chromium.org/p/chromium/issues/list?q=component%3ABlink%3EImage%20jpeg%20xl&can=2

JPEG XL tracking bug on chromium: https://bugs.chromium.org/p/chromium/issues/detail?id=1178058

Intent-to-prototype chromium.org blink-dev group discussion thread: https://groups.google.com/a/chromium.org/g/blink-dev/c/WjCKcBw219k

https://www.chromestatus.com/features#tags%3Ajxl shows both the content encoding and image encoding possibilities for JPEG XL. After reflecting on the advice from W3C HTTP WG members <https://lists.w3.org/Archives/Public/ietf-http-wg/2020JulSep/0102.html> we are prioritizing image coding over content encoding.
Comment 3 Jyrki Alakuijala 2021-04-26 12:17:02 PDT
Respective Bugzilla entries:

Initial bug with some discussion: https://bugzilla.mozilla.org/show_bug.cgi?id=1539075

Initial implementation of JXL in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1707590
Comment 4 Sam Sneddon [:gsnedders] 2021-05-06 08:17:55 PDT
See also the thread at https://lists.webkit.org/pipermail/webkit-dev/2021-May/031844.html

As noted there, for the Apple WebKit ports, image format support depends on OS library support, and those libraries do not currently support JPEG XL.