[FFmpeg-cvslog] avcodec/utils: simplify, remove duplicate code

Limin Wang git at videolan.org
Tue May 5 03:22:12 EEST 2020


ffmpeg | branch: master | Limin Wang <lance.lmwang at gmail.com> | Thu Apr 30 18:29:48 2020 +0800| [79e3c4dd7485e469b2d0e29e2775d4e37b55bfa7] | committer: Limin Wang

avcodec/utils: simplify, remove duplicate code

Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
Signed-off-by: Limin Wang <lance.lmwang at gmail.com>

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

 libavcodec/utils.c | 29 +++--------------------------
 1 file changed, 3 insertions(+), 26 deletions(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index e77090daef..91b271a717 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -584,37 +584,14 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
     avctx->internal = avci;
 
     avci->to_free = av_frame_alloc();
-    if (!avci->to_free) {
-        ret = AVERROR(ENOMEM);
-        goto free_and_end;
-    }
-
     avci->compat_decode_frame = av_frame_alloc();
-    if (!avci->compat_decode_frame) {
-        ret = AVERROR(ENOMEM);
-        goto free_and_end;
-    }
-
     avci->buffer_frame = av_frame_alloc();
-    if (!avci->buffer_frame) {
-        ret = AVERROR(ENOMEM);
-        goto free_and_end;
-    }
-
     avci->buffer_pkt = av_packet_alloc();
-    if (!avci->buffer_pkt) {
-        ret = AVERROR(ENOMEM);
-        goto free_and_end;
-    }
-
     avci->ds.in_pkt = av_packet_alloc();
-    if (!avci->ds.in_pkt) {
-        ret = AVERROR(ENOMEM);
-        goto free_and_end;
-    }
-
     avci->last_pkt_props = av_packet_alloc();
-    if (!avci->last_pkt_props) {
+    if (!avci->to_free      || !avci->compat_decode_frame ||
+        !avci->buffer_frame || !avci->buffer_pkt          ||
+        !avci->ds.in_pkt    || !avci->last_pkt_props) {
         ret = AVERROR(ENOMEM);
         goto free_and_end;
     }



More information about the ffmpeg-cvslog mailing list