[FFmpeg-cvslog] avfilter/vf_scale: test return code of scale_frame()

Niklas Haas git at videolan.org
Wed Jul 10 12:50:13 EEST 2024


ffmpeg | branch: master | Niklas Haas <git at haasn.dev> | Tue Jul  9 11:32:42 2024 +0200| [0deb301ba9cd71a4d35384c9584b800161777852] | committer: Niklas Haas

avfilter/vf_scale: test return code of scale_frame()

Instead of testing the returned frame against NULL, test the return code
itself, going more in line with the usual behavior of such functions.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0deb301ba9cd71a4d35384c9584b800161777852
---

 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;
 }
 



More information about the ffmpeg-cvslog mailing list