Mercurial > libdvdnav.hg
diff decoder.c @ 14:ebf344d11bde src
Some improvements to decoder.c
Registers should be updated correctly now, but still needs checking.
author | jcdutton |
---|---|
date | Wed, 10 Apr 2002 13:09:40 +0000 |
parents | de00f8362634 |
children | 74aee0b81da0 |
line wrap: on
line diff
--- a/decoder.c Wed Apr 10 00:24:55 2002 +0000 +++ b/decoder.c Wed Apr 10 13:09:40 2002 +0000 @@ -48,6 +48,7 @@ uint64_t result = 0; uint64_t bit_mask=0xffffffffffffffff; /* I could put -1 instead */ uint64_t examining = 0; + int32_t bits; if (count == 0) return 0; if ( ((count+start) > 64) || @@ -59,9 +60,10 @@ assert(0); } bit_mask >>= start; - examining = ((bit_mask >> (64-count-start)) << (64-count-start) ); + bits = 64-count-start; + examining = ((bit_mask >> bits) << bits ); command->examined |= examining; - result = (command->instruction & bit_mask) >> (64-count-start); + result = (command->instruction & bit_mask) >> bits; return (uint32_t) result; }