[SCM] libav/experimental: Handle Theora's continued runs in superblock coding.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:00:45 UTC 2013


The following commit has been merged in the experimental branch:
commit a89264761f9e11854ba20084403d5c5da670d491
Author: David Conrad <lessen42 at gmail.com>
Date:   Sun Feb 21 00:10:58 2010 +0000

    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

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;
             }
         }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list