From a89264761f9e11854ba20084403d5c5da670d491 Mon Sep 17 00:00:00 2001 From: David Conrad Date: Sun, 21 Feb 2010 00:10:58 +0000 Subject: [PATCH] Handle Theora's continued runs in superblock coding. This doesn't really matter yet since 4:2:0 1080p has only 3060 superblocks, but larger resolutions or 4:4:4 1080p could hit this case. Originally committed as revision 21930 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp3.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 5f871bc..18c6f24 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -482,6 +482,9 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb) if (bit) num_partial_superblocks += current_run; + if (s->theora && current_run == MAXIMUM_LONG_BIT_RUN) + bit = get_bits1(gb); + else bit ^= 1; } @@ -512,6 +515,9 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb) } superblocks_decoded += current_run; + if (s->theora && current_run == MAXIMUM_LONG_BIT_RUN) + bit = get_bits1(gb); + else bit ^= 1; } } -- 2.7.4