35                                                   int16_t (*right_block)[64], 
int left_fieldtx,
 
   36                                                   int right_fieldtx, 
int block_num)
 
   42                                   left_fieldtx ^ right_fieldtx ? 16 - 8 * left_fieldtx : 8,
 
   43                                   left_fieldtx ^ right_fieldtx ? 16 - 8 * right_fieldtx : 8,
 
   44                                   left_fieldtx || right_fieldtx ? 0 : 1);
 
   52                                   right_fieldtx ? 0 : 1);
 
   57                                   left_fieldtx && !right_fieldtx ? right_block[0] + 8 : right_block[1],
 
   58                                   left_fieldtx ^ right_fieldtx ? 16 - 8 * left_fieldtx : 8,
 
   59                                   left_fieldtx ^ right_fieldtx ? 16 - 8 * right_fieldtx : 8,
 
   60                                   left_fieldtx || right_fieldtx ? 2 : 1);
 
   68                                   right_fieldtx ? 2 : 1);
 
   79                                                   int16_t (*bottom_block)[64], 
int block_num)
 
  108     int16_t (*topleft_blk)[64], (*top_blk)[64], (*left_blk)[64], (*cur_blk)[64];
 
  110     int mb_pos = 
s->mb_x + 
s->mb_y * 
s->mb_stride;
 
  126     for (
i = 0; 
i < block_count; 
i++) {
 
  127         if (
s->mb_x == 0 && (
i & 5) != 1)
 
  135                                  s->mb_x ? left_blk : cur_blk, cur_blk,
 
  142         for (
i = 0; 
i < block_count; 
i++) {
 
  143             if (
s->first_slice_line && !(
i & 2))
 
  152             if (
s->mb_x == 
s->mb_width - 1 &&
 
  164     int16_t (*topleft_blk)[64], (*top_blk)[64], (*left_blk)[64], (*cur_blk)[64];
 
  166     int mb_pos = 
s->mb_x + 
s->mb_y * 
s->mb_stride;
 
  174     for (
i = 0; 
i < block_count; 
i++) {
 
  175         if (
s->mb_x == 0 && (
i & 5) != 1)
 
  180                                  s->mb_x ? left_blk : cur_blk, cur_blk,
 
  187         for (
i = 0; 
i < block_count; 
i++) {
 
  188             if (
s->first_slice_line && !(
i & 2))
 
  191             if (
s->mb_x && v->
mb_type[
s->block_index[
i] - 2 + (
i > 3)] &&
 
  192                 v->
mb_type[
s->block_index[
i] - 
s->block_wrap[
i] - 2 + (
i > 3)])
 
  194             if (
s->mb_x == 
s->mb_width - 1)
 
  201 #define LEFT_EDGE   (1 << 0) 
  202 #define RIGHT_EDGE  (1 << 1) 
  203 #define TOP_EDGE    (1 << 2) 
  204 #define BOTTOM_EDGE (1 << 3) 
  207                                                  uint32_t 
flags, 
int block_num)
 
  220             dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
  239                                                  uint32_t 
flags, uint8_t fieldtx,
 
  246     if ((block_num & 5) == 1)
 
  253             dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
  259             } 
else if (block_num < 2 || !fieldtx) {
 
  275     int mb_pos = 
s->mb_x + 
s->mb_y * 
s->mb_stride;
 
  276     uint8_t *dest, fieldtx;
 
  288     if (!
s->first_slice_line) {
 
  289         dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
  293             for (
i = 0; 
i < block_count; 
i++)
 
  299             for (
i = 0; 
i < block_count; 
i++)
 
  303     if (
s->mb_y == 
s->end_mb_y - 1) {
 
  304         dest = 
s->dest[0] - 16;
 
  308             for (
i = 0; 
i < block_count; 
i++)
 
  314             for (
i = 0; 
i < block_count; 
i++)
 
  319     if (
s->mb_y >= 
s->start_mb_y + 2) {
 
  320         dest = 
s->dest[0] - 32 * 
s->linesize - 16;
 
  323             for (
i = 0; 
i < block_count; 
i++)
 
  329             for (
i = 0; 
i < block_count; 
i++)
 
  333     if (
s->mb_y == 
s->end_mb_y - 1) {
 
  334         if (
s->mb_y >= 
s->start_mb_y + 1) {
 
  335             dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
  338                 for (
i = 0; 
i < block_count; 
i++)
 
  344                 for (
i = 0; 
i < block_count; 
i++)
 
  348         dest = 
s->dest[0] - 16;
 
  351             for (
i = 0; 
i < block_count; 
i++)
 
  357             for (
i = 0; 
i < block_count; 
i++)
 
  364                                                  uint8_t *is_intra, int16_t (*
mv)[2], uint8_t *mv_f,
 
  365                                                  int *ttblk, uint32_t 
flags, 
int block_num)
 
  369     uint32_t left_cbp = cbp[0] >> (block_num * 4), right_cbp;
 
  370     uint8_t left_is_intra, right_is_intra;
 
  372     int idx, linesize  = block_num > 3 ? 
s->uvlinesize : 
s->linesize;
 
  378         dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
  381         left_is_intra = is_intra[0] & (1 << block_num);
 
  384             right_is_intra = is_intra[1] & (1 << block_num);
 
  385             right_cbp = cbp[1] >> (block_num * 4);
 
  386         } 
else if (block_num & 1) {
 
  387             right_is_intra = is_intra[1] & (1 << block_num - 1);
 
  388             right_cbp = cbp[1] >> ((block_num - 1) * 4);
 
  390             right_is_intra = is_intra[0] & (1 << block_num + 1);
 
  391             right_cbp = cbp[0] >> ((block_num + 1) * 4);
 
  394         if (left_is_intra || right_is_intra ||
 
  395             mv[0][0] != 
mv[1][0] || 
mv[0][1] != 
mv[1][1] ||
 
  399             idx = (left_cbp | (right_cbp >> 1)) & 5;
 
  407     tt = ttblk[0] >> (block_num * 4) & 0
xf;
 
  418                          const uint8_t *is_intra, int16_t (*
mv)[2], 
const uint8_t *mv_f,
 
  419                          const int *ttblk, uint32_t 
flags, 
int block_num)
 
  423     uint32_t top_cbp = cbp[0] >> (block_num * 4), bottom_cbp;
 
  424     uint8_t top_is_intra, bottom_is_intra;
 
  426     int idx, linesize  = block_num > 3 ? 
s->uvlinesize : 
s->linesize;
 
  432         dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
  435         top_is_intra = is_intra[0] & (1 << block_num);
 
  438             bottom_is_intra = is_intra[
s->mb_stride] & (1 << block_num);
 
  439             bottom_cbp = cbp[
s->mb_stride] >> (block_num * 4);
 
  440         } 
else if (block_num < 2) {
 
  441             bottom_is_intra = is_intra[0] & (1 << block_num + 2);
 
  442             bottom_cbp = cbp[0] >> ((block_num + 2) * 4);
 
  444             bottom_is_intra = is_intra[
s->mb_stride] & (1 << block_num - 2);
 
  445             bottom_cbp = cbp[
s->mb_stride] >> ((block_num - 2) * 4);
 
  448         if (top_is_intra || bottom_is_intra ||
 
  449             mv[0][0] != 
mv[block_num > 3 ? 
s->mb_stride : 
s->b8_stride][0] ||
 
  450             mv[0][1] != 
mv[block_num > 3 ? 
s->mb_stride : 
s->b8_stride][1] ||
 
  451             (v->
fcm == 
ILACE_FIELD && mv_f[0] != mv_f[block_num > 3 ? 
s->mb_stride : 
s->b8_stride]))
 
  454             idx = (top_cbp | (bottom_cbp >> 2)) & 3;
 
  462     tt = ttblk[0] >> (block_num * 4) & 0
xf;
 
  490     if (
s->mb_y >= 
s->start_mb_y + 2) {
 
  492             dest = 
s->dest[0] - 32 * 
s->linesize - 16;
 
  493             cbp = &v->
cbp[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  494             is_intra = &v->
is_intra[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  495             uvmv = &v->
luma_mv[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  496             ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  498             for (
i = 0; 
i < block_count; 
i++)
 
  500                                     i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize - 8 : dest,
 
  504                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] - 4 * 
s->b8_stride - 2 + v->
blocks_off],
 
  505                                     i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 2 * 
s->mb_stride - 1 + v->
mb_off] :
 
  511         if (
s->mb_x == 
s->mb_width - 1) {
 
  512             dest = 
s->dest[0] - 32 * 
s->linesize;
 
  513             cbp = &v->
cbp[
s->mb_x - 2 * 
s->mb_stride];
 
  514             is_intra = &v->
is_intra[
s->mb_x - 2 * 
s->mb_stride];
 
  515             uvmv = &v->
luma_mv[
s->mb_x - 2 * 
s->mb_stride];
 
  516             ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride];
 
  518             for (
i = 0; 
i < block_count; 
i++)
 
  520                                     i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize : dest,
 
  524                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] - 4 * 
s->b8_stride + v->
blocks_off],
 
  525                                     i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 2 * 
s->mb_stride + v->
mb_off] :
 
  532     if (
s->mb_y == 
s->end_mb_y - 1) {
 
  534             if (
s->mb_y >= 
s->start_mb_y + 1) {
 
  535                 dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
  536                 cbp = &v->
cbp[
s->mb_x - 
s->mb_stride - 1];
 
  537                 is_intra = &v->
is_intra[
s->mb_x - 
s->mb_stride - 1];
 
  538                 uvmv = &v->
luma_mv[
s->mb_x - 
s->mb_stride - 1];
 
  539                 ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 1];
 
  541                 for (
i = 0; 
i < block_count; 
i++)
 
  543                                         i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize - 8 : dest,
 
  547                                                 &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 * 
s->b8_stride - 2 + v->
blocks_off],
 
  548                                         i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 
s->mb_stride - 1 + v->
mb_off] :
 
  554             dest = 
s->dest[0] - 16;
 
  555             cbp = &v->
cbp[
s->mb_x - 1];
 
  558             ttblk = &v->
ttblk[
s->mb_x - 1];
 
  560             for (
i = 0; 
i < block_count; 
i++)
 
  562                                     i > 3 ? 
s->dest[
i - 3] - 8 : dest,
 
  566                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 + v->
blocks_off],
 
  573         if (
s->mb_x == 
s->mb_width - 1) {
 
  574             if (
s->mb_y >= 
s->start_mb_y + 1) {
 
  575                 dest = 
s->dest[0] - 16 * 
s->linesize;
 
  576                 cbp = &v->
cbp[
s->mb_x - 
s->mb_stride];
 
  577                 is_intra = &v->
is_intra[
s->mb_x - 
s->mb_stride];
 
  578                 uvmv = &v->
luma_mv[
s->mb_x - 
s->mb_stride];
 
  579                 ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride];
 
  581                 for (
i = 0; 
i < block_count; 
i++)
 
  583                                         i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize : dest,
 
  587                                                 &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 * 
s->b8_stride + v->
blocks_off],
 
  588                                         i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 
s->mb_stride + v->
mb_off] :
 
  595             cbp = &v->
cbp[
s->mb_x];
 
  598             ttblk = &v->
ttblk[
s->mb_x];
 
  600             for (
i = 0; 
i < block_count; 
i++)
 
  602                                     i > 3 ? 
s->dest[
i - 3] : dest,
 
  606                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] + v->
blocks_off],
 
  615     if (
s->mb_y >= 
s->start_mb_y + 2) {
 
  617             dest = 
s->dest[0] - 32 * 
s->linesize - 32;
 
  618             cbp = &v->
cbp[
s->mb_x - 2 * 
s->mb_stride - 2];
 
  619             is_intra = &v->
is_intra[
s->mb_x - 2 * 
s->mb_stride - 2];
 
  620             uvmv = &v->
luma_mv[
s->mb_x - 2 * 
s->mb_stride - 2];
 
  621             ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride - 2];
 
  623             for (
i = 0; 
i < block_count; 
i++)
 
  625                                     i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize - 16 : dest,
 
  629                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] - 4 * 
