diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2006-08-28 18:44:49 +0000 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2006-08-28 18:44:49 +0000 |
commit | 8fbc6aae75403a7bbca595df9d3d3a9d835dc576 (patch) | |
tree | fb61b3b5a7a58dfed02108d26c7c126b818a7235 | |
parent | 1b4f17fafaebaaad52ef436e9288e2cb3ef7b396 (diff) | |
download | ffmpeg-8fbc6aae75403a7bbca595df9d3d3a9d835dc576.tar.gz |
move some functions to bitstream.h to avoid conflicts
between different bitstream readers in different codecs
Originally committed as revision 6117 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/bitstream.c | 35 | ||||
-rw-r--r-- | libavcodec/bitstream.h | 40 |
2 files changed, 35 insertions, 40 deletions
diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index 7eee0229a8..3eb1a6d745 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -47,41 +47,6 @@ void ff_put_string(PutBitContext * pbc, char *s, int put_zero) put_bits(pbc, 8, 0); } -/* bit input functions */ - -/** - * reads 0-32 bits. - */ -unsigned int get_bits_long(GetBitContext *s, int n){ - if(n<=17) return get_bits(s, n); - else{ - int ret= get_bits(s, 16) << (n-16); - return ret | get_bits(s, n-16); - } -} - -/** - * shows 0-32 bits. - */ -unsigned int show_bits_long(GetBitContext *s, int n){ - if(n<=17) return show_bits(s, n); - else{ - GetBitContext gb= *s; - int ret= get_bits_long(s, n); - *s= gb; - return ret; - } -} - -int check_marker(GetBitContext *s, const char *msg) -{ - int bit= get_bits1(s); - if(!bit) - av_log(NULL, AV_LOG_INFO, "Marker bit missing %s\n", msg); - - return bit; -} - /* VLC decoding */ //#define DEBUG_VLC diff --git a/libavcodec/bitstream.h b/libavcodec/bitstream.h index e0322b01da..17b5d2b1c5 100644 --- a/libavcodec/bitstream.h +++ b/libavcodec/bitstream.h @@ -6,6 +6,8 @@ #ifndef BITSTREAM_H #define BITSTREAM_H +#include "log.h" + //#define ALT_BITSTREAM_WRITER //#define ALIGNED_BITSTREAM_WRITER #if !defined(LIBMPEG2_BITSTREAM_READER) && !defined(A32_BITSTREAM_READER) && !defined(ALT_BITSTREAM_READER) @@ -642,8 +644,6 @@ static inline unsigned int get_bits(GetBitContext *s, int n){ return tmp; } -unsigned int get_bits_long(GetBitContext *s, int n); - /** * shows 0-17 bits. * Note, the alt bitstream reader can read up to 25 bits, but the libmpeg2 reader can't @@ -657,8 +657,6 @@ static inline unsigned int show_bits(GetBitContext *s, int n){ return tmp; } -unsigned int show_bits_long(GetBitContext *s, int n); - static inline void skip_bits(GetBitContext *s, int n){ //Note gcc seems to optimize this to s->index+=n for the ALT_READER :)) OPEN_READER(re, s) @@ -696,6 +694,39 @@ static inline void skip_bits1(GetBitContext *s){ } /** + * reads 0-32 bits. + */ +static inline unsigned int get_bits_long(GetBitContext *s, int n){ + if(n<=17) return get_bits(s, n); + else{ + int ret= get_bits(s, 16) << (n-16); + return ret | get_bits(s, n-16); + } +} + +/** + * shows 0-32 bits. + */ +static inline unsigned int show_bits_long(GetBitContext *s, int n){ + if(n<=17) return show_bits(s, n); + else{ + GetBitContext gb= *s; + int ret= get_bits_long(s, n); + *s= gb; + return ret; + } +} + +static inline int check_marker(GetBitContext *s, const char *msg) +{ + int bit= get_bits1(s); + if(!bit) + av_log(NULL, AV_LOG_INFO, "Marker bit missing %s\n", msg); + + return bit; +} + +/** * init GetBitContext. * @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger then the actual read bits * because some optimized bitstream readers read 32 or 64 bit at once and could read over the end @@ -828,7 +859,6 @@ static always_inline int get_vlc2(GetBitContext *s, VLC_TYPE (*table)[2], //#define TRACE #ifdef TRACE -#include "avcodec.h" static inline void print_bin(int bits, int n){ int i; |