mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-14 03:04:53 +00:00
vc1: select interlaced scan table by FCM element
Interlaced videos can contain progressive frames too and now wrong scantable is selected for them. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
5c15b78e4a
commit
801393bc96
@ -3293,7 +3293,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
|
|||||||
i += skip;
|
i += skip;
|
||||||
if (i > 63)
|
if (i > 63)
|
||||||
break;
|
break;
|
||||||
if (v->fcm != 1)
|
if (!v->fcm)
|
||||||
idx = v->zz_8x8[0][i++];
|
idx = v->zz_8x8[0][i++];
|
||||||
else
|
else
|
||||||
idx = v->zzi_8x8[i++];
|
idx = v->zzi_8x8[i++];
|
||||||
@ -3321,7 +3321,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
|
|||||||
i += skip;
|
i += skip;
|
||||||
if (i > 15)
|
if (i > 15)
|
||||||
break;
|
break;
|
||||||
if (v->fcm != 1)
|
if (!v->fcm)
|
||||||
idx = ff_vc1_simple_progressive_4x4_zz[i++];
|
idx = ff_vc1_simple_progressive_4x4_zz[i++];
|
||||||
else
|
else
|
||||||
idx = ff_vc1_adv_interlaced_4x4_zz[i++];
|
idx = ff_vc1_adv_interlaced_4x4_zz[i++];
|
||||||
@ -3348,7 +3348,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
|
|||||||
i += skip;
|
i += skip;
|
||||||
if (i > 31)
|
if (i > 31)
|
||||||
break;
|
break;
|
||||||
if (v->fcm != 1)
|
if (!v->fcm)
|
||||||
idx = v->zz_8x4[i++] + off;
|
idx = v->zz_8x4[i++] + off;
|
||||||
else
|
else
|
||||||
idx = ff_vc1_adv_interlaced_8x4_zz[i++] + off;
|
idx = ff_vc1_adv_interlaced_8x4_zz[i++] + off;
|
||||||
@ -3375,7 +3375,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
|
|||||||
i += skip;
|
i += skip;
|
||||||
if (i > 31)
|
if (i > 31)
|
||||||
break;
|
break;
|
||||||
if (v->fcm != 1)
|
if (!v->fcm)
|
||||||
idx = v->zz_4x8[i++] + off;
|
idx = v->zz_4x8[i++] + off;
|
||||||
else
|
else
|
||||||
idx = ff_vc1_adv_interlaced_4x8_zz[i++] + off;
|
idx = ff_vc1_adv_interlaced_4x8_zz[i++] + off;
|
||||||
|
Loading…
Reference in New Issue
Block a user