From 9640ea1da4e0893001031c6d88aa48f350cc9956 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 17 Aug 2013 11:12:47 +0200 Subject: dxa: fix support of decoding all frames even in the absence of references The case where decoding should only happen for keyframes and afterwards (CODEC_FLAG2_SHOW_ALL not set) does not fully work neither before nor after this Signed-off-by: Michael Niedermayer --- libavcodec/dxa.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavcodec/dxa.c') diff --git a/libavcodec/dxa.c b/libavcodec/dxa.c index 0ef208b3ec..8f8e1a772d 100644 --- a/libavcodec/dxa.c +++ b/libavcodec/dxa.c @@ -264,7 +264,8 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac case 5: if (!tmpptr && (compr & 1)) { av_log(avctx, AV_LOG_ERROR, "Missing reference frame.\n"); - return AVERROR_INVALIDDATA; + if (!(avctx->flags2 & CODEC_FLAG2_SHOW_ALL)) + return AVERROR_INVALIDDATA; } frame->key_frame = !(compr & 1); frame->pict_type = (compr & 1) ? AV_PICTURE_TYPE_P : AV_PICTURE_TYPE_I; -- cgit v1.2.3