Mercurial > libavcodec.hg
changeset 10997:9bd48e510bef libavcodec
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() ?
author | michael |
---|---|
date | Sun, 24 Jan 2010 19:19:09 +0000 |
parents | 26f9c146ef2a |
children | b2e1b3baef0a |
files | get_bits.h |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/get_bits.h Sun Jan 24 18:42:22 2010 +0000 +++ b/get_bits.h Sun Jan 24 19:19:09 2010 +0000 @@ -152,7 +152,7 @@ # define MIN_CACHE_BITS 25 # define OPEN_READER(name, gb)\ - int name##_index= (gb)->index;\ + unsigned int name##_index= (gb)->index;\ int name##_cache= 0;\ # define CLOSE_READER(name, gb)\ @@ -413,7 +413,7 @@ static inline unsigned int get_bits1(GetBitContext *s){ #ifdef ALT_BITSTREAM_READER - int index= s->index; + unsigned int index= s->index; uint8_t result= s->buffer[ index>>3 ]; #ifdef ALT_BITSTREAM_READER_LE result>>= (index&0x07); @@ -557,7 +557,8 @@ */ #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);\ code = table[index][0];\ @@ -588,7 +589,8 @@ #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);\ level = table[index].level;\