s->b8_stride - 4 + v->
blocks_off],
 
  630                                     i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 2 * 
s->mb_stride - 2 + v->
mb_off] :
 
  636         if (
s->mb_x == 
s->mb_width - 1) {
 
  638                 dest = 
s->dest[0] - 32 * 
s->linesize - 16;
 
  639                 cbp = &v->
cbp[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  640                 is_intra = &v->
is_intra[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  641                 uvmv = &v->
luma_mv[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  642                 ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride - 1];
 
  644                 for (
i = 0; 
i < block_count; 
i++)
 
  646                                             i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize - 8 : dest,
 
  650                                                     &
s->cur_pic.motion_val[0][
s->block_index[
i] - 4 * 
s->b8_stride - 2 + v->
blocks_off],
 
  651                                             i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 2 * 
s->mb_stride - 1 + v->
mb_off] :
 
  657             dest = 
s->dest[0] - 32 * 
s->linesize;
 
  658             cbp = &v->
cbp[
s->mb_x - 2 * 
s->mb_stride];
 
  659             is_intra = &v->
is_intra[
s->mb_x - 2 * 
s->mb_stride];
 
  660             uvmv = &v->
luma_mv[
s->mb_x - 2 * 
s->mb_stride];
 
  661             ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride];
 
  663             for (
i = 0; 
i < block_count; 
i++)
 
  665                                     i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize : dest,
 
  669                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] - 4 * 
