mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-08-14 21:35:06 +02:00
Fix one case of choosing MV for chroma
Originally committed as revision 5635 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
a020e2c5f0
commit
1ae4a8e61f
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user