turbojpeg

Crates.ioturbojpeg
lib.rsturbojpeg
version1.1.1
sourcesrc
created_at2021-05-02 11:12:14.900067
updated_at2024-08-01 18:40:31.466991
descriptionFast and easy JPEG encoding, decoding and lossless transforms with TurboJPEG
homepagehttps://github.com/honzasp/rust-turbojpeg
repositoryhttps://github.com/honzasp/rust-turbojpeg
max_upload_size
id392175
size154,293
Jan Špaček (honzasp)

documentation

https://docs.rs/turbojpeg

README

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).

Commit count: 73

cargo fmt