330 |
dcc_tab[qcoeff[i * 64 + 0] + 255].len); |
dcc_tab[qcoeff[i * 64 + 0] + 255].len); |
331 |
|
|
332 |
if (pMB->cbp & (1 << (5 - i))) { |
if (pMB->cbp & (1 << (5 - i))) { |
333 |
|
const uint16_t *scan_table = |
334 |
|
frame->global_flags & XVID_ALTERNATESCAN ? |
335 |
|
scan_tables[2] : scan_tables[pMB->acpred_directions[i]]; |
336 |
|
|
337 |
bits = BitstreamPos(bs); |
bits = BitstreamPos(bs); |
338 |
|
|
339 |
CodeCoeff(bs, &qcoeff[i * 64], intra_table, |
CodeCoeff(bs, &qcoeff[i * 64], intra_table, scan_table, 1); |
|
scan_tables[pMB->acpred_directions[i]], 1); |
|
340 |
|
|
341 |
bits = BitstreamPos(bs) - bits; |
bits = BitstreamPos(bs) - bits; |
342 |
pStat->iTextBits += bits; |
pStat->iTextBits += bits; |
401 |
// code block coeffs |
// code block coeffs |
402 |
for (i = 0; i < 6; i++) |
for (i = 0; i < 6; i++) |
403 |
if (pMB->cbp & (1 << (5 - i))) |
if (pMB->cbp & (1 << (5 - i))) |
404 |
CodeCoeff(bs, &qcoeff[i * 64], inter_table, scan_tables[0], 0); |
{ |
405 |
|
const uint16_t *scan_table = |
406 |
|
frame->global_flags & XVID_ALTERNATESCAN ? |
407 |
|
scan_tables[2] : scan_tables[0]; |
408 |
|
|
409 |
|
CodeCoeff(bs, &qcoeff[i * 64], inter_table, scan_table, 0); |
410 |
|
} |
411 |
|
|
412 |
bits = BitstreamPos(bs) - bits; |
bits = BitstreamPos(bs) - bits; |
413 |
pStat->iTextBits += bits; |
pStat->iTextBits += bits; |
511 |
const int32_t fcode, |
const int32_t fcode, |
512 |
const int32_t bcode, |
const int32_t bcode, |
513 |
Bitstream * bs, |
Bitstream * bs, |
514 |
Statistics * pStat) |
Statistics * pStat, |
515 |
|
int direction) |
516 |
{ |
{ |
517 |
int vcode = fcode; |
int vcode = fcode; |
518 |
unsigned int i; |
unsigned int i; |
563 |
|
|
564 |
for (i = 0; i < 6; i++) { |
for (i = 0; i < 6; i++) { |
565 |
if (mb->cbp & (1 << (5 - i))) { |
if (mb->cbp & (1 << (5 - i))) { |
566 |
CodeCoeff(bs, &qcoeff[i * 64], inter_table, scan_tables[0], 0); |
CodeCoeff(bs, &qcoeff[i * 64], inter_table, scan_tables[direction], 0); |
567 |
} |
} |
568 |
} |
} |
569 |
} |
} |
787 |
|
|
788 |
void |
void |
789 |
get_inter_block(Bitstream * bs, |
get_inter_block(Bitstream * bs, |
790 |
int16_t * block) |
int16_t * block, |
791 |
|
int direction) |
792 |
{ |
{ |
793 |
|
|
794 |
const uint16_t *scan = scan_tables[0]; |
const uint16_t *scan = scan_tables[direction]; |
795 |
int p; |
int p; |
796 |
int level; |
int level; |
797 |
int run; |
int run; |