[FFmpeg-devel] [PATCH 1/5] avcodec/vc1: FIELDTX is only coded raw in interlaced frame I pictures

Jerome Borsboom jerome.borsboom at carpalis.nl
Fri May 18 18:06:18 EEST 2018

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.borsboom at 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

 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)

More information about the ffmpeg-devel mailing list