History

binkvideo: simplify and remove invalid shifts

Mans Rullgard committed 15 years ago

Commit 3f5d6a61 parent 2625b621 file · +4 −5Browse files

Unified · Split

libavcodec/bink.c+4−5
@@ -595,7 +595,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * · 594 unmodified lines
595595 {
596596 int coef_list[128];
597597 int mode_list[128];
598− int i, t, mask, bits, ccoef, mode, sign;
598+ int i, t, bits, ccoef, mode, sign;
599599 int list_start = 64, list_end = 64, list_pos;
600600 int coef_count = 0;
601601 int coef_idx[64];
@@ -609,8 +609,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * · 7 unmodified lines
609609 coef_list[list_end] = 2; mode_list[list_end++] = 3;
610610 coef_list[list_end] = 3; mode_list[list_end++] = 3;
611611
612− bits = get_bits(gb, 4) - 1;
613− for (mask = 1 << bits; bits >= 0; mask >>= 1, bits--) {
612+ for (bits = get_bits(gb, 4) - 1; bits >= 0; bits--) {
614613 list_pos = list_start;
615614 while (list_pos < list_end) {
616615 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 * · 19 unmodified lines
636635 if (!bits) {
637636 t = 1 - (get_bits1(gb) << 1);
638637 } else {
639− t = get_bits(gb, bits) | mask;
638+ t = get_bits(gb, bits) | 1 << bits;
640639 sign = -get_bits1(gb);
641640 t = (t ^ sign) - sign;
642641 }
@@ -657,7 +656,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * · 14 unmodified lines
657656 if (!bits) {
658657 t = 1 - (get_bits1(gb) << 1);
659658 } else {
660− t = get_bits(gb, bits) | mask;
659+ t = get_bits(gb, bits) | 1 << bits;
661660 sign = -get_bits1(gb);
662661 t = (t ^ sign) - sign;
663662 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t