[FFmpeg-devel] [PATCH] libavfilter/scale: Populate ow/oh when using 0 as w/h

Kevin Mark kmark937 at gmail.com
Wed Jun 7 10:34:43 EEST 2017


Unfortunately I have to withdraw this patch. I'll be submitting an
updated one shortly. The below lines allow through values that are 0
when casted/truncated to an integer but are not zero as doubles (like
-0.1).

On Wed, Jun 7, 2017 at 2:11 AM, Kevin Mark <kmark937 at gmail.com> wrote:
> -    eval_w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res;
> +    eval_w = var_values[VAR_OUT_W] = var_values[VAR_OW] = res == 0.0 ? inlink->w : res;
>
>      if ((ret = av_expr_parse_and_eval(&res, (expr = h_expr),
>                                        names, var_values,
>                                        NULL, NULL, NULL, NULL, NULL, 0, log_ctx)) < 0)
>          goto fail;
> -    eval_h = var_values[VAR_OUT_H] = var_values[VAR_OH] = res;
> +    eval_h = var_values[VAR_OUT_H] = var_values[VAR_OH] = res == 0.0 ? inlink->h : res;
>      /* evaluate again the width, as it may depend on the output height */
>      if ((ret = av_expr_parse_and_eval(&res, (expr = w_expr),
>                                        names, var_values,
>                                        NULL, NULL, NULL, NULL, NULL, 0, log_ctx)) < 0)
>          goto fail;
> -    eval_w = res;
> +    eval_w = res == 0.0 ? inlink->w : res;


More information about the ffmpeg-devel mailing list