FIELDTX bitplane is only present in interlace frame I pictures.
v->fieldtx_is_raw may spill over from a previous interlaced frame I picture
while decoding a non-interlace frame I picture.

Signed-off-by: Jerome Borsboom <jerome.borsb...@carpalis.nl>
---
This patch set solves various issues that affected the SA10180.vc1 test file. 
With
these patches applied, this file decodes bitequal to the Intel VAAPI decoder on 
Haswell.

Please also review my patch set of May 9th that enables hwaccel decode of the 
SA10180.vc1
file.

 libavcodec/vc1_block.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c
index f59c440943..daf30fdbfe 100644
--- a/libavcodec/vc1_block.c
+++ b/libavcodec/vc1_block.c
@@ -2680,7 +2680,7 @@ static void vc1_decode_i_blocks_adv(VC1Context *v)
             s->current_picture.motion_val[1][s->block_index[0] + 
v->blocks_off][1] = 0;
 
             // do actual MB decoding and displaying
-            if (v->fieldtx_is_raw)
+            if (v->fcm == ILACE_FRAME && v->fieldtx_is_raw)
                 v->fieldtx_plane[mb_pos] = get_bits1(&v->s.gb);
             cbp = get_vlc2(&v->s.gb, ff_msmp4_mb_i_vlc.table, 
MB_INTRA_VLC_BITS, 2);
             if (v->acpred_is_raw)
-- 
2.13.6


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to