[FFmpeg-devel] [PATCH 2/2] avfilter/vf_scale: test return code of scale_frame()

Niklas Haas ffmpeg at haasn.xyz
Tue Jul 9 12:34:37 EEST 2024


From: Niklas Haas <git at haasn.dev>

Instead of testing the returned frame against NULL, test the return code
itself, going more in line with the usual behavior of such functions.
---
 libavfilter/vf_scale.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index a1a322ed9e..ae7356fd7b 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -883,7 +883,6 @@ static int scale_frame(AVFilterLink *link, AVFrame **frame_in,
     int frame_changed;
 
     *frame_in = NULL;
-    *frame_out = NULL;
     if (in->colorspace == AVCOL_SPC_YCGCO)
         av_log(link->dst, AV_LOG_WARNING, "Detected unsupported YCgCo colorspace.\n");
 
@@ -1064,14 +1063,15 @@ FF_ENABLE_DEPRECATION_WARNINGS
     }
 
     ret = scale_frame(ctx->inputs[0], &in, &out);
-    if (out) {
-        out->pts = av_rescale_q(fs->pts, fs->time_base, outlink->time_base);
-        return ff_filter_frame(outlink, out);
-    }
+    if (ret < 0)
+        goto err;
+
+    av_assert0(out);
+    out->pts = av_rescale_q(fs->pts, fs->time_base, outlink->time_base);
+    return ff_filter_frame(outlink, out);
 
 err:
-    if (ret < 0)
-        av_frame_free(&in);
+    av_frame_free(&in);
     return ret;
 }
 
-- 
2.44.0



More information about the ffmpeg-devel mailing list