From dc132b3a4de97227ab99794273afa1056e339f01 Mon Sep 17 00:00:00 2001 From: "Wang, Yi A" Date: Tue, 19 Aug 2025 19:52:19 -0700 Subject: [PATCH] refine code Signed-off-by: Wang, Yi A --- router/src/validation.rs | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/router/src/validation.rs b/router/src/validation.rs index 42e43897..7717f373 100644 --- a/router/src/validation.rs +++ b/router/src/validation.rs @@ -648,37 +648,18 @@ fn image_tokens( let max_longest_edge_for_image_resize = config.get_max_longest_edge_for_image_resize(); let max_image_size = config.get_max_image_size(); - // resize image to max_longest_edge_for_image_resize and keep aspect ratio let (height, width) = { - let aspect_ratio = height as f32 / width as f32; - if height > width { - ( - max_longest_edge_for_image_resize, - (max_longest_edge_for_image_resize as f32 / aspect_ratio) as usize, - ) - } else { - ( - (max_longest_edge_for_image_resize as f32 * aspect_ratio) as usize, - max_longest_edge_for_image_resize, - ) - } - }; + let h = height as f32; + let w = width as f32; - let (height, width) = { - let aspect_ratio = height as f32 / width as f32; - if height >= width && height > max_image_size { - ( - max_image_size, - (max_image_size as f32 / aspect_ratio) as usize, - ) - } else if width > height && width > max_image_size { - ( - (max_image_size as f32 * aspect_ratio) as usize, - max_image_size, - ) - } else { - (height, width) - } + // First resize to max_longest_edge (always scale to this size) + let scale1 = max_longest_edge_for_image_resize as f32 / h.max(w); + let (h, w) = (h * scale1, w * scale1); + + // Ensure we dont exceed max_size (only scale down) + let scale2 = (max_image_size as f32 / h.max(w)).min(1.0); + + ((h * scale2) as usize, (w * scale2) as usize) }; let image_seq_len = config.get_number_of_features();