19 releases (5 stable)
1.1.1 | Aug 1, 2024 |
---|---|
1.1.0 | Apr 14, 2024 |
1.0.1 | Mar 17, 2024 |
0.5.4 | Jul 31, 2023 |
0.1.0 | May 2, 2021 |
#70 in Images
4,376 downloads per month
Used in 7 crates
(6 directly)
4.5MB
87K
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-sys
crate, so that it works seamlessly on a wide range of systems. - Testing.
- Extending the safe Rust API provided by
turbojpeg
crate.
License
This software is released into the public domain or is available with the MIT license (your choice).