Expand description
§jpegli
Rust port of jpegli - an improved JPEG encoder and decoder.
jpegli provides enhanced compression quality compared to standard JPEG through advanced quantization, optional XYB color space, and other perceptual optimizations.
§Features
- Baseline JPEG: Standard 8-bit JPEG encoding/decoding
- Progressive JPEG: Multi-scan progressive encoding
- XYB Color Space: Perceptually optimized color space for better quality
- Adaptive Quantization: Content-aware quantization for improved detail
- 16-bit Support: High bit-depth input/output
§Example
ⓘ
use jpegli::{Encoder, ColorSpace, Quality};
let pixels: &[u8] = &[/* RGB data */];
let encoder = Encoder::new()
.width(640)
.height(480)
.color_space(ColorSpace::Rgb)
.quality(Quality::from_distance(1.0))
.build()?;
let jpeg_data = encoder.encode(pixels)?;Re-exports§
pub use error::Error;pub use error::Result;pub use types::ColorSpace;pub use types::JpegMode;pub use types::PixelFormat;pub use types::SampleDepth;pub use types::Subsampling;pub use encode::Encoder;pub use encode::EncoderConfig;pub use decode::DecodedImage;pub use decode::Decoder;pub use decode::DecoderConfig;pub use quant::Quality;pub use quant::QuantTable;pub use butteraugli;
Modules§
- decode
- JPEG decoder implementation.
- encode
- JPEG encoder implementation.
- error
- Error types for jpegli.
- quant
- Quantization tables and quality settings.
- types
- Core types for jpegli.
Macros§
- skip_
if_ missing - Macro for skipping tests when test data is not available.