JPEG XL was standardized in 2022 as ISO/IEC 18181.
The core codestream is specified in 18181-1,
the file format in 18181-2.
Decoder conformance is defined in 18181-3,
and 18181-4 is the reference software.
Homepage
Download
Recent Releases
0.11.026 Nov 2024 08:25
major feature:
Added:
- Gain Map API : `JxlGainMapBundle` struct and API functions
to read and write gain map bundles`JxlGainMapWriteBundle` and.
`JxlGainMapReadBundle` as well as handling compressed ICC profiles:
`JxlICCProfileEncode` and `JxlICCProfileDecode`.
Decoder API: added `JXL_DEC_BOX_COMPLETE` event to signal that the output.
Buffer for the current box has received all contents. Previously, this was
to be determined from the fact that the decoder had moved on either to.
`JXL_DEC_SUCCESS` or to another subsequent `JXL_DEC_BOX`. This change is.
Made backward-compatible by the fact that the new event must be explicitly
Subscribed to, and that `JXL_DEC_SUCCESS` / `JXL_DEC_BOX` still occur
Afterwards and still imply that the previous box must be complete.
### Changed / clarified.
Avoiding abort in release build.
0.10.223 Mar 2024 00:45
minor bugfix:
:
- in (lossless) encoding.
- re-enable installation of MIME file.
- in streaming mode.
0.9.211 Feb 2024 21:09
security:
Fixed
bugs in the gdk-pixbuf plugin
some build issues
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.
0.9.008 Jan 2024 19:09
minor feature:
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 (
|