Revision d23e3e5f libavcodec/mpegvideo.c
libavcodec/mpegvideo.c | ||
---|---|---|
1479 | 1479 |
|
1480 | 1480 |
if( (unsigned)src_x > h_edge_pos - (!!sx) - w |
1481 | 1481 |
|| (unsigned)src_y >(v_edge_pos >> field_based) - (!!sy) - h){ |
1482 |
ff_emulated_edge_mc(s->edge_emu_buffer, src, s->linesize, w+1, (h+1)<<field_based,
|
|
1482 |
s->dsp.emulated_edge_mc(s->edge_emu_buffer, src, s->linesize, w+1, (h+1)<<field_based,
|
|
1483 | 1483 |
src_x, src_y<<field_based, h_edge_pos, v_edge_pos); |
1484 | 1484 |
src= s->edge_emu_buffer; |
1485 | 1485 |
emu=1; |
... | ... | |
1552 | 1552 |
|
1553 | 1553 |
if( (unsigned)src_x > h_edge_pos - (!!sx) - 2*block_s |
1554 | 1554 |
|| (unsigned)src_y >(v_edge_pos >> field_based) - (!!sy) - h){ |
1555 |
ff_emulated_edge_mc(s->edge_emu_buffer, ptr_y, s->linesize, 17, 17+field_based,
|
|
1555 |
s->dsp.emulated_edge_mc(s->edge_emu_buffer, ptr_y, s->linesize, 17, 17+field_based,
|
|
1556 | 1556 |
src_x, src_y<<field_based, h_edge_pos, v_edge_pos); |
1557 | 1557 |
ptr_y = s->edge_emu_buffer; |
1558 | 1558 |
if(!CONFIG_GRAY || !(s->flags&CODEC_FLAG_GRAY)){ |
1559 | 1559 |
uint8_t *uvbuf= s->edge_emu_buffer+18*s->linesize; |
1560 |
ff_emulated_edge_mc(uvbuf , ptr_cb, s->uvlinesize, 9, 9+field_based,
|
|
1560 |
s->dsp.emulated_edge_mc(uvbuf , ptr_cb, s->uvlinesize, 9, 9+field_based,
|
|
1561 | 1561 |
uvsrc_x, uvsrc_y<<field_based, h_edge_pos>>1, v_edge_pos>>1); |
1562 |
ff_emulated_edge_mc(uvbuf+16, ptr_cr, s->uvlinesize, 9, 9+field_based,
|
|
1562 |
s->dsp.emulated_edge_mc(uvbuf+16, ptr_cr, s->uvlinesize, 9, 9+field_based,
|
|
1563 | 1563 |
uvsrc_x, uvsrc_y<<field_based, h_edge_pos>>1, v_edge_pos>>1); |
1564 | 1564 |
ptr_cb= uvbuf; |
1565 | 1565 |
ptr_cr= uvbuf+16; |
... | ... | |
1625 | 1625 |
if(s->flags&CODEC_FLAG_EMU_EDGE){ |
1626 | 1626 |
if( (unsigned)src_x > h_edge_pos - (!!sx) - block_s |
1627 | 1627 |
|| (unsigned)src_y > v_edge_pos - (!!sy) - block_s){ |
1628 |
ff_emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9, src_x, src_y, h_edge_pos, v_edge_pos);
|
|
1628 |
s->dsp.emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9, src_x, src_y, h_edge_pos, v_edge_pos);
|
|
1629 | 1629 |
ptr= s->edge_emu_buffer; |
1630 | 1630 |
emu=1; |
1631 | 1631 |
} |
... | ... | |
1636 | 1636 |
|
1637 | 1637 |
ptr = ref_picture[2] + offset; |
1638 | 1638 |
if(emu){ |
1639 |
ff_emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9, src_x, src_y, h_edge_pos, v_edge_pos);
|
|
1639 |
s->dsp.emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9, src_x, src_y, h_edge_pos, v_edge_pos);
|
|
1640 | 1640 |
ptr= s->edge_emu_buffer; |
1641 | 1641 |
} |
1642 | 1642 |
pix_op[op_index](dest_cr, ptr, s->uvlinesize, block_s, sx, sy); |
Also available in: Unified diff