Skip to content

Releases: tirr-c/jxl-oxide

jxl-oxide v0.10.2

07 Dec 07:40
Compare
Choose a tag to compare

Version 0.10.2 of jxl-oxide fixes crashes when handling malformed MA tree or frame TOC.

Fixed

  • jxl-modular: Check MA tree depth limit while decoding (#391).
  • jxl-frame: Track group buffer allocation (#393).

Full Changelog: 0.10.1...0.10.2

jxl-oxide v0.10.1

10 Nov 08:22
f3aaca6
Compare
Choose a tag to compare

Version 0.10.1 of jxl-oxide is quite a small release with documentation updates.

Changed

  • jxl-oxide: Enable image feature in Docs.rs (#382).

Full Changelog: 0.10.0...0.10.1

jxl-oxide v0.10.0

01 Nov 14:46
8c4a2a5
Compare
Choose a tag to compare

Version 0.10.0 of jxl-oxide adds the image crate integration under a feature flag, and received some bugfixes around color management.

Added

  • jxl-oxide: Accept u8 and u16 output buffers in ImageStream::write_to_buffer (#366).
  • jxl-oxide: Add image integration under a feature flag (#368).

Changed

  • jxl-color: Use better PQ to HLG method (#348).

Fixed

  • jxl-render: Fix requested color encoding not applied in some cases (#369).
  • jxl-oxide: Fix CMYK to RGB conversion (#370).

Full Changelog: 0.9.1...0.10.0

jxl-oxide v0.9.1

12 Oct 16:37
fb591f2
Compare
Choose a tag to compare

Version 0.9.1 of jxl-oxide fixes some bugs, including faulty ICC profile generation which made Photoshop fail to open PNG images created by jxl-oxide.

Fixed

  • jxl-color: Fix generated mluc tag in ICC profile (#347).
  • jxl-oxide: Fix panic while decoding fully loaded intermediate frame (#345).

Full Changelog: 0.9.0...0.9.1

jxl-oxide v0.9.0

10 Sep 14:51
33f820c
Compare
Choose a tag to compare

Version 0.9.0 of jxl-oxide contains a few bugfixes, some updates to API, and a bunch of optimizations around libjxl fast-lossless (-d 0 -e 1) images and peak memory usage.

Added

  • jxl-oxide-cli: Use mimalloc (#287, #288).
  • jxl-oxide-cli: Add --num-reps (#292).

Changed

  • jxl-grid: Reorganize modules (#303). Types are renamed.
  • jxl-image: Move ImageMetadata::encoded_color_channels into jxl_frame::FrameHeader (#322).

Removed

  • jxl-oxide: Remove Render::image (#334). Use Render::stream instead.

Fixed

  • jxl-render: Fix typo in forward DCT (#301).

Full Changelog: 0.8.1...0.9.0

jxl-oxide v0.8.1

30 Jul 14:59
Compare
Choose a tag to compare

Version 0.8.1 of jxl-oxide fixes glitches when tonemapping or specific palette transform is used.

Fixed

  • jxl-modular: Fix incorrect color with complex inverse palette (#312).
  • jxl-color: Fix color conversion with out-of-gamut inputs (#316).

Full Changelog: 0.8.0...0.8.1

jxl-oxide v0.8.0

26 Mar 09:21
0f8c5b6
Compare
Choose a tag to compare

Version 0.8.0 of jxl-oxide is relatively small release with WebAssembly SIMD routines and some bugfixes.

Added

  • jxl-color: Add an option to pass sRGB samples to CMS (#267).
  • jxl-oxide-wasm: Port SIMD routines (#274).

Changed

  • jxl-color: Make peak detection non-default (#267).
  • Rename Lz77Mode variants, make IncludeMeta the default (#275).

Removed

  • jxl-oxide-cli: Hide --lz77-mode (#275).

Full Changelog: 0.7.2...0.8.0

jxl-oxide v0.7.2

04 Mar 17:44
Compare
Choose a tag to compare

Version 0.7.2 of jxl-oxide works around the libjxl bug with lossless JPEG XL images.

Added

  • jxl-oxide-cli: Add decode argument --lz77-mode (#272).

Fixed

  • jxl-modular: Support "legacy" method of computing LZ77 dist_multiplier (#269, #271).

Full Changelog: 0.7.1...0.7.2

jxl-oxide v0.7.1

28 Feb 16:28
Compare
Choose a tag to compare

Version 0.7.1 of jxl-oxide fixes a bug that it couldn't decode progressive Modular image with specific settings.

Fixed

  • jxl-modular: Fix Squeeze bug when image dimension is slightly larger than group boundary (#258).

Full Changelog: 0.7.0...0.7.1

jxl-oxide v0.7.0

24 Feb 13:06
103a5d3
Compare
Choose a tag to compare

Version 0.7.0 of jxl-oxide is mainly about optimizations and fixing bugs in edge cases. Some notable changes are:

WebAssembly bindings

jxl-oxide-wasm, WebAssembly bindings to jxl-oxide, is published to NPM. For now, it's a very simple package which can decode JPEG XL image to PNG. Demo can be found at tirr-c/jxl-oxide-wasm-demo.

16-bit Modular buffers

JPEG XL image can signal whether 16-bit buffers are sufficient to hold all Modular sub-images1. jxl-oxide can now allocate smaller buffers when 16-bit buffers are sufficient.


Changed

  • jxl-modular: Modular 16-bit buffers by @tirr-c in #207
  • jxl-render: Defer blending by @tirr-c in #211
  • jxl-render: Save blend result to shared cache by @tirr-c in #212

Added

Fixed

  • Fix Modular ec_upsampling handling by @tirr-c in #248
  • Fix various panics found by fuzzing

Full Changelog: 0.6.0...0.7.0

  1. Modular sub-images are used not only in lossless Modular images, but also in lossy VarDCT images to store 8x subsampled LF images, HF metadata information etc.