#[non_exhaustive]pub enum Quality {
ApproxJpegli(f32),
ApproxMozjpeg(u8),
ApproxSsim2(f32),
ApproxButteraugli(f32),
}Expand description
Quality/compression setting.
All variants map to internal quality through empirical lookup tables. Results vary by image - these are rough approximations, not guarantees.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ApproxJpegli(f32)
Approximate jpegli quality scale (this is a fork, not exact jpegli). Range: 0.0–100.0, where ~90 is visually lossless for most images.
ApproxMozjpeg(u8)
Approximate mozjpeg quality behavior. Range: 0–100. Maps to quality producing similar file sizes.
ApproxSsim2(f32)
Approximate SSIMULACRA2 score target. Range: 0–100 (higher = better). 90+ is roughly visually lossless.
ApproxButteraugli(f32)
Approximate Butteraugli distance target. Range: 0.0+ (lower = better). <1.0 excellent, <3.0 good.
Implementations§
Source§impl Quality
impl Quality
Sourcepub fn to_internal(&self) -> f32
pub fn to_internal(&self) -> f32
Convert to internal quality value (0.0-100.0 scale).
Sourcepub fn from_quality(q: f32) -> Self
👎Deprecated since 0.5.0: Use Quality::from(f32) or Quality::ApproxJpegli(f32) instead
pub fn from_quality(q: f32) -> Self
Create quality from a 0-100 scale value.
This is equivalent to Quality::ApproxJpegli(q) or Quality::from(q).
Sourcepub fn from_distance(d: f32) -> Self
👎Deprecated since 0.5.0: Use Quality::ApproxButteraugli(f32) instead
pub fn from_distance(d: f32) -> Self
Create quality from butteraugli distance (backward compatibility).
This is equivalent to Quality::ApproxButteraugli(d).
Sourcepub fn Traditional(q: f32) -> Self
👎Deprecated since 0.5.0: Use Quality::ApproxJpegli(f32) instead
pub fn Traditional(q: f32) -> Self
Backward-compatible constructor matching old Quality::Traditional(f32).
Sourcepub fn to_distance(&self) -> f32
pub fn to_distance(&self) -> f32
Convert to butteraugli distance.
Uses the exact same formula as C++ jpegli’s jpegli_quality_to_distance.