diff mbox series

[FFmpeg-devel,02/10] avcodec/mpegvideo: Don't unnecessarily allocate buffers

Message ID AM7PR03MB66600DAF2FAA9DBF38E3F0408F4B9@AM7PR03MB6660.eurprd03.prod.outlook.com
State Accepted
Commit 4fc4cf49315c96531a7675140502df222ae8e942
Headers show
Series [FFmpeg-devel,01/10] avcodec/mpeg12dec: Don't set write-only variable | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

Andreas Rheinhardt Jan. 5, 2022, 9:56 p.m. UTC
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/mpegvideo.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 1c2b28f450..af433153f2 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -371,17 +371,17 @@  static int init_duplicate_context(MpegEncContext *s)
         s->pblocks[i] = &s->block[i];
     }
 
-    if (!(s->block32         = av_mallocz(sizeof(*s->block32))) ||
-        !(s->dpcm_macroblock = av_mallocz(sizeof(*s->dpcm_macroblock))))
-        return AVERROR(ENOMEM);
-    s->dpcm_direction = 0;
-
     if (s->avctx->codec_tag == AV_RL32("VCR2")) {
         // exchange uv
         FFSWAP(void *, s->pblocks[4], s->pblocks[5]);
     }
 
     if (s->out_format == FMT_H263) {
+        if (!(s->block32         = av_mallocz(sizeof(*s->block32))) ||
+            !(s->dpcm_macroblock = av_mallocz(sizeof(*s->dpcm_macroblock))))
+            return AVERROR(ENOMEM);
+        s->dpcm_direction = 0;
+
         /* ac values */
         if (!FF_ALLOCZ_TYPED_ARRAY(s->ac_val_base,  yc_size))
             return AVERROR(ENOMEM);