[FFmpeg-devel] [PATCH v2 5/5] avcodec/utils: simplify, remove duplicate code
lance.lmwang at gmail.com
lance.lmwang at gmail.com
Thu Apr 30 16:39:36 EEST 2020
From: Limin Wang <lance.lmwang at gmail.com>
Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
---
libavcodec/utils.c | 38 ++++++--------------------------------
1 file changed, 6 insertions(+), 32 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index e77090d..3ae23fc 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -583,38 +583,12 @@ 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 = av_frame_alloc()) ||
+ !(avci->compat_decode_frame = av_frame_alloc()) ||
+ !(avci->buffer_frame = av_frame_alloc()) ||
+ !(avci->buffer_pkt = av_packet_alloc()) ||
+ !(avci->ds.in_pkt = av_packet_alloc()) ||
+ !(avci->last_pkt_props = av_packet_alloc())) {
ret = AVERROR(ENOMEM);
goto free_and_end;
}
--
1.8.3.1
More information about the ffmpeg-devel
mailing list