Skip to content

Commit 7b312fb

Browse files
authored
New version: libjxl.libjxl version 0.12.0 (microsoft#400045)
1 parent 1426fdb commit 7b312fb

3 files changed

Lines changed: 254 additions & 0 deletions

File tree

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Created by Anthelion using komac v2.16.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json
3+
4+
PackageIdentifier: libjxl.libjxl
5+
PackageVersion: 0.12.0
6+
InstallerType: zip
7+
NestedInstallerType: portable
8+
ReleaseDate: 2026-07-02
9+
Installers:
10+
- Architecture: x86
11+
NestedInstallerFiles:
12+
- RelativeFilePath: x86-windows-static/bin/benchmark_xl.exe
13+
- RelativeFilePath: x86-windows-static/bin/butteraugli_main.exe
14+
- RelativeFilePath: x86-windows-static/bin/cjxl.exe
15+
- RelativeFilePath: x86-windows-static/bin/decode_and_encode.exe
16+
- RelativeFilePath: x86-windows-static/bin/display_to_hlg.exe
17+
- RelativeFilePath: x86-windows-static/bin/djxl.exe
18+
- RelativeFilePath: x86-windows-static/bin/djxl_fuzzer_corpus.exe
19+
- RelativeFilePath: x86-windows-static/bin/exr_to_pq.exe
20+
- RelativeFilePath: x86-windows-static/bin/generate_lut_template.exe
21+
- RelativeFilePath: x86-windows-static/bin/icc_simplify.exe
22+
- RelativeFilePath: x86-windows-static/bin/jxl_from_tree.exe
23+
- RelativeFilePath: x86-windows-static/bin/jxlinfo.exe
24+
- RelativeFilePath: x86-windows-static/bin/jxltran.exe
25+
- RelativeFilePath: x86-windows-static/bin/local_tone_map.exe
26+
- RelativeFilePath: x86-windows-static/bin/pq_to_hlg.exe
27+
- RelativeFilePath: x86-windows-static/bin/render_hlg.exe
28+
- RelativeFilePath: x86-windows-static/bin/ssimulacra2.exe
29+
- RelativeFilePath: x86-windows-static/bin/ssimulacra_main.exe
30+
- RelativeFilePath: x86-windows-static/bin/texture_to_cube.exe
31+
- RelativeFilePath: x86-windows-static/bin/tone_map.exe
32+
- RelativeFilePath: x86-windows-static/bin/xyb_range.exe
33+
InstallerUrl: https://github.com/libjxl/libjxl/releases/download/v0.12.0/jxl-x86-windows-static.zip
34+
InstallerSha256: A675587F4FA4F907081AD2ABB59D3E2890CAC20C91350C27A9B4518F8952941C
35+
- Architecture: x64
36+
NestedInstallerFiles:
37+
- RelativeFilePath: x64-windows-static/bin/benchmark_xl.exe
38+
- RelativeFilePath: x64-windows-static/bin/butteraugli_main.exe
39+
- RelativeFilePath: x64-windows-static/bin/cjxl.exe
40+
- RelativeFilePath: x64-windows-static/bin/decode_and_encode.exe
41+
- RelativeFilePath: x64-windows-static/bin/display_to_hlg.exe
42+
- RelativeFilePath: x64-windows-static/bin/djxl.exe
43+
- RelativeFilePath: x64-windows-static/bin/djxl_fuzzer_corpus.exe
44+
- RelativeFilePath: x64-windows-static/bin/exr_to_pq.exe
45+
- RelativeFilePath: x64-windows-static/bin/generate_lut_template.exe
46+
- RelativeFilePath: x64-windows-static/bin/icc_simplify.exe
47+
- RelativeFilePath: x64-windows-static/bin/jxl_from_tree.exe
48+
- RelativeFilePath: x64-windows-static/bin/jxlinfo.exe
49+
- RelativeFilePath: x64-windows-static/bin/jxltran.exe
50+
- RelativeFilePath: x64-windows-static/bin/local_tone_map.exe
51+
- RelativeFilePath: x64-windows-static/bin/pq_to_hlg.exe
52+
- RelativeFilePath: x64-windows-static/bin/render_hlg.exe
53+
- RelativeFilePath: x64-windows-static/bin/ssimulacra2.exe
54+
- RelativeFilePath: x64-windows-static/bin/ssimulacra_main.exe
55+
- RelativeFilePath: x64-windows-static/bin/texture_to_cube.exe
56+
- RelativeFilePath: x64-windows-static/bin/tone_map.exe
57+
- RelativeFilePath: x64-windows-static/bin/xyb_range.exe
58+
InstallerUrl: https://github.com/libjxl/libjxl/releases/download/v0.12.0/jxl-x64-windows-static.zip
59+
InstallerSha256: 3025D7E308390796D20492322E606BC92DECAEE7B6BC99D3F7547870AE5DB7DE
60+
ManifestType: installer
61+
ManifestVersion: 1.12.0
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# Created by Anthelion using komac v2.16.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json
3+
4+
PackageIdentifier: libjxl.libjxl
5+
PackageVersion: 0.12.0
6+
PackageLocale: en-US
7+
Publisher: libjxl
8+
PublisherUrl: https://github.com/libjxl
9+
PublisherSupportUrl: https://github.com/libjxl/libjxl/issues
10+
PackageName: libjxl
11+
PackageUrl: https://github.com/libjxl/libjxl
12+
License: BSD-3-Clause
13+
LicenseUrl: https://github.com/libjxl/libjxl/blob/HEAD/LICENSE
14+
ShortDescription: JPEG XL image format reference implementation
15+
Description: A reference implementation of JPEG XL (encoder and decoder). This software library is used by many applications that support JPEG XL.
16+
Tags:
17+
- cjxl
18+
- djxl
19+
- iec18181
20+
- iso18181
21+
- jpegxl
22+
- jpgxl
23+
- library
24+
- netpbm
25+
- openexr
26+
Moniker: libjxl
27+
ReleaseNotes: |-
28+
Added
29+
- A new buffering flag is now available in the CLI, alongside support for
30+
streaming input with buffered output. (#4634)
31+
- Introduced the new jxltran tool, which supports extracting codestreams from
32+
jxlp boxes and packing raw codestreams into jxlc boxes. (#4161, #4165,
33+
#4168, #4196)
34+
- Added the --reconstruct_jpeg flag to djxl to losslessly reconstruct a
35+
JPEG and fail if impossible (mutually exclusive with --pixels_to_jpeg and
36+
--jpeg_quality). (#4498)
37+
- Added JXL_DEC_UNSUPPORTED (kUnsupported) status code to the core API to
38+
better indicate when requested features or operations are not supported by
39+
the decoder. (#4390)
40+
- tools: added support for ProPhoto (#4824) and Adobe98 / AdobeRGB
41+
(#4199) color space names in CLI arguments (cjxl / djxl).
42+
- decoder API: support for out-of-order jxlp boxes (ftyp minor version 1).
43+
(#4741)
44+
- encoder API: JXL_ENC_FRAME_SETTING_OUTPUT_MODE frame setting to control how
45+
the codestream is written to the output. Mode 0 (default) buffers the output
46+
internally and produces a normally ordered, progressively decodable
47+
codestream. Mode 1 uses seek-based streaming (reduces peak memory for large
48+
images, requires a seekable output stream). Mode 2 uses out-of-order jxlp
49+
boxes (reduces peak memory without requiring seeking, but requires a decoder
50+
that supports ftyp minor version 1). (#4745)
51+
52+
Changed
53+
- Major overhaul for faster decoding and progressive lossless. (#4201, #4641,
54+
#4811)
55+
- Progressive lossless images are around 30-40% smaller and are now
56+
multithreaded increasing encoding performance by 2-5x.
57+
- Lossless images with faster decoding are now 30-80% smaller and their
58+
decoding speeds properly scale as the faster decoding level increases
59+
from 1-4.
60+
- Disabled global palette for progressive images, fixing glitchy progressive
61+
loading for indexed/low color images and restoring transparency support
62+
(Note: this causes a density/speed penalty for very low bit-depth images).
63+
- Numerous speed/memory usage improvements.
64+
- Improved encoding speeds by SIMDifying EstimateCost (+5% performance) and
65+
speeding up uint-coding trials. (#4322, #4330)
66+
- Accelerated modular encoding and decoding via SIMD optimizations for
67+
forward RCT transforms and upsampling (up to 4x faster). (#4332, #4384)
68+
- Massive overhaul to histogram encoding and decoding, providing significant
69+
performance optimizations for modular mode. (#4123, #4132, #4136, #4185)
70+
- Tweaked JPEG recompression logic to improve density and efficiency. (#4202)
71+
- Fixed performance regressions in fast lossless modes and optimized
72+
text-like patch detection. (#4341, #4448)
73+
- Refined x86 XCR0 CPU checks to prevent issues on specific hardware.
74+
(#4449)
75+
- Migrated Windows release builds to use clang-cl, which improves
76+
performance across the board. (#4529)
77+
- Improved use of SIMD in tree construction hot loop. (#4720)
78+
- Improved spline caching. (#4857)
79+
- Postponed JPEG coeffs allocation until first SOS. (#4863)
80+
- The default buffering level in the CLI has been changed to 2, greatly
81+
improving encoding performance for images under 2048x2048. Additionally,
82+
output is buffered by default to allow basic progressive loading. (#4635,
83+
#4637, #4642)
84+
- Better Density/Speed tradeoff for lossless effort levels. (#4236)
85+
- Improved visual quality of gradients by using channel-offset blue noise
86+
dithering instead of bayer when decoding to lower bitdepths. (#4305, #4559)
87+
- Lossy modular encoding quality/density improvements. (#3575)
88+
- local_tone_map tool: Now produces SDR output in the DisplayP3 color space
89+
rather than Rec2020. Also added an optional third command-line argument to
90+
dump the HDR image as a raw rgba1010102 file for use with the libultrahdr
91+
example app. (#4210)
92+
- Significant improvements to EXR input/output handling for cjxl. Now supports
93+
reading float32, multilayer, per-channel bitdepth, and writing greyscale
94+
EXR images. (#4312, #4460)
95+
- The decoder API for JxlDecoderSetImageOutBuffer and
96+
JxlDecoderSetPreviewOutBuffer has been clarified; their timeframes are now
97+
non-intersecting, preventing accidental buffer overwrites. (#4671)
98+
- Layered JXL files are no longer coalesced when re-encoding with cjxl, and
99+
can now be decoded to separate PNG/PAM files with djxl by using
100+
--no_coalescing. (#4299)
101+
- The progressive flag -p in cjxl will now encode a more progressive image.
102+
(#4258, #4699)
103+
- When lossy encoding, resampling 2 is now enabled at distance 10, and is up to
104+
10x faster below effort 10 by using a faster downsampling method. (#4147)
105+
- Faster PNG compression. (#3819)
106+
- decoder API: documented that at most one preview image exists in a
107+
codestream.
108+
(#4671)
109+
- encoder API: corrected documentation for box size header in
110+
JxlEncoderAddBox (0 means box extends to end of file, 1 means 64-bit size
111+
follows). (#4081)
112+
- Performance & memory: tracked memory for temporary box/codestream storage
113+
(#4852) and reduced allocation overhead in ValidateTree (#4851) and low
114+
memory rendering pipeline. (#4495, #4496)
115+
- Quality: improved HDR behavior at effort 8+. (#3885)
116+
- tools: jxlinfo rewritten in C++ with human-friendly output formatting.
117+
(#4300)
118+
- tools: image viewers now perform CMS color transforms in parallel across
119+
threads. (#4326)
120+
121+
Deprecated
122+
- encoder API: JXL_ENC_FRAME_SETTING_BUFFERING mode 3 is deprecated; output
123+
buffering should now be controlled via JXL_ENC_FRAME_SETTING_OUTPUT_MODE.
124+
(#4745)
125+
126+
Removed
127+
- The jpegli codebase has been removed as it is now maintained as a separate
128+
project at google/jpegli. (#4657)
129+
- Dropped GIMP plugin (libjxl-gimp-plugin). (#4875)
130+
131+
Fixed
132+
- Allows -E to be used in jpeg-transcoding again. (#4729)
133+
- Fixed an issue where Lossy Delta Palette encoding failed on images larger
134+
than 2048x2048. (#4201)
135+
- Fixed Delta Palette with Weighted Predictor decoding. (#4837)
136+
- JxlEncoderAddChunkedFrame incorrectly called JxlEncoderCloseInput
137+
instead of JxlEncoderCloseFrames, resulting in corrupted files when
138+
trying to add more boxes. (#4466)
139+
- Float16 values roundtrip more accurately. (#4461)
140+
- JXL input to cjxl no longer gets double orientation applied and also now
141+
keeps frame names. (#4374, #4561)
142+
- JxlBasicInfo.alpha_premultiplied was not correctly forwarded. (#4357)
143+
- CMYK JXL files would not decode to PNG correctly. (#4301)
144+
- Encoder would hang with specific parameters on images containing more than
145+
256 groups. (#4302)
146+
- Decoding would fail with LZ77 runs that crossed entropy-coded streams within
147+
the same section. (#4298)
148+
- Images could be corrupted when encoding effort 1 lossless. (#4027, #4291)
149+
- Extremely high quality lossy would not conform to Level 5 of the spec.
150+
(#4238)
151+
- Density regression with Predictor Zero since v0.11. (#4225)
152+
- Progressive VarDCT encoding would create non-progressive files. (#4223)
153+
- Extremely tall/wide images failed to encode using modular. (#3937, #4308)
154+
- Empty DHT markers no longer cause JPEG transcoding to fail. (#2704)
155+
- Fixed photon noise encoding for progressive images. (#4866)
156+
- Correctly handled mistakenly set "interleaved" alpha. (#4862)
157+
- Fixed grayscale over-read in EncodeWithSJpeg. (#4871)
158+
- Fixed djxl SelectFormat failure when converting grayscale images to PPM.
159+
(#4691)
160+
- Fixed segmentation fault when attempting to open non-existing input files in
161+
CLI tools. (#4846)
162+
- Fixed GIF always being decoded as RGBA. (#4849)
163+
- Added a warning when an unsupported GIF disposal mode is encountered. (#3918)
164+
- Fixed PNG color space information reading. (#4598)
165+
- Fixed MSVC ARM64 build and restricted _sub_overflow_i32 to x86/x64. (#4877)
166+
- Corrected specialized decoding path for fast lossless. (#4836)
167+
- Rejected duplicate out-of-order jxlp indices. (#4814)
168+
- Used png_bit_depth to correctly determine pixel layout. (#4854)
169+
- Fixed memory leak in GetContext() in jxl_cms.cc. (#4663)
170+
- Fixed stdin evaluation if file - exists. (#4668)
171+
- Fixed JXL primary color representation detection. (#4618)
172+
173+
Security
174+
- Extensive security and hardening fixes across the core decoder/encoder, box
175+
buffers, and plugins (EXR, GIF, APNG/PNG, PAM/PNM/PGX). This includes fixes
176+
for integer overflows/underflows, out-of-bounds reads/writes, buffer
177+
overflows, and null pointer guards. (#4629, #4631, #4646, #4683, #4685,
178+
#4687, #4688, #4722, #4746, #4758, #4764, #4766, #4773, #4775, #4777,
179+
#4778, #4788, #4791, #4792, #4795, #4797, #4799, #4808, #4839, #4840,
180+
#4850, #4855, #4870, #4874)
181+
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.
182+
Please provide feedback and report bugs here.
183+
ReleaseNotesUrl: https://github.com/libjxl/libjxl/releases/tag/v0.12.0
184+
ManifestType: defaultLocale
185+
ManifestVersion: 1.12.0
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Created by Anthelion using komac v2.16.0
2+
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json
3+
4+
PackageIdentifier: libjxl.libjxl
5+
PackageVersion: 0.12.0
6+
DefaultLocale: en-US
7+
ManifestType: version
8+
ManifestVersion: 1.12.0

0 commit comments

Comments
 (0)