summaryrefslogtreecommitdiff
path: root/libavcodec/utvideodec.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2017-04-21 12:27:17 +0200
committerPaul B Mahol <onemda@gmail.com>2017-04-21 12:55:30 +0200
commit9ef21a897c64417a0575cbc6fad6222f3163d103 (patch)
tree2a11781221f3851227f08e2aee72d836da6a3d89 /libavcodec/utvideodec.c
parent0b8c159a9391f744ab5ff4725340b0655cd9f0f2 (diff)
downloadffmpeg-9ef21a897c64417a0575cbc6fad6222f3163d103.tar.gz
avcodec/utvideodec: fix decoding odd sizes with interlaced video with some formats
Fixes #6316. Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavcodec/utvideodec.c')
-rw-r--r--libavcodec/utvideodec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c
index a49cae8e41..25e32a6055 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");