diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2006-12-01 07:24:56 +0000 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2006-12-01 07:24:56 +0000 |
commit | 98ba1cfaf7674c27134b9354d3ceee3134c99779 (patch) | |
tree | 2c6a2b7ddceb90d4041b7a42505eca8465aee3a8 /libavcodec/vc1.c | |
parent | f7f8af46f7a0ae7754c5b20e55550a3554384162 (diff) | |
download | ffmpeg-streaming-98ba1cfaf7674c27134b9354d3ceee3134c99779.zip ffmpeg-streaming-98ba1cfaf7674c27134b9354d3ceee3134c99779.tar.gz |
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
Diffstat (limited to 'libavcodec/vc1.c')
-rw-r--r-- | libavcodec/vc1.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index db1a5fa..cd3c0c2 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; |