Skip to content

Commit 200d446

Browse files
matmenclaude
andcommitted
CHANGELOG: lossless JPEG XL threads from 512 KiB
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BsU2GAqbnFSNaYDBGD1Km2
1 parent f6bcd0f commit 200d446

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
and 4.8 s instead of 19.2 s (8 threads). Images under about 1.5 megapixels at effort 0, 512x512 pixels at 1 and
2020
384x384 at 2 encode without threads.
2121
- JPEG XL decoding uses worker threads (`DecodeOptions.threads` and `AnimationDecodeOptions.threads`, the same
22-
default), lossy images from 4 megapixels on (one thread per 2 megapixels at most), lossless ones from 1.5: the groups (with all their passes), Gaborish, the
23-
EPF's strips and the conversion to sRGB run in parallel, with the same pixels. A 3840x2160 image decodes in 395 ms
22+
default), lossy images from 4 megapixels on (one thread per 2 megapixels at most), lossless ones from 1.5 megapixels
23+
and 512 KiB on: the groups (with all their passes), Gaborish, the EPF's strips and the conversion to sRGB run in
24+
parallel, with the same pixels. A 3840x2160 image decodes in 395 ms
2425
instead of 640 ms lossy and 328 ms instead of 671 ms lossless, a 5120x2880 one in 568 ms instead of 1121 ms and
2526
487 ms instead of 1122 ms. Lossy frames no longer keep the coefficients of the whole frame (about 100 MB at 4K): each
2627
group is rendered once its passes are read.
@@ -43,9 +44,9 @@
4344
grid of 20 tiles in 1.12 s instead of 2.68 s (8 threads). 4:2:0 and 4:2:2 images convert about 7% faster on one
4445
thread too.
4546
- Lossless JPEG XLs shown as they are (integer samples, no filters or upsampling) become RGBA bytes right away instead
46-
of through float planes, in threads from 1 megapixel on, with an RCT of the colors undone in the same pass: the same
47-
pixels. A 3840x2160 image from `encodeJXL()` decodes in 304 ms instead of 379 ms with 8 threads, 548 ms instead of
48-
581 ms with one.
47+
of through float planes, in the threads, with an RCT of the colors undone in the same pass: the same pixels. A
48+
3840x2160 image from `encodeJXL()` decodes in 304 ms instead of 379 ms with 8 threads, 548 ms instead of 581 ms
49+
with one.
4950

5051
### Tests
5152

0 commit comments

Comments
 (0)