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