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) {