diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 0453a97928..4230a06e32 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -1815,12 +1815,14 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int { DiracContext *s = avctx->priv_data; DiracFrame *pic = NULL; - int ret, i, parse_code = buf[4]; + int ret, i, parse_code; unsigned tmp; if (size < DATA_UNIT_HEADER_SIZE) return -1; + parse_code = buf[4]; + init_get_bits(&s->gb, &buf[13], 8*(size - DATA_UNIT_HEADER_SIZE)); if (parse_code == pc_seq_header) {