Mercurial > libavcodec.hg
diff vc1dsp.c @ 3529:b8656dfe6b1a libavcodec
Fix overflows in bicubic interpolation.
author | kostya |
---|---|
date | Mon, 31 Jul 2006 03:32:59 +0000 |
parents | 7dc8e4a12105 |
children | 1cc5bdadd487 |
line wrap: on
line diff
--- a/vc1dsp.c Sun Jul 30 03:50:31 2006 +0000 +++ b/vc1dsp.c Mon Jul 31 03:32:59 2006 +0000 @@ -314,7 +314,7 @@ /** Filter used to interpolate fractional pel values */ -static always_inline uint8_t vc1_mspel_filter(const uint8_t *src, int stride, int mode, int r) +static always_inline int vc1_mspel_filter(const uint8_t *src, int stride, int mode, int r) { switch(mode){ case 0: //no shift @@ -343,7 +343,7 @@ tptr = tmp; for(j = 0; j < 11; j++) { for(i = 0; i < 8; i++) - tptr[i] = vc1_mspel_filter(src + i, 1, m, r); + tptr[i] = clip_uint8(vc1_mspel_filter(src + i, 1, m, r)); src += stride; tptr += 8; } @@ -353,7 +353,7 @@ tptr = tmp + 8; for(j = 0; j < 8; j++) { for(i = 0; i < 8; i++) - dst[i] = vc1_mspel_filter(tptr + i, 8, m, r); + dst[i] = clip_uint8(vc1_mspel_filter(tptr + i, 8, m, r)); dst += stride; tptr += 8; }