From ecb51b25bb3511f3e251d7a3ead653eda9a9179d Mon Sep 17 00:00:00 2001 From: David Conrad Date: Sun, 21 Feb 2010 00:10:51 +0000 Subject: Make the special 4129 case for long-run bit strings a #define and explain it Originally committed as revision 21928 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavcodec/vp3.c') diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 9268d5e7af..e669332740 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -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; -- cgit v1.2.3