Mercurial > libavcodec.hg
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); |