changeset 11228:6cb4b2e4af1c libavcodec

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.
author conrad
date Sun, 21 Feb 2010 00:10:58 +0000
parents 9aea1eaefe16
children d53e56a6228b
files vp3.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/vp3.c	Sun Feb 21 00:10:54 2010 +0000
+++ b/vp3.c	Sun Feb 21 00:10:58 2010 +0000
@@ -482,6 +482,9 @@
             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 @@
                 }
                 superblocks_decoded += current_run;
 
+                if (s->theora && current_run == MAXIMUM_LONG_BIT_RUN)
+                    bit = get_bits1(gb);
+                else
                     bit ^= 1;
             }
         }