diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c index a49cae8e41da13fd1ef46579dac74d803ee0cee5..25e32a60551fba8d4a59ceeb5e43f4d5bb3a598e 100644 --- a/libavcodec/utvideodec.c +++ b/libavcodec/utvideodec.c @@ -238,7 +238,7 @@ static int decode_plane(UtvideoContext *c, int plane_no, VLC vlc; GetBitContext gb; int prev, fsym; - const int cmask = ~(!plane_no && c->avctx->pix_fmt == AV_PIX_FMT_YUV420P); + const int cmask = c->interlaced ? ~(1 + 2 * (!plane_no && c->avctx->pix_fmt == AV_PIX_FMT_YUV420P)) : ~(!plane_no && c->avctx->pix_fmt == AV_PIX_FMT_YUV420P); if (build_huff(src, &vlc, &fsym)) { av_log(c->avctx, AV_LOG_ERROR, "Cannot build Huffman codes\n");