summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2006-07-06 03:42:51 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2006-07-06 03:42:51 +0000
commit1ae4a8e61fef01c35ae30dcd7b64ae8fd20f0c85 (patch)
tree5dc2bcdd4528fd001992bfb5e2dcd96edf2a5c9f
parenta020e2c5f023dd5b98f5f3133bea4cdf24fbd69a (diff)
Fix one case of choosing MV for chroma
Originally committed as revision 5635 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/vc1.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index fe421859f7..e3b9834a88 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1080,7 +1080,7 @@ static void vc1_mc_4mv_chroma(VC1Context *v)
}
/* calculate chroma MV vector from four luma MVs */
- idx = (intra[0] << 3) | (intra[1] << 2) | (intra[2] << 1) | intra[3];
+ idx = (intra[3] << 3) | (intra[2] << 2) | (intra[1] << 1) | intra[0];
if(!idx) { // all blocks are inter
tx = median4(mvx[0], mvx[1], mvx[2], mvx[3]);
ty = median4(mvy[0], mvy[1], mvy[2], mvy[3]);
@@ -1088,19 +1088,19 @@ static void vc1_mc_4mv_chroma(VC1Context *v)
switch(idx) {
case 0x1:
tx = mid_pred(mvx[1], mvx[2], mvx[3]);
- tx = mid_pred(mvy[1], mvy[2], mvy[3]);
+ ty = mid_pred(mvy[1], mvy[2], mvy[3]);
break;
case 0x2:
tx = mid_pred(mvx[0], mvx[2], mvx[3]);
- tx = mid_pred(mvy[0], mvy[2], mvy[3]);
+ ty = mid_pred(mvy[0], mvy[2], mvy[3]);
break;
case 0x4:
tx = mid_pred(mvx[0], mvx[1], mvx[3]);
- tx = mid_pred(mvy[0], mvy[1], mvy[3]);
+ ty = mid_pred(mvy[0], mvy[1], mvy[3]);
break;
case 0x8:
tx = mid_pred(mvx[0], mvx[1], mvx[2]);
- tx = mid_pred(mvy[0], mvy[1], mvy[2]);
+ ty = mid_pred(mvy[0], mvy[1], mvy[2]);
break;
}
} else if(count[idx] == 2) {