#jpegxl #container-image #image-encoding

sys jpegxl-sys

Rust wrapper for JPEG XL reference implementation

34 releases

0.11.2+libjxl-0.11.1 Nov 27, 2024
0.11.0+libjxl-0.11.0 Sep 27, 2024
0.10.4+libjxl-0.10.3 Jun 30, 2024
0.10.2+libjxl-0.10.2 Mar 21, 2024
0.1.6 Aug 25, 2020

#448 in Images

Download history 728/week @ 2024-12-13 464/week @ 2024-12-20 440/week @ 2024-12-27 1567/week @ 2025-01-03 1105/week @ 2025-01-10 946/week @ 2025-01-17 844/week @ 2025-01-24 1722/week @ 2025-01-31 1595/week @ 2025-02-07 1135/week @ 2025-02-14 1358/week @ 2025-02-21 1675/week @ 2025-02-28 706/week @ 2025-03-07 1066/week @ 2025-03-14 1055/week @ 2025-03-21 537/week @ 2025-03-28

3,630 downloads per month
Used in 3 crates (via jpegxl-rs)

GPL-3.0-or-later

455KB
6K SLoC

C++ 3.5K SLoC // 0.1% comments Rust 1.5K SLoC // 0.2% comments C 869 SLoC // 0.1% comments Bazel 169 SLoC // 0.1% comments Python 97 SLoC // 0.1% comments Shell 75 SLoC // 0.2% comments Go 14 SLoC // 0.2% comments Bitbake 13 SLoC JavaScript 10 SLoC Java 8 SLoC // 0.2% comments Forge Config 2 SLoC Batch 2 SLoC TypeScript 1 SLoC

jpegxl-sys

jpegxl-sys is a wrapper over libjxl library. Check out the original library here.

Building

If you wish to specify a custom library path, set the DEP_JXL_LIB environment variable.

Building libjxl and statically linking can be enabled by using the vendored feature.

Usage

Check out testing units in src/lib.rs for some examples.

Multi-thread

Because libjxl_threads uses std::thread, if you build and statically link libjxl, you need to dynamically link to libc++ or libstdc++.

Using dynamic library doesn't need this requirement.

Dependencies