avcodec/imc: only check remaining bits in case bits will be read
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 4 Dec 2014 17:17:17 +0000 (18:17 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 4 Dec 2014 17:24:50 +0000 (18:24 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/imc.c

index 0d7c97b..b367ccb 100644 (file)
@@ -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;
             }