#jpegxl #jpeg #wrapper #reference #xl

sys jpegxl-sys

Rust wrapper for JPEG XL reference implementation

28 releases

0.10.2+libjxl-0.10.2 Mar 21, 2024
0.9.0+libjxl-0.9.1 Jan 28, 2024
0.8.2+libjxl-0.8.2 Jun 14, 2023
0.8.1+libjxl-0.8.1 Feb 4, 2023
0.1.6 Aug 25, 2020

#416 in Images

Download history 72/week @ 2023-12-22 5/week @ 2023-12-29 20/week @ 2024-01-05 19/week @ 2024-01-12 241/week @ 2024-01-19 273/week @ 2024-01-26 528/week @ 2024-02-02 419/week @ 2024-02-09 406/week @ 2024-02-16 284/week @ 2024-02-23 156/week @ 2024-03-01 92/week @ 2024-03-08 426/week @ 2024-03-15 172/week @ 2024-03-22 260/week @ 2024-03-29 181/week @ 2024-04-05

1,046 downloads per month
Used in jpegxl-rs

GPL-3.0-or-later

250KB
5.5K SLoC

C++ 3K SLoC // 0.1% comments Rust 1.5K SLoC // 0.1% comments C 603 SLoC // 0.1% comments Bazel 167 SLoC // 0.1% comments Python 97 SLoC // 0.1% comments Shell 68 SLoC // 0.2% comments Go 14 SLoC // 0.2% comments JavaScript 10 SLoC Java 5 SLoC Batch 2 SLoC Forge Config 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