From 61f5b14a8e2b4f64acb6296ac64c2309e13d3ae9 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sun, 26 Nov 2006 04:57:31 +0000 Subject: Correct rounding values in overlap filtering Originally committed as revision 7171 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vc1dsp.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libavcodec/vc1dsp.c') diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c index 518a690d3a..9139ffb284 100644 --- a/libavcodec/vc1dsp.c +++ b/libavcodec/vc1dsp.c @@ -31,11 +31,12 @@ /** Apply overlap transform to horizontal edge */ -static void vc1_v_overlap_c(uint8_t* src, int stride, int rnd) +static void vc1_v_overlap_c(uint8_t* src, int stride) { int i; int a, b, c, d; int d1, d2; + int rnd = 1; for(i = 0; i < 8; i++) { a = src[-2*stride]; b = src[-stride]; @@ -49,16 +50,18 @@ static void vc1_v_overlap_c(uint8_t* src, int stride, int rnd) src[0] = c + d2; src[stride] = d + d1; src++; + rnd = !rnd; } } /** Apply overlap transform to vertical edge */ -static void vc1_h_overlap_c(uint8_t* src, int stride, int rnd) +static void vc1_h_overlap_c(uint8_t* src, int stride) { int i; int a, b, c, d; int d1, d2; + int rnd = 1; for(i = 0; i < 8; i++) { a = src[-2]; b = src[-1]; @@ -72,6 +75,7 @@ static void vc1_h_overlap_c(uint8_t* src, int stride, int rnd) src[0] = c + d2; src[1] = d + d1; src += stride; + rnd = !rnd; } } -- cgit v1.2.3