libmpeg2 style bitstream reader 17 vs 16 bit bugfix
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 14 May 2003 22:38:58 +0000 (22:38 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 14 May 2003 22:38:58 +0000 (22:38 +0000)
Originally committed as revision 1881 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/common.c
libavcodec/common.h

index 26165b9..0e6cd69 100644 (file)
@@ -162,7 +162,7 @@ void init_get_bits(GetBitContext *s,
     {
         OPEN_READER(re, s)
         UPDATE_CACHE(re, s)
-//        UPDATE_CACHE(re, s)
+        UPDATE_CACHE(re, s)
         CLOSE_READER(re, s)
     }
 #ifdef A32_BITSTREAM_READER
index 092026d..874b15c 100644 (file)
@@ -546,7 +546,7 @@ static inline int get_bits_count(GetBitContext *s){
 #elif defined LIBMPEG2_BITSTREAM_READER
 //libmpeg2 like reader
 
-#   define MIN_CACHE_BITS 16
+#   define MIN_CACHE_BITS 17
 
 #   define OPEN_READER(name, gb)\
         int name##_bit_count=(gb)->bit_count;\
@@ -570,7 +570,7 @@ static inline int get_bits_count(GetBitContext *s){
 #else
 
 #   define UPDATE_CACHE(name, gb)\
-    if(name##_bit_count > 0){\
+    if(name##_bit_count >= 0){\
         name##_cache+= ((name##_buffer_ptr[0]<<8) + name##_buffer_ptr[1]) << name##_bit_count;\
         name##_buffer_ptr+=2;\
         name##_bit_count-= 16;\