s->b8_stride + v->
blocks_off],
 
  670                                     i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 2 * 
s->mb_stride + v->
mb_off] :
 
  677     if (
s->mb_y == 
s->end_mb_y - 1) {
 
  678         if (
s->mb_y >= 
s->start_mb_y + 1) {
 
  680                 dest = 
s->dest[0] - 16 * 
s->linesize - 32;
 
  681                 cbp = &v->
cbp[
s->mb_x - 
s->mb_stride - 2];
 
  682                 is_intra = &v->
is_intra[
s->mb_x - 
s->mb_stride - 2];
 
  683                 uvmv = &v->
luma_mv[
s->mb_x - 
s->mb_stride - 2];
 
  684                 ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 2];
 
  686                 for (
i = 0; 
i < block_count; 
i++)
 
  688                                         i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize - 16 : dest,
 
  692                                                 &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 * 
s->b8_stride - 4 + v->
blocks_off],
 
  693                                         i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 
s->mb_stride - 2 + v->
mb_off] :
 
  699             if (
s->mb_x == 
s->mb_width - 1) {
 
  701                     dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
  702                     cbp = &v->
cbp[
s->mb_x - 
s->mb_stride - 1];
 
  703                     is_intra = &v->
is_intra[
s->mb_x - 
s->mb_stride - 1];
 
  704                     uvmv = &v->
luma_mv[
s->mb_x - 
s->mb_stride - 1];
 
  705                     ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 1];
 
  707                     for (
i = 0; 
i < block_count; 
i++)
 
  709                                                 i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize - 8 : dest,
 
  713                                                         &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 * 
