From 2eff7e822f799bb740d0bc0447a0c7cdead1c679 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Thu, 12 Nov 2026 17:55:36 -0500 Subject: [PATCH] Name reduced JPEG estimate API --- crates/images/src/jpeg.rs | 2 +- crates/images/src/lib.rs | 4 ++-- crates/render/src/images.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/images/src/jpeg.rs b/crates/images/src/jpeg.rs index 9db1709cc..b6ef06c09 100644 --- a/crates/images/src/jpeg.rs +++ b/crates/images/src/jpeg.rs @@ -67,7 +67,7 @@ pub(crate) const MAX_SHRINK: u8 = 3; /// Output size of a JPEG reduction without decoding pixels. `None` when the reduced decoder /// cannot handle the JPEG, including its full-size resource limits. -pub(crate) fn reduced_size(bytes: &[u8], shrink: u8) -> Option<(u32, u32, usize)> { +pub(crate) fn reduced_estimate(bytes: &[u8], shrink: u8) -> Option<(u32, u32, usize)> { use jpeg_decoder::{CodingProcess, PixelFormat}; if !bytes.starts_with(&[0xFF, 0xD8]) || shrink == 0 || shrink > MAX_SHRINK { return None; diff --git a/crates/images/src/lib.rs b/crates/images/src/lib.rs index 9afb009fa..334a62ed9 100644 --- a/crates/images/src/lib.rs +++ b/crates/images/src/lib.rs @@ -513,8 +513,8 @@ pub fn decode_rgba_reduced(bytes: &[u8], shrink: u8) -> Option /// Dimensions and estimated peak bytes for a JPEG decoded at `1/2^shrink`, without decoding its /// pixels. Progressive JPEG coefficient buffers are included. `None` when the reduced decoder /// cannot handle the image. -pub fn reduced_jpeg_size(bytes: &[u8], shrink: u8) -> Option<(u32, u32, usize)> { - jpeg::reduced_size(bytes, shrink) +pub fn reduced_jpeg_estimate(bytes: &[u8], shrink: u8) -> Option<(u32, u32, usize)> { + jpeg::reduced_estimate(bytes, shrink) } /// False when `bytes` is a WebP whose `ICCP` chunk declares more bytes than the file holds or than diff --git a/crates/render/src/images.rs b/crates/render/src/images.rs index 8e57ef448..01746f19e 100644 --- a/crates/render/src/images.rs +++ b/crates/render/src/images.rs @@ -200,7 +200,7 @@ fn reduced_estimates(wants: &[Want]) -> Option<(usize, usize)> { return None; } let shrink = level.min(usize::from(designcraft_images::MAX_REDUCED_SHRINK)); - let (_, _, decode_peak) = designcraft_images::reduced_jpeg_size(&w.bytes, shrink as u8)?; + let (_, _, decode_peak) = designcraft_images::reduced_jpeg_estimate(&w.bytes, shrink as u8)?; for cached in levels.iter_mut().take(level + 1).skip(shrink) { *cached = true; }