From 98ba1cfaf7674c27134b9354d3ceee3134c99779 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Fri, 1 Dec 2006 07:24:56 +0000 Subject: 100l FastUVMC rounding was incorrect. This should also improve quality on WMV9Drifting.asf Originally committed as revision 7190 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vc1.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index db1a5fa9d5..cd3c0c2d6a 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -879,8 +879,8 @@ static void vc1_mc_1mv(VC1Context *v, int dir) } if(v->fastuvmc) { - uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1)); - uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1)); + uvmx = uvmx + ((uvmx<0)?-(uvmx&1):(uvmx&1)); + uvmy = uvmy + ((uvmy<0)?-(uvmy&1):(uvmy&1)); } if(s->mspel) { @@ -1103,8 +1103,8 @@ static void vc1_mc_4mv_chroma(VC1Context *v) } if(v->fastuvmc) { - uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1)); - uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1)); + uvmx = uvmx + ((uvmx<0)?-(uvmx&1):(uvmx&1)); + uvmy = uvmy + ((uvmy<0)?-(uvmy&1):(uvmy&1)); } /* Chroma MC always uses qpel bilinear */ @@ -2124,8 +2124,8 @@ static void vc1_interp_mc(VC1Context *v) } if(v->fastuvmc) { - uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1)); - uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1)); + uvmx = uvmx + ((uvmx<0)?-(uvmx&1):(uvmx&1)); + uvmy = uvmy + ((uvmy<0)?-(uvmy&1):(uvmy&1)); } mx >>= 1; -- cgit v1.2.3