Skip to content

v0.9.0

Compare
Choose a tag to compare
@mo271 mo271 released this 22 Dec 14:34
· 27 commits to v0.9.x since this release

Added

  • encoder API: add JxlEncoderSetExtraChannelDistance to adjust the quality
    of extra channels (like alpha) separately.
  • encoder API: new api functions for streaming encoding:
  • JxlEncoderSetOutputProcessor
  • JxlEncoderFlushInput
  • JxlEncoderOutputProcessor struct
  • JxlEncoderSetOutputCallback
  • JxlChunkedFrameInputSource struct
  • JxlEncoderAddChunkedFrame
  • encoder API: new options for more fine-grained control over metadata
    preservation when using JxlEncoderAddJPEGFrame:
  • JXL_ENC_FRAME_SETTING_JPEG_KEEP_EXIF
  • JXL_ENC_FRAME_SETTING_JPEG_KEEP_XMP
  • JXL_ENC_FRAME_SETTING_JPEG_KEEP_JUMBF
  • encoder API: new function JxlEncoderSetUpsamplingMode to change the upsampling
    method, e.g. to use nearest-neighbor upsampling for pixel art
  • decoder API: implemented JxlDecoderSetOutputColorProfile and
    JxlDecoderSetCms to enable decoding to desired colorspace.
  • cjxl can now be used to explicitly add/update/strip Exif/XMP/JUMBF metadata using
    the decoder-hints syntax, e.g. cjxl input.ppm -x exif=input.exif output.jxl
  • djxl can now be used to extract Exif/XMP/JUMBF metadata
  • encoder API: new function JxlEncoderDistanceFromQuality for convenience to
    calculate a distance given a quality

Removed

  • API: the Butteraugli API (jxl/butteraugli.h) was removed.
  • encoder and decoder API: all deprecated functions were removed:
    JxlDecoderDefaultPixelFormat, JxlEncoderOptionsSetLossless,
    JxlEncoderOptionsSetEffort, JxlEncoderOptionsSetDecodingSpeed,
    JxlEncoderOptionsSetDistance, JxlEncoderOptionsCreate, as well as
    the deprecated enumerator values JXL_DEC_EXTENSIONS, JXL_ENC_NOT_SUPPORTED,
    JXL_TYPE_BOOLEAN, JXL_TYPE_UINT32, and deprecated type JxlEncoderOptions.
  • decoder API: the signature of JxlDecoderGetColorAsEncodedProfile,
    JxlDecoderGetICCProfileSize, and JxlDecoderGetColorAsICCProfile
    changed: a deprecated unused argument was removed.

Changed / clarified

  • changed the name of the cjxl flag photon_noise to photon_noise_iso
  • fixed how large boxes are decoded (#2958)
  • fixed encoding files with unreadable patches (#3042, #3046)

Note: This release is for evaluation purposes and may contain bugs, including security bugs, that may not be individually documented when fixed. See the SECURITY.md file for details. Always prefer to use the latest release.

Please provide feedback and report bugs here.