Mercurial > libavcodec.hg
comparison vc1.c @ 9645:3a8dfce3dc17 libavcodec
Ensure that we don't read from invalid memory with B-frame qpel
author | conrad |
---|---|
date | Fri, 15 May 2009 07:49:59 +0000 |
parents | 2a52dd5a684a |
children | c25359a56edf |
comparison
equal
deleted
inserted
replaced
9644:15660ad4c641 | 9645:3a8dfce3dc17 |
---|---|
1816 srcU = s->edge_emu_buffer + 18 * s->linesize; | 1816 srcU = s->edge_emu_buffer + 18 * s->linesize; |
1817 srcV = s->edge_emu_buffer + 18 * s->linesize; | 1817 srcV = s->edge_emu_buffer + 18 * s->linesize; |
1818 } | 1818 } |
1819 | 1819 |
1820 if(v->rangeredfrm | 1820 if(v->rangeredfrm |
1821 || (unsigned)src_x > s->h_edge_pos - (mx&3) - 16 | 1821 || (unsigned)src_x > s->h_edge_pos - (mx&3) - 16 - s->mspel*3 |
1822 || (unsigned)src_y > s->v_edge_pos - (my&3) - 16){ | 1822 || (unsigned)src_y > s->v_edge_pos - (my&3) - 16 - s->mspel*3){ |
1823 uint8_t *uvbuf= s->edge_emu_buffer + 19 * s->linesize; | 1823 uint8_t *uvbuf= s->edge_emu_buffer + 19 * s->linesize; |
1824 | 1824 |
1825 srcY -= s->mspel * (1 + s->linesize); | 1825 srcY -= s->mspel * (1 + s->linesize); |
1826 ff_emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize, 17+s->mspel*2, 17+s->mspel*2, | 1826 ff_emulated_edge_mc(s->edge_emu_buffer, srcY, s->linesize, 17+s->mspel*2, 17+s->mspel*2, |
1827 src_x - s->mspel, src_y - s->mspel, s->h_edge_pos, s->v_edge_pos); | 1827 src_x - s->mspel, src_y - s->mspel, s->h_edge_pos, s->v_edge_pos); |