Revision d23e3e5f libavcodec/mpegvideo.c

View differences:

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