[FFmpeg-cvslog] vc1: select interlaced scan table by FCM element
Kostya Shishkov
git at videolan.org
Mon Nov 28 01:14:15 CET 2011
ffmpeg | branch: master | Kostya Shishkov <kostya.shishkov at gmail.com> | Sat Nov 26 13:23:39 2011 +0100| [498605b4ad64e63990c4a94de9ff614a3c770d01] | committer: Ronald S. Bultje
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: Ronald S. Bultje <rsbultje at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=498605b4ad64e63990c4a94de9ff614a3c770d01
---
libavcodec/vc1dec.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 7a65f31..c479c08 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -3293,7 +3293,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
i += skip;
if (i > 63)
break;
- if (!v->interlace)
+ if (!v->fcm)
idx = v->zz_8x8[0][i++];
else
idx = v->zzi_8x8[i++];
@@ -3321,7 +3321,7 @@ static int vc1_decode_p_block(VC1Context *v, DCTELEM block[64], int n,
i += skip;
if (i > 15)
break;
- if (!v->interlace)
+ if (!v->fcm)
idx = ff_vc1_simple_progressive_4x4_zz[i++];
else
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;
if (i > 31)
break;
- if (!v->interlace)
+ if (!v->fcm)
idx = v->zz_8x4[i++] + off;
else
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;
if (i > 31)
break;
- if (!v->interlace)
+ if (!v->fcm)
idx = v->zz_4x8[i++] + off;
else
idx = ff_vc1_adv_interlaced_4x8_zz[i++] + off;
More information about the ffmpeg-cvslog
mailing list