#jxl #jpeg-xl

sys jpegxl-sys

Rust wrapper for JPEG XL reference implementation

24 releases

0.8.1+libjxl-0.8.1 Feb 4, 2023
0.7.0+libjxl-0.7.0 Sep 24, 2022
0.6.1 Nov 3, 2021
0.3.8-alpha.1 May 14, 2021
0.1.6 Aug 25, 2020

#291 in Images

Download history 12/week @ 2022-11-27 12/week @ 2022-12-04 19/week @ 2022-12-11 33/week @ 2022-12-18 14/week @ 2022-12-25 19/week @ 2023-01-01 16/week @ 2023-01-08 100/week @ 2023-01-15 33/week @ 2023-01-22 90/week @ 2023-01-29 87/week @ 2023-02-05 95/week @ 2023-02-12 85/week @ 2023-02-19 37/week @ 2023-02-26 33/week @ 2023-03-05 36/week @ 2023-03-12

193 downloads per month
Used in 2 crates (via jpegxl-rs)

GPL-3.0-or-later

225KB
4.5K SLoC

C++ 2.5K SLoC // 0.1% comments Rust 1.5K SLoC // 0.1% comments C 793 SLoC // 0.1% comments Python 88 SLoC // 0.1% comments Shell 61 SLoC // 0.2% comments JavaScript 52 SLoC // 0.2% comments Go 13 SLoC // 0.2% comments Java 5 SLoC TypeScript 1 SLoC Lua 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