Commit 116d866c authored by Matthieu Castet's avatar Matthieu Castet Committed by Michael Niedermayer

fix playback of theora.ogg on mphq patch by (matthieu castet %% castet dat...

fix playback of theora.ogg on mphq patch by (matthieu castet %% castet dat matthieu ot free dat fr %%)

Originally committed as revision 5776 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent ae1dd8e1
...@@ -2628,8 +2628,10 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb) ...@@ -2628,8 +2628,10 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb)
skip_bits(gb, 24); /* frame height */ skip_bits(gb, 24); /* frame height */
} }
if (s->theora >= 0x030200) {
skip_bits(gb, 8); /* offset x */ skip_bits(gb, 8); /* offset x */
skip_bits(gb, 8); /* offset y */ skip_bits(gb, 8); /* offset y */
}
skip_bits(gb, 32); /* fps numerator */ skip_bits(gb, 32); /* fps numerator */
skip_bits(gb, 32); /* fps denumerator */ skip_bits(gb, 32); /* fps denumerator */
...@@ -2818,6 +2820,8 @@ static int theora_decode_init(AVCodecContext *avctx) ...@@ -2818,6 +2820,8 @@ static int theora_decode_init(AVCodecContext *avctx)
} }
if(8*op_bytes != get_bits_count(&gb)) if(8*op_bytes != get_bits_count(&gb))
av_log(avctx, AV_LOG_ERROR, "%d bits left in packet %X\n", 8*op_bytes - get_bits_count(&gb), ptype); av_log(avctx, AV_LOG_ERROR, "%d bits left in packet %X\n", 8*op_bytes - get_bits_count(&gb), ptype);
if (s->theora < 0x030200)
break;
} }
vp3_decode_init(avctx); vp3_decode_init(avctx);
......
...@@ -75,7 +75,7 @@ theora_header (AVFormatContext * s, int idx) ...@@ -75,7 +75,7 @@ theora_header (AVFormatContext * s, int idx)
if (version >= 0x030400) if (version >= 0x030400)
skip_bits(&gb, 164); skip_bits(&gb, 164);
else else if (version >= 0x030200)
skip_bits(&gb, 64); skip_bits(&gb, 64);
st->codec->time_base.den = get_bits(&gb, 32); st->codec->time_base.den = get_bits(&gb, 32);
st->codec->time_base.num = get_bits(&gb, 32); st->codec->time_base.num = get_bits(&gb, 32);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment