jxl-oxide
thorium-libjxl
jxl-oxide | thorium-libjxl | |
---|---|---|
6 | 5 | |
206 | 31 | |
- | - | |
9.4 | 8.8 | |
8 days ago | 12 days ago | |
Rust | C++ | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jxl-oxide
-
JPEG XL and the Pareto Front
Pretty much every codec in every browser is written in an unsafe language, unfortunately. I don't see why JXL should be singled out. On the other hand, there is a JXL decoder in Rust called jxl-oxide [1] which works quite well, and has been confirmed by JPEG as conformant. Hopefully it will be adopted for decode-only usecases.
[1] https://github.com/tirr-c/jxl-oxide/pull/267
> It’s absolute insanity that we write codecs — pure functions — in an unsafe language that has a compiler that defaults to “anything goes” as an optimisation technique.
Rust and C++ are exactly the same in how they optimize, compilers for both assume that your code has zero UB. The difference is that Rust makes it much harder to accidentally have UB.
-
Still no love for JPEG XL: Browser maker love-in snubs next-gen image format
https://github.com/niutech/jxl.js a javascript polyfill taken from the main page https://jpegxl.info/
There are other decoders [0] written in a "safe language" (rust) listed as well. So no there are many "safe" implementations
[0] https://github.com/tirr-c/jxl-oxide
- jxl-oxide: A pure Rust implementation of the JPEG XL decoder
-
jxl-winthumb: A JPEG XL (*.jxl) thumbnail handler for Windows File Explorer in Rust
Found another JXL project in Rust called JXL Oxide. It's in its early stages so no need for a separate post yet imo. This other project is the Rust implementation of the JXL decoder.
thorium-libjxl
- Chrome still hasn't changed its opinion about dropping JPEG XL support
-
jxl-oxide: A pure Rust implementation of the JPEG XL decoder
It's supported in a Chromium fork called Thorium as well. The patches to undo Google's removal of JXL have been published separately, too: https://github.com/Alex313031/thorium-libjxl
- Thorium libJXL switched to BSD licence
-
JPEG-XL vs. AVIF and Others: 27 Images Compared
As I mentioned in the article, Thorium is a Chromium-based browser that fully supports JPEG-XL. Here's the libjxl patch that can be ported to other Chromium-based browsers: https://github.com/Alex313031/thorium-libjxl
-
Up-to-date Chrome browser & library with JPEG-XL restored
There is a new repo for the source code for this, used as a submodule in this repo: https://github.com/Alex313031/thorium-libjxl ... let's hope it gets updated with the full jxl feature set.
What are some alternatives?
jxl-winthumb - A JPEG XL (*.jxl) thumbnail handler for Windows File Explorer.
enable-chromium-hevc-hardware-deco
Thorium-Win - Chromium fork for Windows named after radioactive element No. 90; Windows builds of https://github.com/Alex313031/Thorium
Thorium-Special - Special builds of Thorium for SSE3 and different processors.
enable-chromium-hevc-hardware-decoding - A guide that teach you enable hardware HEVC decoding & encoding for Chrome / Edge, or build a custom version of Chromium / Electron that supports hardware & software HEVC decoding and hardware HEVC encoding.