51 |
|
|
52 |
#include <stdio.h> |
#include <stdio.h> |
53 |
#include <stdlib.h> |
#include <stdlib.h> |
54 |
|
#include <string.h> |
55 |
|
|
56 |
#include "../portab.h" |
#include "../portab.h" |
57 |
#include "../global.h" |
#include "../global.h" |
58 |
#include "bitstream.h" |
#include "bitstream.h" |
500 |
{ |
{ |
501 |
if ((level = qcoeff[zigzag[i++]]) != 0) |
if ((level = qcoeff[zigzag[i++]]) != 0) |
502 |
{ |
{ |
503 |
abs_level = ABS(prev_level); |
abs_level = abs(prev_level); |
504 |
abs_level = abs_level < 64 ? abs_level : 0; |
abs_level = abs_level < 64 ? abs_level : 0; |
505 |
code = coeff_VLC[1][0][abs_level][prev_run].code; |
code = coeff_VLC[1][0][abs_level][prev_run].code; |
506 |
len = coeff_VLC[1][0][abs_level][prev_run].len; |
len = coeff_VLC[1][0][abs_level][prev_run].len; |
520 |
run++; |
run++; |
521 |
} |
} |
522 |
|
|
523 |
abs_level = ABS(prev_level); |
abs_level = abs(prev_level); |
524 |
abs_level = abs_level < 64 ? abs_level : 0; |
abs_level = abs_level < 64 ? abs_level : 0; |
525 |
code = coeff_VLC[1][1][abs_level][prev_run].code; |
code = coeff_VLC[1][1][abs_level][prev_run].code; |
526 |
len = coeff_VLC[1][1][abs_level][prev_run].len; |
len = coeff_VLC[1][1][abs_level][prev_run].len; |
561 |
{ |
{ |
562 |
if ((level = qcoeff[zigzag[i++]]) != 0) |
if ((level = qcoeff[zigzag[i++]]) != 0) |
563 |
{ |
{ |
564 |
abs_level = ABS(prev_level); |
abs_level = abs(prev_level); |
565 |
abs_level = abs_level < 64 ? abs_level : 0; |
abs_level = abs_level < 64 ? abs_level : 0; |
566 |
len = coeff_VLC[1][0][abs_level][prev_run].len; |
len = coeff_VLC[1][0][abs_level][prev_run].len; |
567 |
bits += len!=128 ? len : 30; |
bits += len!=128 ? len : 30; |
574 |
run++; |
run++; |
575 |
} |
} |
576 |
|
|
577 |
abs_level = ABS(prev_level); |
abs_level = abs(prev_level); |
578 |
abs_level = abs_level < 64 ? abs_level : 0; |
abs_level = abs_level < 64 ? abs_level : 0; |
579 |
len = coeff_VLC[1][1][abs_level][prev_run].len; |
len = coeff_VLC[1][1][abs_level][prev_run].len; |
580 |
bits += len!=128 ? len : 30; |
bits += len!=128 ? len : 30; |
1061 |
return data; |
return data; |
1062 |
|
|
1063 |
res = BitstreamGetBits(bs, fcode - 1); |
res = BitstreamGetBits(bs, fcode - 1); |
1064 |
mv = ((ABS(data) - 1) * scale_fac) + res + 1; |
mv = ((abs(data) - 1) * scale_fac) + res + 1; |
1065 |
|
|
1066 |
return data < 0 ? -mv : mv; |
return data < 0 ? -mv : mv; |
1067 |
|
|
1269 |
|
|
1270 |
} |
} |
1271 |
|
|
1272 |
|
|
1273 |
/***************************************************************************** |
/***************************************************************************** |
1274 |
* VLC tables and other constant arrays |
* VLC tables and other constant arrays |
1275 |
****************************************************************************/ |
****************************************************************************/ |