Commit a8926476 authored by David Conrad's avatar David Conrad

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
parent 855c720c
...@@ -482,6 +482,9 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb) ...@@ -482,6 +482,9 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb)
if (bit) if (bit)
num_partial_superblocks += current_run; num_partial_superblocks += current_run;
if (s->theora && current_run == MAXIMUM_LONG_BIT_RUN)
bit = get_bits1(gb);
else
bit ^= 1; bit ^= 1;
} }
...@@ -512,6 +515,9 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb) ...@@ -512,6 +515,9 @@ static int unpack_superblocks(Vp3DecodeContext *s, GetBitContext *gb)
} }
superblocks_decoded += current_run; superblocks_decoded += current_run;
if (s->theora && current_run == MAXIMUM_LONG_BIT_RUN)
bit = get_bits1(gb);
else
bit ^= 1; bit ^= 1;
} }
} }
......
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