From 1ae4a8e61fef01c35ae30dcd7b64ae8fd20f0c85 Mon Sep 17 00:00:00 2001
From: Kostya Shishkov <kostya.shishkov@gmail.com>
Date: Thu, 6 Jul 2006 03:42:51 +0000
Subject: [PATCH] Fix one case of choosing MV for chroma

Originally committed as revision 5635 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/vc1.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index fe421859f79..e3b9834a883 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) {
-- 
GitLab