diff options
author | Mans Rullgard <mans@mansr.com> | 2011-11-13 19:25:53 +0400 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-11-14 19:35:29 +0400 |
commit | 3f5d6a665aba439a9309ed735e71403d236a313d (patch) | |
tree | 53962264ce30b24577e1ed146546ce16339cf517 /libavcodec/bink.c | |
parent | 2625b621ce7eb2d5f2f42d2a6dff37bffce3c726 (diff) |
binkvideo: simplify and remove invalid shifts
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/bink.c')
-rw-r--r-- | libavcodec/bink.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libavcodec/bink.c b/libavcodec/bink.c index 474e5c4801..b55ea07699 100644 --- a/libavcodec/bink.c +++ b/libavcodec/bink.c @@ -595,7 +595,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * { int coef_list[128]; int mode_list[128]; - int i, t, mask, bits, ccoef, mode, sign; + int i, t, bits, ccoef, mode, sign; int list_start = 64, list_end = 64, list_pos; int coef_count = 0; int coef_idx[64]; @@ -609,8 +609,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * coef_list[list_end] = 2; mode_list[list_end++] = 3; coef_list[list_end] = 3; mode_list[list_end++] = 3; - bits = get_bits(gb, 4) - 1; - for (mask = 1 << bits; bits >= 0; mask >>= 1, bits--) { + for (bits = get_bits(gb, 4) - 1; bits >= 0; bits--) { list_pos = list_start; while (list_pos < list_end) { if (!(mode_list[list_pos] | coef_list[list_pos]) || !get_bits1(gb)) { @@ -636,7 +635,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * if (!bits) { t = 1 - (get_bits1(gb) << 1); } else { - t = get_bits(gb, bits) | mask; + t = get_bits(gb, bits) | 1 << bits; sign = -get_bits1(gb); t = (t ^ sign) - sign; } @@ -657,7 +656,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * if (!bits) { t = 1 - (get_bits1(gb) << 1); } else { - t = get_bits(gb, bits) | mask; + t = get_bits(gb, bits) | 1 << bits; sign = -get_bits1(gb); t = (t ^ sign) - sign; } |