diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 07e61efb05..718b12832c 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -992,13 +992,19 @@ static av_cold void common_init(H264Context *h){ s->height = s->avctx->height; s->codec_id= s->avctx->codec->id; - ff_h264dsp_init(&h->h264dsp, 8, 1); - ff_h264_pred_init(&h->hpc, s->codec_id, 8, 1); + s->avctx->bits_per_raw_sample = 8; + h->cur_chroma_format_idc = 1; + + ff_h264dsp_init(&h->h264dsp, + s->avctx->bits_per_raw_sample, h->cur_chroma_format_idc); + ff_h264_pred_init(&h->hpc, s->codec_id, + s->avctx->bits_per_raw_sample, h->cur_chroma_format_idc); h->dequant_coeff_pps= -1; s->unrestricted_mv=1; s->decode=1; //FIXME + s->dsp.dct_bits = 16; dsputil_init(&s->dsp, s->avctx); // needed so that idct permutation is known early memset(h->pps.scaling_matrix4, 16, 6*16*sizeof(uint8_t));