github tirr-c/jxl-oxide 0.6.0
jxl-oxide v0.6.0

latest releases: 0.12.4, 0.12.3, 0.12.2...
20 months ago

Version 0.6.0 of jxl-oxide features better color management support, and a single CLI tool instead of two (previously jxl-dec and jxl-info).

Improved color management

Color transformation routine is rewritten. Now jxl-oxide supports:

  • Requesting custom color encoding for decoded images
  • HDR to SDR tone mapping
  • Simple ICC profile detection
  • External color management system integration, to support various ICC profiles which jxl-oxide cannot handle alone (including CMYK)

jxl-oxide comes with optional Little CMS 2 integration, and can be enabled using lcms2 Cargo feature. Note that it's a C dependency.

  • CMS integration by @tirr-c in #145
  • jxl-color: Detect simple ICC profiles by @tirr-c in #148
  • jxl-color: Implement tone mapping by @tirr-c in #155
  • jxl-oxide: Include Little CMS 2 integration under a feature by @tirr-c in #160

Merged CLI tools

jxl-dec and jxl-info are merged into jxl-oxide, and those functionality can be accessed using subcommands. See the help message for detailed usage.

  • jxl-oxide-cli: Merge binaries into one by @tirr-c in #161
  • jxl-oxide-cli: Log error information instead of panicking by @tirr-c in #188
  • jxl-oxide-cli: Add --quiet, allow multiple --verbose by @tirr-c in #192

Also, starting from version 0.6.0, the version of jxl-oxide-cli will match that of jxl-oxide.

Fuzzing harness using cargo-fuzz

Numerous crash bugs are found by fuzzing harness, and all crashes found are fixed. Special thanks to @Shnatsel!

  • Add an initial fuzzing harness using cargo-fuzz by @Shnatsel in #172
  • Reorganize fuzzer, remove honggfuzz harness by @tirr-c in #182

New Contributors

Full Changelog: 0.5.2...0.6.0

Don't miss a new jxl-oxide release

NewReleases is sending notifications on new releases.