Hi Martin,
Yeah, it's more like "let's start and iterate on a prototype and we'll
see how it goes". Once we get the prototype we can get the performance
data on Gecko to investigate further. (I wonder Jake also have CLI
benchmark comparison, which would draw a line of how fast the browser
integration can be. Too much difference from CLI benchmark would point
out a potential integration issue.)
I think I would be positive to ship it when the performance is
comparable enough to existing formats like AVIF. (The definition of
"comparable" can be discussed further.) If it turns out to be
impossible, we'll need some investigation.
For extra features, I'd probably say we should support everything we
support for AVIF when shipping. (Probably not wide gamut because I don't
think we support it right now, while we should definitely have
progressive rendering.)
CC'ing tnikkel as image is more of his module and he may have different
opinions.
Kagami
On 27/01/2026 12:27, Martin Thomson wrote:
Hi Kagami,
What questions do you think you would answer with a prototype? It
seems like this is about getting an implementation in place in
preparation for shipping, but not committing to shipping. That's a
good plan in this case.
I've discussed this with Jake and my understanding is that the Rust
implementation is currently about 2x slower than the (unsafe) C++
reference implementation. That doesn't seem like it would be good for
Firefox, especially since the C++ implementation is still
substantially slower than decoders for other formats. At what point
would we think the code is fast enough to ship?
Are there other things that a prototype might need to resolve before
shipping? Features in the format we might need extra capabilities to
support, like progressive rendering or wide gamut or anything in the
long list of features for the format?
On Tue, Jan 27, 2026 at 12:23 AM 'Kagami Rosylight' via
[email protected] <[email protected]> wrote:
(The previous intent in 2021 is here
<https://groups.google.com/a/mozilla.org/g/dev-platform/c/wdB1v7sKcdo>.)
/Summary/: JPEG XL is a new emerging image format that has been
adopted by multiple software
<https://en.wikipedia.org/wiki/JPEG_XL#Official_software_support>
as of 2026. The format is now getting an alternative, more
memory-safe implementation <https://github.com/libjxl/jxl-rs>
written in Rust.
/Bug/: https://bugzilla.mozilla.org/show_bug.cgi?id=1986393
/Specification/: https://www.iso.org/standard/85066.html
/Standards Body/: ISO/IEC
/Platform coverage/: All
/Preference/: image.jxl.enabled
/Link to standards-positions discussion/:
https://github.com/mozilla/standards-positions/issues/522
/Other browsers/:
* Blink: Implemented with the same underlying Rust library
behind the preference #enable-jxl-image-format. Their intent
to prototype is updated
<https://groups.google.com/a/chromium.org/g/blink-dev/c/WjCKcBw219k/m/NmOyvMCCBAAJ>
in
2025-11.
* WebKit: Shipped in Safari 17.0
<https://webkit.org/blog/14445/webkit-features-in-safari-17-0/> in
2023.
/web-platform-tests/: A limited set of tests are in
https://wpt.fyi/results/jpegxl?label=master&label=experimental&aligned
<https://wpt.fyi/results/jpegxl?label=master&label=experimental&aligned&q=jpeg>.
--
You received this message because you are subscribed to the Google
Groups "[email protected]" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected].
To view this discussion visit
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/53b4e3e0-5eee-4768-a1ba-b069e1e85244n%40mozilla.org
<https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/53b4e3e0-5eee-4768-a1ba-b069e1e85244n%40mozilla.org?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/5617c8cf-4753-4076-826f-bb04055d591f%40mozilla.com.