From cbf09545f250a4bd12c50c3a96fe481098ab2d49 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 4 Dec 2014 18:17:17 +0100 Subject: [PATCH] avcodec/imc: only check remaining bits in case bits will be read Signed-off-by: Michael Niedermayer --- libavcodec/imc.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libavcodec/imc.c b/libavcodec/imc.c index 0d7c97b603..b367ccb172 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -803,14 +803,15 @@ static void imc_get_coeffs(AVCodecContext *avctx, cw_len = chctx->CWlengthT[j]; cw = 0; - if (get_bits_count(&q->gb) + cw_len > 512) { - av_log(avctx, AV_LOG_WARNING, - "Potential problem on band %i, coefficient %i" - ": cw_len=%i\n", i, j, cw_len); - } + if (cw_len && (!chctx->bandFlagsBuf[i] || !chctx->skipFlags[j])) { + if (get_bits_count(&q->gb) + cw_len > 512) { + av_log(avctx, AV_LOG_WARNING, + "Potential problem on band %i, coefficient %i" + ": cw_len=%i\n", i, j, cw_len); + } - if (cw_len && (!chctx->bandFlagsBuf[i] || !chctx->skipFlags[j])) cw = get_bits(&q->gb, cw_len); + } chctx->codewords[j] = cw; }