Merge commit '998c9f15d1ca8c7489775ebcca51623b915988f1'
[ffmpeg.git] / libavcodec / h263dec.c
index 31ec642e9f0e20bd4e58d86c3a3a33b5f5b77350..74e4be43a1afa5b5ea49c04c724d1b6a985ac64e 100644 (file)
@@ -121,9 +121,11 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx)
     /* for h263, we allocate the images after having read the header */
     if (avctx->codec->id != AV_CODEC_ID_H263 &&
         avctx->codec->id != AV_CODEC_ID_H263P &&
-        avctx->codec->id != AV_CODEC_ID_MPEG4)
+        avctx->codec->id != AV_CODEC_ID_MPEG4) {
+        ff_mpv_idct_init(s);
         if ((ret = ff_MPV_common_init(s)) < 0)
             return ret;
+    }
 
     ff_h263dsp_init(&s->h263dsp);
     ff_qpeldsp_init(&s->qdsp);
@@ -454,10 +456,12 @@ retry:
     if (ret < 0)
         return ret;
 
-    if (!s->context_initialized)
+    if (!s->context_initialized) {
         // we need the idct permutaton for reading a custom matrix
+        ff_mpv_idct_init(s);
         if ((ret = ff_MPV_common_init(s)) < 0)
             return ret;
+    }
 
     /* We need to set current_picture_ptr before reading the header,
      * otherwise we cannot store anyting in there */