comparison wmv2.c @ 1317:26c44d2433c1 libavcodec

make ff_emulated_edge_mc() independant of MpegEncContext
author michaelni
date Wed, 18 Jun 2003 22:00:23 +0000
parents a979fab41ed8
children 209abbb4c4f7
comparison
equal deleted inserted replaced
1316:b1d624981afd 1317:26c44d2433c1
648 ptr = ref_picture[0] + (src_y * linesize) + src_x; 648 ptr = ref_picture[0] + (src_y * linesize) + src_x;
649 649
650 if(s->flags&CODEC_FLAG_EMU_EDGE){ 650 if(s->flags&CODEC_FLAG_EMU_EDGE){
651 if(src_x<1 || src_y<1 || src_x + 17 >= s->h_edge_pos 651 if(src_x<1 || src_y<1 || src_x + 17 >= s->h_edge_pos
652 || src_y + h+1 >= v_edge_pos){ 652 || src_y + h+1 >= v_edge_pos){
653 ff_emulated_edge_mc(s, ptr - 1 - s->linesize, s->linesize, 19, 19, 653 ff_emulated_edge_mc(s->emu_edge_buffer, ptr - 1 - s->linesize, s->linesize, 19, 19,
654 src_x-1, src_y-1, s->h_edge_pos, s->v_edge_pos); 654 src_x-1, src_y-1, s->h_edge_pos, s->v_edge_pos);
655 ptr= s->edge_emu_buffer + 1 + s->linesize; 655 ptr= s->edge_emu_buffer + 1 + s->linesize;
656 emu=1; 656 emu=1;
657 } 657 }
658 } 658 }
689 if (src_y == (s->height >> 1)) 689 if (src_y == (s->height >> 1))
690 dxy &= ~2; 690 dxy &= ~2;
691 offset = (src_y * uvlinesize) + src_x; 691 offset = (src_y * uvlinesize) + src_x;
692 ptr = ref_picture[1] + offset; 692 ptr = ref_picture[1] + offset;
693 if(emu){ 693 if(emu){
694 ff_emulated_edge_mc(s, ptr, s->uvlinesize, 9, 9, 694 ff_emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9,
695 src_x, src_y, s->h_edge_pos>>1, s->v_edge_pos>>1); 695 src_x, src_y, s->h_edge_pos>>1, s->v_edge_pos>>1);
696 ptr= s->edge_emu_buffer; 696 ptr= s->edge_emu_buffer;
697 } 697 }
698 pix_op[1][dxy](dest_cb, ptr, uvlinesize, h >> 1); 698 pix_op[1][dxy](dest_cb, ptr, uvlinesize, h >> 1);
699 699
700 ptr = ref_picture[2] + offset; 700 ptr = ref_picture[2] + offset;
701 if(emu){ 701 if(emu){
702 ff_emulated_edge_mc(s, ptr, s->uvlinesize, 9, 9, 702 ff_emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9,
703 src_x, src_y, s->h_edge_pos>>1, s->v_edge_pos>>1); 703 src_x, src_y, s->h_edge_pos>>1, s->v_edge_pos>>1);
704 ptr= s->edge_emu_buffer; 704 ptr= s->edge_emu_buffer;
705 } 705 }
706 pix_op[1][dxy](dest_cr, ptr, uvlinesize, h >> 1); 706 pix_op[1][dxy](dest_cr, ptr, uvlinesize, h >> 1);
707 } 707 }