From 3821c004e2607fb4450f1635ebaf6a4b7d5aeef9 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Thu, 29 Jun 2017 16:42:14 +0200 Subject: avcodec/interplayvideo: fix regression causing artifacts Signed-off-by: Paul B Mahol --- libavcodec/interplayvideo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libavcodec/interplayvideo.c') diff --git a/libavcodec/interplayvideo.c b/libavcodec/interplayvideo.c index 690bc76901..56ce38b042 100644 --- a/libavcodec/interplayvideo.c +++ b/libavcodec/interplayvideo.c @@ -1044,12 +1044,14 @@ static void ipvideo_decode_format_10_opcodes(IpvideoContext *s, AVFrame *frame) for (x = 0; x < s->avctx->width; x += 8) { s->pixel_ptr = s->cur_decode_frame->data[0] + x + y * s->cur_decode_frame->linesize[0]; - while (skip <= 0 && bytestream2_get_bytes_left(&skip_map_ptr) > 1) { + while (skip <= 0) { if (skip != -0x8000 && skip) { opcode = bytestream2_get_le16(&decoding_map_ptr); ipvideo_format_10_passes[pass](s, frame, opcode); break; } + if (bytestream2_get_bytes_left(&skip_map_ptr) < 2) + return; skip = bytestream2_get_le16(&skip_map_ptr); } skip *= 2; -- cgit v1.2.3