From 3bb10888ff7a845efa30fd64d5978a8708db01d7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 14 May 2003 22:38:58 +0000 Subject: [PATCH] libmpeg2 style bitstream reader 17 vs 16 bit bugfix Originally committed as revision 1881 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/common.c | 2 +- libavcodec/common.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/common.c b/libavcodec/common.c index 26165b9018..0e6cd69d0b 100644 --- a/libavcodec/common.c +++ b/libavcodec/common.c @@ -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 diff --git a/libavcodec/common.h b/libavcodec/common.h index 092026d78e..874b15cda4 100644 --- a/libavcodec/common.h +++ b/libavcodec/common.h @@ -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;\