aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2006-06-30 03:19:31 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2006-06-30 03:19:31 +0000
commit3f6d6af66e876ebfa263513a7b5834e1f90b785b (patch)
treebbd7b2bb6528e610c0a9acdd0ae532b789d8afb4
parentc436ff41d27cff065c0f52e137f7e128e386ab78 (diff)
downloadffmpeg-3f6d6af66e876ebfa263513a7b5834e1f90b785b.tar.gz
Slightly reworked MC code, it gives better picture.
Originally committed as revision 5554 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/vc1.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 6d39dc0985..3e61d6e891 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -923,8 +923,8 @@ static void vc1_mc_1mv(VC1Context *v)
srcV = s->last_picture.data[2];
if(v->fastuvmc) { // XXX: 8.3.5.4.5 specifies something different
- uvmx = (uvmx + 1) >> 1;
- uvmy = (uvmy + 1) >> 1;
+ uvmx = (uvmx + 1) & ~1;
+ uvmy = (uvmy + 1) & ~1;
}
src_x = s->mb_x * 16 + (mx >> 2);
@@ -959,8 +959,6 @@ static void vc1_mc_1mv(VC1Context *v)
if(!s->quarter_sample) { // hpel mc
mx >>= 1;
my >>= 1;
- uvmx >>= 1;
- uvmy >>= 1;
dxy = ((my & 1) << 1) | (mx & 1);
uvdxy = 0;
@@ -971,8 +969,10 @@ static void vc1_mc_1mv(VC1Context *v)
dsp->put_no_rnd_qpel_pixels_tab[0][dxy](s->dest[0], srcY, s->linesize);
}
- dsp->put_mspel_pixels_tab[uvdxy](s->dest[1], srcU, s->uvlinesize);
- dsp->put_mspel_pixels_tab[uvdxy](s->dest[2], srcV, s->uvlinesize);
+ dsp->put_no_rnd_pixels_tab[1][uvdxy](s->dest[1], srcU, s->uvlinesize, 8);
+ dsp->put_no_rnd_pixels_tab[1][uvdxy](s->dest[2], srcV, s->uvlinesize, 8);
+// dsp->put_mspel_pixels_tab[uvdxy](s->dest[1], srcU, s->uvlinesize);
+// dsp->put_mspel_pixels_tab[uvdxy](s->dest[2], srcV, s->uvlinesize);
}
/**