Commit db642618 authored by kostya's avatar kostya

100l FastUVMC rounding was incorrect.

This should also improve quality on WMV9Drifting.asf


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@7190 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 8425683a
......@@ -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;
......
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