You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit eaf5221
Browse filesBrowse the repository at this point in the historyBrowse files
Encode lossless JPEG XL: libjxl's fast lossless encoder, like cjxl -e 1
Image.encodeJXL ports libjxl's fast lossless encoder (enc_fast_lossless.cc) for
8-bit images, with libjxl's image header: the codestream is byte for byte what
cjxl -e 1 writes on CPUs with AVX2 or NEON (chunks of 16 pixels; the tests also
check the chunks of 8 of builds without SIMD). Palettes are sorted like
libstdc++'s std::sort, so ties end up the same. Unlike libjxl, colors whose
hashes collide within one chunk of the palette detection fall back to YCoCg
(libjxl loses one of them).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lfv41PqHEGbU7SLg5onpG1
Copy file name to clipboardExpand all lines: THIRD_PARTY_NOTICES.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ following projects, under their own licenses. Each derived file says so in its h
16
16
|[dav1d](https://code.videolan.org/videolan/dav1d) by VideoLAN, the dav1d authors and Two Orioles |`src/codecs/av1/*` (the AV1 decoder: bitstream parsing, symbol decoding, prediction, inverse transforms, loop filters, film grain; the tables in `src/codecs/av1/data.ts`, generated from dav1d by `scripts/av1-tables.c`) | BSD-2-Clause |
17
17
|[libavif](https://github.com/AOMediaCodec/libavif) by Joe Drago |`src/codecs/avif.ts` (YUV to RGB conversion with bilinear chroma upsampling, alpha range expansion and unpremultiplication) | BSD-2-Clause |
18
18
|[jxl-oxide](https://github.com/tirr-c/jxl-oxide) by Wonwoo Choi |`src/codecs/jxl/*` (the JPEG XL decoder: bit reader, header and frame header fields, entropy decoding, VarDCT, dequantization matrices, transforms, restoration filters, upsampling, the parsing of patches, splines and noise) | MIT (or Apache-2.0) |
19
-
|[libjxl](https://github.com/libjxl/libjxl) by the JPEG XL Project Authors |`src/codecs/jxl/modular.ts` (Modular decoding: MA trees, predictors, the self-correcting predictor, transforms), `src/codecs/jxl/frame.ts` (the sections of frames, the order of the rendering stages, reference frames), `src/codecs/jxl/blend.ts`, `src/codecs/jxl/color.ts` (XYB to RGB), `src/codecs/jxl/features.ts` (rendering patches, splines and noise) | BSD-3-Clause |
19
+
|[libjxl](https://github.com/libjxl/libjxl) by the JPEG XL Project Authors |`src/codecs/jxl/modular.ts` (Modular decoding: MA trees, predictors, the self-correcting predictor, transforms), `src/codecs/jxl/frame.ts` (the sections of frames, the order of the rendering stages, reference frames), `src/codecs/jxl/blend.ts`, `src/codecs/jxl/color.ts` (XYB to RGB), `src/codecs/jxl/features.ts` (rendering patches, splines and noise), `src/codecs/jxl/fast-lossless.ts` (the lossless encoder: palette detection, YCoCg, the gradient predictor, prefix codes, runs as LZ77, the headers)| BSD-3-Clause |
20
20
|[JPEG XL conformance](https://github.com/libjxl/conformance) by the JPEG XL Project Authors |`tests/jxl/alpha-*.jxl`, `animation-spline.jxl`, `blendmodes.jxl`, `mul-no-extra-channels.jxl` (test files) | BSD-3-Clause |
21
21
|[FreeType](https://freetype.org)|`src/render/hinting.ts` (behavior and parts of the logic of the TrueType interpreter) | FreeType License |
22
22
|[QOI](https://github.com/phoboslab/qoi) by Dominic Szablewski |`src/codecs/qoi.ts` (the reference encoder's choices of operations) | MIT |
@@ -254,7 +254,8 @@ DEALINGS IN THE SOFTWARE.
254
254
## libjxl, JPEG XL conformance
255
255
256
256
The Modular decoding, the rendering pipeline, blending, the XYB conversion and the rendering of patches, splines and
257
-
noise follow libjxl, the JPEG XL reference implementation; tests/jxl includes files of its conformance suite. JPEG XL
257
+
noise follow libjxl, the JPEG XL reference implementation, and the lossless encoder is ported from its fast lossless
258
+
encoder; tests/jxl includes files of its conformance suite. JPEG XL
258
259
is covered by Google's patent grant for libjxl (the "Additional IP Rights Grant" in libjxl's PATENTS file).
0 commit comments