[FFmpeg-devel] [PATCH] avfilter/crop: avoid premature eval error

Gyan ffmpeg at gyani.pro
Wed Dec 4 12:39:02 EET 2019


Valid width expressions were being rejected.

Regards,
Gyan
-------------- next part --------------
From be3aacc114a0b2b6c8ec9e8b73be38f414ecbb3d Mon Sep 17 00:00:00 2001
From: Gyan Doshi <ffmpeg at gyani.pro>
Date: Wed, 4 Dec 2019 16:03:11 +0530
Subject: [PATCH] avfilter/crop: avoid premature eval error

Width and height expressions can refer to each other. Width is
evaluated twice to allow for reference to output height. So we
should not error out upon failure of first evaluation of width.
---
 libavfilter/vf_crop.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavfilter/vf_crop.c b/libavfilter/vf_crop.c
index d6b4feb513..9bf4077c5d 100644
--- a/libavfilter/vf_crop.c
+++ b/libavfilter/vf_crop.c
@@ -174,10 +174,9 @@ static int config_input(AVFilterLink *link)
         s->vsub = pix_desc->log2_chroma_h;
     }
 
-    if ((ret = av_expr_parse_and_eval(&res, (expr = s->w_expr),
-                                      var_names, s->var_values,
-                                      NULL, NULL, NULL, NULL, NULL, 0, ctx)) < 0)
-        goto fail_expr;
+    av_expr_parse_and_eval(&res, (expr = s->w_expr),
+                           var_names, s->var_values,
+                           NULL, NULL, NULL, NULL, NULL, 0, ctx);
     s->var_values[VAR_OUT_W] = s->var_values[VAR_OW] = res;
     if ((ret = av_expr_parse_and_eval(&res, (expr = s->h_expr),
                                       var_names, s->var_values,
-- 
2.24.0


More information about the ffmpeg-devel mailing list