Rust bindings for TurboJPEG, which provides simple and fast operations for JPEG images:
- Compression (encoding)
- Decompression (decoding)
- Lossless transformations
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.
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.
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-sys
crate, so that it works seamlessly on a wide range of systems. - Testing.
- Extending the safe Rust API provided by
turbojpeg
crate.
This software is released into the public domain or is available with the MIT license (your choice).