Commit 98ba1cfa authored by Kostya Shishkov's avatar Kostya Shishkov

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
parent f7f8af46
...@@ -879,8 +879,8 @@ static void vc1_mc_1mv(VC1Context *v, int dir) ...@@ -879,8 +879,8 @@ static void vc1_mc_1mv(VC1Context *v, int dir)
} }
if(v->fastuvmc) { if(v->fastuvmc) {
uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1)); uvmx = uvmx + ((uvmx<0)?-(uvmx&1):(uvmx&1));
uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1)); uvmy = uvmy + ((uvmy<0)?-(uvmy&1):(uvmy&1));
} }
if(s->mspel) { if(s->mspel) {
...@@ -1103,8 +1103,8 @@ static void vc1_mc_4mv_chroma(VC1Context *v) ...@@ -1103,8 +1103,8 @@ static void vc1_mc_4mv_chroma(VC1Context *v)
} }
if(v->fastuvmc) { if(v->fastuvmc) {
uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1)); uvmx = uvmx + ((uvmx<0)?-(uvmx&1):(uvmx&1));
uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1)); uvmy = uvmy + ((uvmy<0)?-(uvmy&1):(uvmy&1));
} }
/* Chroma MC always uses qpel bilinear */ /* Chroma MC always uses qpel bilinear */
...@@ -2124,8 +2124,8 @@ static void vc1_interp_mc(VC1Context *v) ...@@ -2124,8 +2124,8 @@ static void vc1_interp_mc(VC1Context *v)
} }
if(v->fastuvmc) { if(v->fastuvmc) {
uvmx = uvmx + ((uvmx<0)?(uvmx&1):-(uvmx&1)); uvmx = uvmx + ((uvmx<0)?-(uvmx&1):(uvmx&1));
uvmy = uvmy + ((uvmy<0)?(uvmy&1):-(uvmy&1)); uvmy = uvmy + ((uvmy<0)?-(uvmy&1):(uvmy&1));
} }
mx >>= 1; mx >>= 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment