svq3: initialize some required H264Context fields.
authorAnton Khirnov <anton@khirnov.net>
Sun, 5 Apr 2015 19:02:56 +0000 (21:02 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 5 Apr 2015 19:02:56 +0000 (21:02 +0200)
They are no longer initialized in ff_h264_decode_init() since 43fd3dd,
so svq3 needs to initialize the manually.

Fixes svq3 decoding, broken since 43fd3dd.

libavcodec/svq3.c

index 00e7c89..6c877bd 100644 (file)
@@ -887,6 +887,18 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx)
     if (ff_h264_decode_init(avctx) < 0)
         return -1;
 
+    ff_h264dsp_init(&h->h264dsp, 8, 1);
+    ff_h264chroma_init(&h->h264chroma, 8);
+    ff_h264qpel_init(&h->h264qpel, 8);
+    ff_h264_pred_init(&h->hpc, AV_CODEC_ID_SVQ3, 8, 1);
+    ff_videodsp_init(&h->vdsp, 8);
+
+    memset(h->pps.scaling_matrix4, 16, 6 * 16 * sizeof(uint8_t));
+    memset(h->pps.scaling_matrix8, 16, 2 * 64 * sizeof(uint8_t));
+
+    h->sps.bit_depth_luma = 8;
+    h->chroma_format_idc = 1;
+
     ff_hpeldsp_init(&s->hdsp, avctx->flags);
     ff_tpeldsp_init(&s->tdsp);