aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-19 17:59:42 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-23 20:31:05 +0100
commit90c7bfb9be432075fac32a23f5e0af48da35608a (patch)
tree697ad385ee7c7501b47c0f2b6350ad4e2c90cd5c /libavcodec
parent7bdd348e583230c440309e84cf1e86b37dff8955 (diff)
downloadffmpeg-90c7bfb9be432075fac32a23f5e0af48da35608a.tar.gz
avcodec/mjpegdec: parse avid data from extradata
Makes no difference for any file tested but is needed for following bug-fix Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 493296800c4cfd76561f71ded5f0893108063e67) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/mjpegdec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 4394854234..23075943f2 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -132,6 +132,13 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
s->interlace_polarity = 1; /* bottom field first */
av_log(avctx, AV_LOG_DEBUG, "bottom field first\n");
}
+
+ if ( avctx->extradata_size > 8
+ && AV_RL32(avctx->extradata) == 0x2C
+ && AV_RL32(avctx->extradata+4) == 0x18) {
+ parse_avid(s, avctx->extradata, avctx->extradata_size);
+ }
+
if (avctx->codec->id == AV_CODEC_ID_AMV)
s->flipped = 1;