s->b8_stride - 2 + v->
blocks_off],
 
  714                                                 i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 
s->mb_stride - 1 + v->
mb_off] :
 
  720                 dest = 
s->dest[0] - 16 * 
s->linesize;
 
  721                 cbp = &v->
cbp[
s->mb_x - 
s->mb_stride];
 
  722                 is_intra = &v->
is_intra[
s->mb_x - 
s->mb_stride];
 
  723                 uvmv = &v->
luma_mv[
s->mb_x - 
s->mb_stride];
 
  724                 ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride];
 
  726                 for (
i = 0; 
i < block_count; 
i++)
 
  728                                         i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize : dest,
 
  732                                                 &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 * 
s->b8_stride + v->
blocks_off],
 
  733                                         i > 3 ? &v->
mv_f[0][
s->block_index[
i] - 
s->mb_stride + v->
mb_off] :
 
  741             dest = 
s->dest[0] - 32;
 
  742             cbp = &v->
cbp[
s->mb_x - 2];
 
  745             ttblk = &v->
ttblk[
s->mb_x - 2];
 
  747             for (
i = 0; 
i < block_count; 
i++)
 
  749                                     i > 3 ? 
s->dest[
i - 3] - 16 : dest,
 
  753                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] - 4 + v->
blocks_off],
 
  760         if (
s->mb_x == 
s->mb_width - 1) {
 
  762                 dest = 
s->dest[0] - 16;
 
  763                 cbp = &v->
cbp[
s->mb_x - 1];
 
  766                 ttblk = &v->
ttblk[
s->mb_x - 1];
 
  768                 for (
i = 0; 
i < block_count; 
i++)
 
  770                                         i > 3 ? 
s->dest[
i - 3] - 8 : dest,
 
  774                                                 &
s->cur_pic.motion_val[0][
s->block_index[
i] - 2 + v->
blocks_off],
 
  782             cbp = &v->
cbp[
s->mb_x];
 
  785             ttblk = &v->
ttblk[
s->mb_x];
 
  787             for (
i = 0; 
i < block_count; 
i++)
 
  789                                     i > 3 ? 
s->dest[
i - 3] : dest,
 
  793                                             &
s->cur_pic.motion_val[0][
s->block_index[
i] + v->
blocks_off],
 
  804                                                        uint32_t 
flags, uint8_t fieldtx, 
int block_num)
 
  809     int linesize  = block_num > 3 ? 
