Commit 1b447c0b2d for ffmpeg
commit 1b447c0b2d875f5bfec9b748e96d09e930a21cfa
Author: Niklas Haas <git@haasn.dev>
Date: Sun Nov 8 03:34:44 2026 +0100
swscale/filters: move up caculation of ratio/stretch_inv
And avoid a double reciprocal for stretch_inv.
Signed-off-by: Niklas Haas <git@haasn.dev>
diff --git a/libswscale/filters.c b/libswscale/filters.c
index 8a5cf53cad..006cad5f83 100644
--- a/libswscale/filters.c
+++ b/libswscale/filters.c
@@ -216,10 +216,12 @@ int ff_sws_filter_generate(void *log, const SwsFilterParams *params,
virtual_size = params->dst_size;
const double ratio = virtual_size / params->src_size;
- double stretch = 1.0;
+ const double ratio_inv = 1.0 / ratio;
+ double stretch = 1.0, stretch_inv = 1.0;
if (ratio < 1.0 && scaler != SWS_SCALE_POINT) {
/* Widen filter for downscaling (anti-aliasing) */
stretch = 1.0 / ratio;
+ stretch_inv = ratio;
}
if (scaler == SWS_SCALE_AREA) {
@@ -308,7 +310,6 @@ int ff_sws_filter_generate(void *log, const SwsFilterParams *params,
return AVERROR(ENOMEM);
}
- const double ratio_inv = 1.0 / ratio, stretch_inv = 1.0 / stretch;
for (int i = 0; i < params->dst_size; i++)
compute_row(filter, &fun, radius, ratio_inv, stretch_inv, i, tmp);
av_free(tmp);