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-syscrate, so that it works seamlessly on a wide range of systems. - Testing.
 - Extending the safe Rust API provided by 
turbojpegcrate. 
This software is released into the public domain or is available with the MIT license (your choice).