From 5776344a7bc953cd93d1dd7762bd6f193378ed26 Mon Sep 17 00:00:00 2001 From: Rostislav Pehlivanov Date: Thu, 21 Jan 2016 16:46:41 +0000 Subject: [PATCH] diracdec: fix original Dirac Low Delay profile The version structure in the main decoder context was not (and apparently has never been) populated since it was added. Still, having VC-2 break the existing Dirac Low Delay mode was odd and easily avoidable had the specifications authors noticed/cared. Signed-off-by: Rostislav Pehlivanov --- libavcodec/diracdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 8ab4360288..ca44e7be11 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -2085,6 +2085,8 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int avctx->level = dsh->level; avctx->framerate = dsh->framerate; s->bit_depth = dsh->bit_depth; + s->version.major = dsh->version.major; + s->version.minor = dsh->version.minor; s->seq = *dsh; av_freep(&dsh); @@ -2143,6 +2145,7 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int pic->avframe->key_frame = s->num_refs == 0; /* [DIRAC_STD] is_intra() */ pic->avframe->pict_type = s->num_refs + 1; /* Definition of AVPictureType in avutil.h */ + /* VC-2 Low Delay has a different parse code than the Dirac Low Delay */ if (s->version.minor == 2 && parse_code == 0x88) s->ld_picture = 1;