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
595{595{
596 int coef_list[128];596 int coef_list[128];
597 int mode_list[128];597 int mode_list[128];
598 int i, t, mask, bits, ccoef, mode, sign;598 int i, t, bits, ccoef, mode, sign;
599 int list_start = 64, list_end = 64, list_pos;599 int list_start = 64, list_end = 64, list_pos;
600 int coef_count = 0;600 int coef_count = 0;
601 int coef_idx[64];601 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
609 coef_list[list_end] = 2; mode_list[list_end++] = 3;609 coef_list[list_end] = 2; mode_list[list_end++] = 3;
610 coef_list[list_end] = 3; mode_list[list_end++] = 3;610 coef_list[list_end] = 3; mode_list[list_end++] = 3;
611 611
612 bits = get_bits(gb, 4) - 1;612 for (bits = get_bits(gb, 4) - 1; bits >= 0; bits--) {
613 for (mask = 1 << bits; bits >= 0; mask >>= 1, bits--) {
614 list_pos = list_start;613 list_pos = list_start;
615 while (list_pos < list_end) {614 while (list_pos < list_end) {
616 if (!(mode_list[list_pos] | coef_list[list_pos]) || !get_bits1(gb)) {615 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
636 if (!bits) {635 if (!bits) {
637 t = 1 - (get_bits1(gb) << 1);636 t = 1 - (get_bits1(gb) << 1);
638 } else {637 } else {
639 t = get_bits(gb, bits) | mask;638 t = get_bits(gb, bits) | 1 << bits;
640 sign = -get_bits1(gb);639 sign = -get_bits1(gb);
641 t = (t ^ sign) - sign;640 t = (t ^ sign) - sign;
642 }641 }
@@ -657,7 +656,7 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t * · 14 unmodified lines
657 if (!bits) {656 if (!bits) {
658 t = 1 - (get_bits1(gb) << 1);657 t = 1 - (get_bits1(gb) << 1);
659 } else {658 } else {
660 t = get_bits(gb, bits) | mask;659 t = get_bits(gb, bits) | 1 << bits;
661 sign = -get_bits1(gb);660 sign = -get_bits1(gb);
662 t = (t ^ sign) - sign;661 t = (t ^ sign) - sign;
663 }662 }

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