36 #define V2_INTRA_CBPC_VLC_BITS 3
37 #define V2_MB_TYPE_VLC_BITS 7
39 #define V2_MV_VLC_BITS 9
40 #define TEX_VLC_BITS 9
42 #define DEFAULT_INTER_INDEX 3
73 int code, val, sign, shift;
76 av_dlog(s,
"MV code %d at %d %d pred: %d\n", code, s->
mb_x,s->
mb_y, pred);
86 val = (val - 1) << shift;
126 if(code<0 || code>7){
178 for (i = 0; i < 6; i++) {
227 int val = ((code >> (5 - i)) & 1);
233 cbp |= val << (5 - i);
253 ((cbp & 3) ? 1 : 0) +((cbp & 0x3C)? 2 : 0),
269 for (i = 0; i < 6; i++) {
395 if(start_code!=0x00000100){
413 if(!had_i)
return -1;
549 if(left>=length && left<length+8)
558 else if(left<length+8)
600 }
else if (level != 0) {
631 int n,
int coded,
const uint8_t *scan_table)
672 if (dc_pred_dir == 0)
682 qadd = (s->
qscale - 1) | 1;
751 if(sign) level= -
level;
754 #if 0 // waste of time / this will detect very few errors
756 const int abs_level=
FFABS(level);
757 const int run1= run - rl->
max_run[last][abs_level] - run_diff;
759 if(abs_level <= rl->max_level[last][run]){
761 return DECODING_AC_LOST;
763 if(abs_level <= rl->max_level[last][run]*2){
765 return DECODING_AC_LOST;
767 if(run1>=0 && abs_level <= rl->max_level[last][run1]){
769 return DECODING_AC_LOST;
775 if (level>0) level= level * qmul + qadd;
776 else level= level * qmul - qadd;
777 #if 0 // waste of time too :(
778 if(level>2048 || level<-2048){
780 return DECODING_AC_LOST;
788 else if((i>62 && i<192) || i>192+63)
795 i+= run + rl->
max_run[run>>7][level/qmul] + run_diff;
801 else if((i>62 && i<192) || i>192+63)
810 level = level + rl->
max_level[run>>7][(run-1)&63] * qmul;
816 else if((i>62 && i<192) || i>192+63)
827 else if((i>62 && i<192) || i>192+63)
844 block[scan_table[i]] =
level;
848 block[scan_table[i]] =
level;
866 int *mx_ptr,
int *my_ptr)