diff mbox series

[FFmpeg-devel,08/11] fftools/ffmpeg_filter: use av_buffer_replace() to improve code

Message ID 20230505090723.24872-8-anton@khirnov.net
State Accepted
Commit c26a6c5a523032873dc8bc7fe467b15fdcaa93ea
Headers show
Series [FFmpeg-devel,01/11] fftools/ffmpeg: merge choose_output() and got_eagain() | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Anton Khirnov May 5, 2023, 9:07 a.m. UTC
It is shorter and more efficient.
---
 fftools/ffmpeg_filter.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 34c51c23d9..0165be8f77 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -1415,7 +1415,9 @@  static int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *fr
     AVFrameSideData *sd;
     int ret;
 
-    av_buffer_unref(&ifp->hw_frames_ctx);
+    ret = av_buffer_replace(&ifp->hw_frames_ctx, frame->hw_frames_ctx);
+    if (ret < 0)
+        return ret;
 
     ifilter->format = frame->format;
 
@@ -1433,12 +1435,6 @@  static int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *fr
     if (sd)
         ifp->displaymatrix = av_memdup(sd->data, sizeof(int32_t) * 9);
 
-    if (frame->hw_frames_ctx) {
-        ifp->hw_frames_ctx = av_buffer_ref(frame->hw_frames_ctx);
-        if (!ifp->hw_frames_ctx)
-            return AVERROR(ENOMEM);
-    }
-
     return 0;
 }