Commit d9ef0d2e authored by Michael Niedermayer's avatar Michael Niedermayer

Mark index as unsigend so gcc knows it doesnt need a sign extension on x86_64.

Any tips on how i can convince gcc that it doesnt need a
mov     %eax, %eax
in every get_bits() ?

Originally committed as revision 21433 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 449d1442
...@@ -152,7 +152,7 @@ for examples see get_bits, show_bits, skip_bits, get_vlc ...@@ -152,7 +152,7 @@ for examples see get_bits, show_bits, skip_bits, get_vlc
# define MIN_CACHE_BITS 25 # define MIN_CACHE_BITS 25
# define OPEN_READER(name, gb)\ # define OPEN_READER(name, gb)\
int name##_index= (gb)->index;\ unsigned int name##_index= (gb)->index;\
int name##_cache= 0;\ int name##_cache= 0;\
# define CLOSE_READER(name, gb)\ # define CLOSE_READER(name, gb)\
...@@ -413,7 +413,7 @@ static inline void skip_bits(GetBitContext *s, int n){ ...@@ -413,7 +413,7 @@ static inline void skip_bits(GetBitContext *s, int n){
static inline unsigned int get_bits1(GetBitContext *s){ static inline unsigned int get_bits1(GetBitContext *s){
#ifdef ALT_BITSTREAM_READER #ifdef ALT_BITSTREAM_READER
int index= s->index; unsigned int index= s->index;
uint8_t result= s->buffer[ index>>3 ]; uint8_t result= s->buffer[ index>>3 ];
#ifdef ALT_BITSTREAM_READER_LE #ifdef ALT_BITSTREAM_READER_LE
result>>= (index&0x07); result>>= (index&0x07);
...@@ -557,7 +557,8 @@ void free_vlc(VLC *vlc); ...@@ -557,7 +557,8 @@ void free_vlc(VLC *vlc);
*/ */
#define GET_VLC(code, name, gb, table, bits, max_depth)\ #define GET_VLC(code, name, gb, table, bits, max_depth)\
{\ {\
int n, index, nb_bits;\ int n, nb_bits;\
unsigned int index;\
\ \
index= SHOW_UBITS(name, gb, bits);\ index= SHOW_UBITS(name, gb, bits);\
code = table[index][0];\ code = table[index][0];\
...@@ -588,7 +589,8 @@ void free_vlc(VLC *vlc); ...@@ -588,7 +589,8 @@ void free_vlc(VLC *vlc);
#define GET_RL_VLC(level, run, name, gb, table, bits, max_depth, need_update)\ #define GET_RL_VLC(level, run, name, gb, table, bits, max_depth, need_update)\
{\ {\
int n, index, nb_bits;\ int n, nb_bits;\
unsigned int index;\
\ \
index= SHOW_UBITS(name, gb, bits);\ index= SHOW_UBITS(name, gb, bits);\
level = table[index].level;\ level = table[index].level;\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment