From e395f8de5ac682d8c99673d431ad7c0575bf2a7e Mon Sep 17 00:00:00 2001 From: Lars Kiesow Date: Sat, 25 Jan 2014 15:00:02 +0100 Subject: Fixed factor for scale filter --- libavfilter/vf_scale.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'libavfilter/vf_scale.c') diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index bda536df91..2ea55ef441 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -236,6 +236,7 @@ static int config_props(AVFilterLink *outlink) double var_values[VARS_NB], res; char *expr; int ret; + int factor_w, factor_h; var_values[VAR_IN_W] = var_values[VAR_IW] = inlink->w; var_values[VAR_IN_H] = var_values[VAR_IH] = inlink->h; @@ -273,15 +274,17 @@ static int config_props(AVFilterLink *outlink) /* Check if it is requested that the result has to be divisible by a some * factor (w or h = -n with n being the factor). After we got the factor, * we set w/h back to -1 so that the automatic scaling is done. */ - int factor_w = 1; - int factor_h = 1; + factor_w = 1; + factor_h = 1; if (w < -1) { factor_w = -w; w = -1; + scale->w = -1; } if (h < -1) { factor_h = -h; h = -1; + scale->h = -1; } if (w == -1 && h == -1) @@ -302,7 +305,6 @@ static int config_props(AVFilterLink *outlink) w = (w / factor_w) * factor_w; h = (h / factor_h) * factor_h; - /* Note that force_original_aspect_ratio may overwrite the previous set * dimensions so that it is not divisible by the set factors anymore. */ if (scale->force_original_aspect_ratio) { -- cgit v1.2.3