comparison vc1dec.c @ 9881:c69559e9f6c3 libavcodec

Edge emulation should be used in B-frame MC in mspel mode with mv_x < 1 or mv_y < 1.
author kostya
date Tue, 23 Jun 2009 07:41:38 +0000
parents ff0ea87dd64e
children cd2b3ecdb1c9
comparison
equal deleted inserted replaced
9880:e934c5f8f4a9 9881:c69559e9f6c3
858 srcU = s->edge_emu_buffer + 18 * s->linesize; 858 srcU = s->edge_emu_buffer + 18 * s->linesize;
859 srcV = s->edge_emu_buffer + 18 * s->linesize; 859 srcV = s->edge_emu_buffer + 18 * s->linesize;
860 } 860 }
861 861
862 if(v->rangeredfrm 862 if(v->rangeredfrm
863 || (unsigned)src_x > s->h_edge_pos - (mx&3) - 16 - s->mspel*3 863 || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - s->mspel*3
864 || (unsigned)src_y > s->v_edge_pos - (my&3) - 16 - s->mspel*3){ 864 || (unsigned)(src_y - s->mspel) > s->v_edge_pos - (my&3) - 16 - s->mspel*3){
865 uint8_t *uvbuf= s->edge_emu_buffer + 19 * s->linesize; 865 uint8_t *uvbuf= s->edge_emu_buffer + 19 * s->linesize;
866 866
867 srcY -= s->mspel * (1 + s->linesize); 867 srcY -= s->mspel * (1 + s->linesize);
868 ff_emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize, 17+s->mspel*2, 17+s->mspel*2, 868 ff_emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize, 17+s->mspel*2, 17+s->mspel*2,
869 src_x - s->mspel, src_y - s->mspel, s->h_edge_pos, s->v_edge_pos); 869 src_x - s->mspel, src_y - s->mspel, s->h_edge_pos, s->v_edge_pos);