comparison rv34.c @ 9040:71620eeff338 libavcodec

Since motion vectors for intra blocks are always zero, do not try to retrieve them.
author kostya
date Wed, 25 Feb 2009 08:35:37 +0000
parents 03ea23e85f42
children 05e82eb11983
comparison
equal deleted inserted replaced
9039:d4002371b3d2 9040:71620eeff338
785 break; 785 break;
786 } 786 }
787 case RV34_MB_B_DIRECT: 787 case RV34_MB_B_DIRECT:
788 //surprisingly, it uses motion scheme from next reference frame 788 //surprisingly, it uses motion scheme from next reference frame
789 next_bt = s->next_picture_ptr->mb_type[s->mb_x + s->mb_y * s->mb_stride]; 789 next_bt = s->next_picture_ptr->mb_type[s->mb_x + s->mb_y * s->mb_stride];
790 if(IS_INTRA(next_bt))
791 fill_rectangle(s->current_picture_ptr->motion_val[0][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], 2, 2, s->b8_stride, 0, 4);
792 else
790 for(j = 0; j < 2; j++) 793 for(j = 0; j < 2; j++)
791 for(i = 0; i < 2; i++) 794 for(i = 0; i < 2; i++)
792 for(k = 0; k < 2; k++) 795 for(k = 0; k < 2; k++)
793 for(l = 0; l < 2; l++) 796 for(l = 0; l < 2; l++)
794 s->current_picture_ptr->motion_val[l][mv_pos + i + j*s->b8_stride][k] = calc_add_mv(r, l, s->next_picture_ptr->motion_val[0][mv_pos + i + j*s->b8_stride][k]); 797 s->current_picture_ptr->motion_val[l][mv_pos + i + j*s->b8_stride][k] = calc_add_mv(r, l, s->next_picture_ptr->motion_val[0][mv_pos + i + j*s->b8_stride][k]);