Mercurial > libavcodec.hg
comparison rv34.c @ 8179:883feb4edb65 libavcodec
Use wider margins for edge emulation in RV30/40
author | kostya |
---|---|
date | Thu, 20 Nov 2008 14:03:35 +0000 |
parents | e2241dd85c65 |
children | f4a291734ad7 |
comparison
equal
deleted
inserted
replaced
8178:7180ba559f56 | 8179:883feb4edb65 |
---|---|
662 uvsrc_x = s->mb_x * 8 + (xoff >> 1) + umx; | 662 uvsrc_x = s->mb_x * 8 + (xoff >> 1) + umx; |
663 uvsrc_y = s->mb_y * 8 + (yoff >> 1) + umy; | 663 uvsrc_y = s->mb_y * 8 + (yoff >> 1) + umy; |
664 srcY += src_y * s->linesize + src_x; | 664 srcY += src_y * s->linesize + src_x; |
665 srcU += uvsrc_y * s->uvlinesize + uvsrc_x; | 665 srcU += uvsrc_y * s->uvlinesize + uvsrc_x; |
666 srcV += uvsrc_y * s->uvlinesize + uvsrc_x; | 666 srcV += uvsrc_y * s->uvlinesize + uvsrc_x; |
667 if( (unsigned)(src_x - !!lx*2) > s->h_edge_pos - !!lx*2 - (width <<3) - 3 | 667 if( (unsigned)(src_x - !!lx*2) > s->h_edge_pos - !!lx*2 - (width <<3) - 4 |
668 || (unsigned)(src_y - !!ly*2) > s->v_edge_pos - !!ly*2 - (height<<3) - 3){ | 668 || (unsigned)(src_y - !!ly*2) > s->v_edge_pos - !!ly*2 - (height<<3) - 4){ |
669 uint8_t *uvbuf= s->edge_emu_buffer + 20 * s->linesize; | 669 uint8_t *uvbuf= s->edge_emu_buffer + 22 * s->linesize; |
670 | 670 |
671 srcY -= 2 + 2*s->linesize; | 671 srcY -= 2 + 2*s->linesize; |
672 ff_emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize, (width<<3)+4, (height<<3)+4, | 672 ff_emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize, (width<<3)+6, (height<<3)+6, |
673 src_x - 2, src_y - 2, s->h_edge_pos, s->v_edge_pos); | 673 src_x - 2, src_y - 2, s->h_edge_pos, s->v_edge_pos); |
674 srcY = s->edge_emu_buffer + 2 + 2*s->linesize; | 674 srcY = s->edge_emu_buffer + 2 + 2*s->linesize; |
675 ff_emulated_edge_mc(uvbuf , srcU, s->uvlinesize, (width<<2)+1, (height<<2)+1, | 675 ff_emulated_edge_mc(uvbuf , srcU, s->uvlinesize, (width<<2)+1, (height<<2)+1, |
676 uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, s->v_edge_pos >> 1); | 676 uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, s->v_edge_pos >> 1); |
677 ff_emulated_edge_mc(uvbuf + 16, srcV, s->uvlinesize, (width<<2)+1, (height<<2)+1, | 677 ff_emulated_edge_mc(uvbuf + 16, srcV, s->uvlinesize, (width<<2)+1, (height<<2)+1, |