Skip to content

JXL improvements

Highlights of the patch:

  • Supersede MR !249 (closed)
  • Added FP16 and FP32 images support thus preserving HDR values (read / write, required libjxl 0.9+).
  • Added Gray8 and Gray16 support (read / write).
  • Indexed images are saved as Gray8 when palette is gray scale.
  • Binary images are saved as Gray8 (does JXL natively support binary images?).
  • Simplified writing process by partially removing the use of additional buffers.
  • Added XMP metadata support by decoding/encoding Boxes.
  • Changed maximum image size in pixels in accordance with JXL feature level 5 (still limited to 256 megapixels).

Compatibility:

  • Older versions of this plugin load FP images correctly as UINT16 (obviously losing HDR info).
  • HDR images saved with this patch are also loaded correctly by Gimp and Photoshop.
  • Grayscale images saved with this patch are also loaded correctly by Gimp and Photoshop.

Compilation modifiers for cmake file:

  • JXL_HDR_PRESERVATION_DISABLED: disable the FP support (behaves like previous versions).
  • JXL_DECODE_BOXES_DISABLED: disable metadata reading (behaves like previous versions).
Edited by Mirco Miranda

Merge request reports