From ee89b2b9e77371d65d72ddd2b83f37cc0658c479 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 3 Mar 2005 02:24:20 +0000 Subject: [PATCH] 04-vp3 fix(by matthieu castet).patch Originally committed as revision 3998 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp3.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 8b12a3c539..659d6913bb 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2919,13 +2919,20 @@ static int theora_decode_init(AVCodecContext *avctx) Vp3DecodeContext *s = avctx->priv_data; GetBitContext gb; int ptype; + uint8_t *p= avctx->extradata; + int op_bytes, i; s->theora = 1; if (!avctx->extradata_size) return -1; - init_get_bits(&gb, avctx->extradata, avctx->extradata_size); + for(i=0;i<3;i++) { + op_bytes = *(p++)<<8; + op_bytes += *(p++); + + init_get_bits(&gb, p, op_bytes); + p += op_bytes; ptype = get_bits(&gb, 8); debug_vp3("Theora headerpacket type: %x\n", ptype); @@ -2948,6 +2955,7 @@ static int theora_decode_init(AVCodecContext *avctx) theora_decode_tables(avctx, gb); break; } + } return 0; }