avcodec/hevc_cabac: Move prefix check in coeff_abs_level_remaining_decode() down
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 15 Jan 2018 22:42:57 +0000 (23:42 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 23 Jan 2018 20:48:31 +0000 (21:48 +0100)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/hevc_cabac.c

index 5b5da11..7431685 100644 (file)
@@ -990,16 +990,19 @@ static av_always_inline int coeff_abs_level_remaining_decode(HEVCContext *s, int
 
     while (prefix < CABAC_MAX_BIN && get_cabac_bypass(&s->HEVClc->cc))
         prefix++;
-    if (prefix == CABAC_MAX_BIN) {
-        av_log(s->avctx, AV_LOG_ERROR, "CABAC_MAX_BIN : %d\n", prefix);
-        return 0;
-    }
+
     if (prefix < 3) {
         for (i = 0; i < rc_rice_param; i++)
             suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);
         last_coeff_abs_level_remaining = (prefix << rc_rice_param) + suffix;
     } else {
         int prefix_minus3 = prefix - 3;
+
+        if (prefix == CABAC_MAX_BIN) {
+            av_log(s->avctx, AV_LOG_ERROR, "CABAC_MAX_BIN : %d\n", prefix);
+            return 0;
+        }
+
         for (i = 0; i < prefix_minus3 + rc_rice_param; i++)
             suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);
         last_coeff_abs_level_remaining = (((1 << prefix_minus3) + 3 - 1)