From ebcd2f968969192dd1286d9cbdd41197bff09a2f Mon Sep 17 00:00:00 2001 From: Mike Melanson Date: Sat, 13 Mar 2004 21:26:54 +0000 Subject: [PATCH] be smarter about the variable size of the extra SVQ3 data Originally committed as revision 2881 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/svq3.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index 6a53ed2399..1e73a3ff12 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -767,6 +767,7 @@ static int svq3_decode_frame (AVCodecContext *avctx, H264Context *const h = avctx->priv_data; int m, mb_type; unsigned char *extradata; + unsigned int size; *data_size = 0; @@ -799,12 +800,15 @@ static int svq3_decode_frame (AVCodecContext *avctx, extradata++; } + size = (extradata[4] << 24) | (extradata[5] << 16) | + (extradata[6] << 8) | extradata[7]; + /* if a match was found, parse the extra data */ if (!memcmp (extradata, "SEQH", 4)) { GetBitContext gb; - init_get_bits (&gb, extradata + 0x8, 8*8); + init_get_bits (&gb, extradata + 8, size); /* 'frame size code' and optional 'width, height' */ if (get_bits (&gb, 3) == 7) {