[FFmpeg-devel] [PATCH 2/4] Theora 3.4 doesn't exist; these fields were misunderstandings of the spec
David Conrad
lessen42
Tue Feb 9 20:57:15 CET 2010
From: David Conrad <davedc at Kozue.local>
---
libavcodec/vp3.c | 16 ++--------------
1 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 5958c2d..42c3061 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -2131,15 +2131,6 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb)
return -1;
}
- if (s->theora >= 0x030400)
- {
- skip_bits(gb, 32); /* total number of superblocks in a frame */
- // fixme, the next field is 36bits long
- skip_bits(gb, 32); /* total number of blocks in a frame */
- skip_bits(gb, 4); /* total number of blocks in a frame */
- skip_bits(gb, 32); /* total number of macroblocks in a frame */
- }
-
if (s->theora >= 0x030200) {
visible_width = get_bits_long(gb, 24);
visible_height = get_bits_long(gb, 24);
@@ -2156,8 +2147,6 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb)
if (s->theora < 0x030200)
skip_bits(gb, 5); /* keyframe frequency force */
skip_bits(gb, 8); /* colorspace */
- if (s->theora >= 0x030400)
- skip_bits(gb, 2); /* pixel format: 420,res,422,444 */
skip_bits(gb, 24); /* bitrate */
skip_bits(gb, 6); /* quality hint */
@@ -2165,9 +2154,8 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb)
if (s->theora >= 0x030200)
{
skip_bits(gb, 5); /* keyframe frequency force */
-
- if (s->theora < 0x030400)
- skip_bits(gb, 5); /* spare bits */
+ skip_bits(gb, 2); /* pixel format: 420,res,422,444 */
+ skip_bits(gb, 3); /* reserved */
}
// align_get_bits(gb);
--
1.6.6
More information about the ffmpeg-devel
mailing list