|
Lines 608-614
Link Here
|
| 608 |
* Dequantize samples (includes huffman decoding) |
608 |
* Dequantize samples (includes huffman decoding) |
| 609 |
*/ |
609 |
*/ |
| 610 |
/* 24 is enough because tab13 has max. a 19 bit huffvector */ |
610 |
/* 24 is enough because tab13 has max. a 19 bit huffvector */ |
| 611 |
#define BITSHIFT ((sizeof(long)-1)*8) |
611 |
#define BITSHIFT ((sizeof(int)-1)*8) |
| 612 |
#define REFRESH_MASK \ |
612 |
#define REFRESH_MASK \ |
| 613 |
while(num < BITSHIFT) { \ |
613 |
while(num < BITSHIFT) { \ |
| 614 |
mask |= getbyte()<<(BITSHIFT-num); \ |
614 |
mask |= getbyte()<<(BITSHIFT-num); \ |
|
Lines 625-631
Link Here
|
| 625 |
int *me; |
625 |
int *me; |
| 626 |
|
626 |
|
| 627 |
int num=getbitoffset(); |
627 |
int num=getbitoffset(); |
| 628 |
long mask = (long) getbits(num)<<(BITSHIFT+8-num); |
628 |
int mask = (int) getbits(num)<<(BITSHIFT+8-num); |
| 629 |
part2remain -= num; |
629 |
part2remain -= num; |
| 630 |
|
630 |
|
| 631 |
{ |
631 |
{ |
|
Lines 709-715
Link Here
|
| 709 |
if(x == 15 && h->linbits) { |
709 |
if(x == 15 && h->linbits) { |
| 710 |
max[lwin] = cb; |
710 |
max[lwin] = cb; |
| 711 |
REFRESH_MASK; |
711 |
REFRESH_MASK; |
| 712 |
x += ((unsigned long) mask) >> (BITSHIFT+8-h->linbits); |
712 |
x += ((unsigned int) mask) >> (BITSHIFT+8-h->linbits); |
| 713 |
num -= h->linbits+1; |
713 |
num -= h->linbits+1; |
| 714 |
mask <<= h->linbits; |
714 |
mask <<= h->linbits; |
| 715 |
if(mask < 0) |
715 |
if(mask < 0) |
|
Lines 733-739
Link Here
|
| 733 |
if(y == 15 && h->linbits) { |
733 |
if(y == 15 && h->linbits) { |
| 734 |
max[lwin] = cb; |
734 |
max[lwin] = cb; |
| 735 |
REFRESH_MASK; |
735 |
REFRESH_MASK; |
| 736 |
y += ((unsigned long) mask) >> (BITSHIFT+8-h->linbits); |
736 |
y += ((unsigned int) mask) >> (BITSHIFT+8-h->linbits); |
| 737 |
num -= h->linbits+1; |
737 |
num -= h->linbits+1; |
| 738 |
mask <<= h->linbits; |
738 |
mask <<= h->linbits; |
| 739 |
if(mask < 0) |
739 |
if(mask < 0) |
|
Lines 883-889
Link Here
|
| 883 |
if (x == 15 && h->linbits) { |
883 |
if (x == 15 && h->linbits) { |
| 884 |
max = cb; |
884 |
max = cb; |
| 885 |
REFRESH_MASK; |
885 |
REFRESH_MASK; |
| 886 |
x += ((unsigned long) mask) >> (BITSHIFT+8-h->linbits); |
886 |
x += ((unsigned int) mask) >> (BITSHIFT+8-h->linbits); |
| 887 |
num -= h->linbits+1; |
887 |
num -= h->linbits+1; |
| 888 |
mask <<= h->linbits; |
888 |
mask <<= h->linbits; |
| 889 |
if(mask < 0) |
889 |
if(mask < 0) |
|
Lines 907-913
Link Here
|
| 907 |
if (y == 15 && h->linbits) { |
907 |
if (y == 15 && h->linbits) { |
| 908 |
max = cb; |
908 |
max = cb; |
| 909 |
REFRESH_MASK; |
909 |
REFRESH_MASK; |
| 910 |
y += ((unsigned long) mask) >> (BITSHIFT+8-h->linbits); |
910 |
y += ((unsigned int) mask) >> (BITSHIFT+8-h->linbits); |
| 911 |
num -= h->linbits+1; |
911 |
num -= h->linbits+1; |
| 912 |
mask <<= h->linbits; |
912 |
mask <<= h->linbits; |
| 913 |
if(mask < 0) |
913 |
if(mask < 0) |