25 releases (11 stable)
| 1.3.3 | May 14, 2025 |
|---|---|
| 1.3.0 | Mar 10, 2025 |
| 1.1.1 | Aug 1, 2024 |
| 1.1.0 | Apr 14, 2024 |
| 0.1.0 | May 2, 2021 |
#58 in Images
43,886 downloads per month
Used in 15 crates
(14 directly)
5MB
93K
SLoC
turbojpeg
Rust bindings for TurboJPEG, which provides simple and fast operations for JPEG images:
- Compression (encoding)
- Decompression (decoding)
- Lossless transformations
Usage with image-rs (version 0.24)
To quickly encode and decode images from the image crate (version
0.24), add this to the [dependencies] section in your Cargo.toml:
turbojpeg = {version = "1.0", features = ["image"]}
and then use the functions turbojpeg::decompress_image and
turbojpeg::compress_image.
For more advanced usage without the image crate, please see the
documentation.
Requirements
The low-level binding to libturbojpeg is provided by the crate
turbojpeg-sys, which needs to link to the C library. Typically, you will need
CMake, a C compiler and NASM to build the library from source, but see its
README for details.
Contributing
All contributions are welcome! Please contact me (@honzasp) or open a pull request. This crate is rather minimal, the main areas of improvement are:
- Improving the build process of
turbojpeg-syscrate, so that it works seamlessly on a wide range of systems. - Testing.
- Extending the safe Rust API provided by
turbojpegcrate.
License
This software is released into the public domain or is available with the MIT license (your choice).