OSDN Git Service

Make the special 4129 case for long-run bit strings a #define and explain it
authorDavid Conrad <lessen42@gmail.com>
Sun, 21 Feb 2010 00:10:51 +0000 (00:10 +0000)
committerDavid Conrad <lessen42@gmail.com>
Sun, 21 Feb 2010 00:10:51 +0000 (00:10 +0000)
Originally committed as revision 21928 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vp3.c

index 9268d5e..e669332 100644 (file)
@@ -63,6 +63,11 @@ typedef struct Vp3Fragment {
 #define SB_PARTIALLY_CODED  1
 #define SB_FULLY_CODED      2
 
+// This is the maximum length of a single long bit run that can be encoded
+// for superblock coding or block qps. Theora special-cases this to read a
+// bit instead of flipping the current bit to allow for runs longer than 4129.
+#define MAXIMUM_LONG_BIT_RUN 4129
+
 #define MODE_INTER_NO_MV      0
 #define MODE_INTRA            1
 #define MODE_INTER_PLUS_MV    2
@@ -920,7 +925,7 @@ static int unpack_block_qpis(Vp3DecodeContext *s, GetBitContext *gb)
                 }
             }
 
-            if (run_length == 4129)
+            if (run_length == MAXIMUM_LONG_BIT_RUN)
                 bit = get_bits1(gb);
             else
                 bit ^= 1;