s->uvlinesize : 
s->linesize;
 
  815         dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
  817     tt = ttblk[0] >> (block_num * 4) & 0
xf;
 
  855                                uint32_t 
flags, uint8_t fieldtx, 
int block_num)
 
  860     int linesize  = block_num > 3 ? 
s->uvlinesize : 
s->linesize;
 
  866         dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
  868     tt = ttblk[0] >> (block_num * 4) & 0
xf;
 
  915     int mb_pos = 
s->mb_x + 
s->mb_y * 
s->mb_stride;
 
  931         if (
s->mb_y >= 
s->start_mb_y + 1) {
 
  932             dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
  933             ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 1];
 
  936             for (
i = 0; 
i < block_count; 
i++)
 
  938                                           i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize - 8 : dest,
 
  945     if (
s->mb_x == 
s->mb_width - 1) {
 
  946         if (
s->mb_y >= 
s->start_mb_y + 1) {
 
  947             dest = 
s->dest[0] - 16 * 
s->linesize;
 
  948             ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride];
 
  951             for (
i = 0; 
i < block_count; 
i++)
 
  953                                           i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize : dest,
 
  960     if (
s->mb_y == 
s->end_mb_y - 1) {
 
  962             dest = 
s->dest[0] - 16;
 
  963             ttblk = &v->
ttblk[
s->mb_x - 1];
 
  966             for (
i = 0; 
i < block_count; 
i++)
 
  968                                           i > 3 ? 
s->dest[
i - 3] - 8 : dest,
 
  974         if (
s->mb_x == 
s->mb_width - 1) {
 
  976             ttblk = &v->
ttblk[
s->mb_x];
 
  979             for (
i = 0; 
i < block_count; 
i++)
 
  981                                           i > 3 ? 
s->dest[
i - 3] : dest,
 
  989     if (
s->mb_y >= 
s->start_mb_y + 2) {
 
  991             dest = 
s->dest[0] - 32 * 
s->linesize - 32;
 
  992             ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride - 2];
 
  995             for (
i = 0; 
i < block_count; 
i++)
 
  997                                           i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize - 16 : dest,
 
 1003         if (
s->mb_x == 
s->mb_width - 1) {
 
 1005                 dest = 
s->dest[0] - 32 * 
s->linesize - 16;
 
 1006                 ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride - 1];
 
 1009                 for (
i = 0; 
i < block_count; 
i++)
 
 1011                                               i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize - 8 : dest,
 
 1017             dest = 
s->dest[0] - 32 * 
s->linesize;
 
 1018             ttblk = &v->
ttblk[
s->mb_x - 2 * 
s->mb_stride];
 
 1021             for (
i = 0; 
i < block_count; 
i++)
 
 1023                                           i > 3 ? 
s->dest[
i - 3] - 16 * 
s->uvlinesize : dest,
 
 1030     if (
s->mb_y == 
s->end_mb_y - 1) {
 
 1031         if (
s->mb_y >= 
s->start_mb_y + 1) {
 
 1033                 dest = 
s->dest[0] - 16 * 
s->linesize - 32;
 
 1034                 ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 2];
 
 1037                 for (
i = 0; 
i < block_count; 
i++)
 
 1039                                               i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize - 16 : dest,
 
 1045             if (
s->mb_x == 
s->mb_width - 1) {
 
 1047                     dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
 1048                     ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 1];
 
 1051                     for (
i = 0; 
i < block_count; 
i++)
 
 1053                                                   i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize - 8 : dest,
 
 1059                 dest = 
s->dest[0] - 16 * 
s->linesize;
 
 1060                 ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride];
 
 1063                 for (
i = 0; 
i < block_count; 
i++)
 
 1065                                               i > 3 ? 
s->dest[
i - 3] - 8 * 
s->uvlinesize : dest,
 
 1073             dest = 
s->dest[0] - 32;
 
 1074             ttblk = &v->
ttblk[
s->mb_x - 2];
 
 1077             for (
i = 0; 
i < block_count; 
i++)
 
 1079                                           i > 3 ? 
s->dest[
i - 3] - 16 : dest,
 
 1085         if (
s->mb_x == 
s->mb_width - 1) {
 
 1087                 dest = 
s->dest[0] - 16;
 
 1088                 ttblk = &v->
ttblk[
s->mb_x - 1];
 
 1091                 for (
i = 0; 
i < block_count; 
i++)
 
 1093                                               i > 3 ? 
s->dest[
i - 3] - 8 : dest,
 
 1100             ttblk = &v->
ttblk[
s->mb_x];
 
 1103             for (
i = 0; 
i < block_count; 
i++)
 
 1105                                           i > 3 ? 
s->dest[
i - 3] : dest,
 
 1116                                const int *ttblk, uint32_t 
flags, 
int block_num)
 
 1121     uint32_t block_cbp = cbp[0] >> (block_num * 4);
 
 1123     int idx, linesize  = block_num > 3 ? 
s->uvlinesize : 
s->linesize;
 
 1128         dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
 1134     tt = ttblk[0] >> (block_num * 4) & 0
xf;
 
 1136         idx = (block_cbp | (block_cbp >> 1)) & 5;
 
 1146                                const int *ttblk, uint32_t 
flags, 
int block_num)
 
 1151     uint32_t block_cbp = cbp[0] >> (block_num * 4);
 
 1153     int idx, linesize  = block_num > 3 ? 
s->uvlinesize : 
s->linesize;
 
 1158         dst = dest + (block_num & 2) * 4 * 
s->linesize + (block_num & 1) * 8;
 
 1163     tt = ttblk[0] >> (block_num * 4) & 0
xf;
 
 1165         idx = (block_cbp | (block_cbp >> 2)) & 3;
 
 1178     const uint32_t *cbp;
 
 1189     if (!
s->first_slice_line) {
 
 1190         dest = 
s->dest[0] - 16 * 
s->linesize;
 
 1191         cbp = &v->
cbp[
s->mb_x - 
s->mb_stride];
 
 1192         ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride];
 
 1194         for (
i = 0; 
i < block_count; 
i++)
 
 1197     if (
s->mb_y == 
s->end_mb_y - 1) {
 
 1199         cbp = &v->
cbp[
s->mb_x];
 
 1200         ttblk = &v->
ttblk[
s->mb_x];
 
 1202         for (
i = 0; 
i < block_count; 
i++)
 
 1206     if (!
s->first_slice_line) {
 
 1207         dest = 
s->dest[0] - 16 * 
s->linesize - 16;
 
 1208         cbp = &v->
cbp[
s->mb_x - 
s->mb_stride - 1];
 
 1209         ttblk = &v->
ttblk[
s->mb_x - 
s->mb_stride - 1];
 
 1212             for (
i = 0; 
i < block_count; 
i++)
 
 1215         if (
s->mb_x == 
s->mb_width - 1) {
 
 1220             for (
i = 0; 
i < block_count; 
i++)
 
 1224     if (
s->mb_y == 
s->end_mb_y - 1) {
 
 1225         dest = 
s->dest[0] - 16;
 
 1226         cbp = &v->
cbp[
s->mb_x - 1];
 
 1227         ttblk = &v->
ttblk[
s->mb_x - 1];
 
 1230             for (
i = 0; 
i < block_count; 
i++)
 
 1233         if (
s->mb_x == 
s->mb_width - 1) {
 
 1238             for (
i = 0; 
i < block_count; 
i++)