Add an additional 1/16th bit of padding to avoid budget busting on some inputs.
authorGregory Maxwell <greg@xiph.org>
Tue, 23 Sep 2008 22:25:07 +0000 (18:25 -0400)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Wed, 24 Sep 2008 01:08:44 +0000 (21:08 -0400)
libcelt/bands.c

index f21ac8d..f571488 100644 (file)
@@ -361,7 +361,7 @@ void quant_bands(const CELTMode *m, celt_norm_t * restrict X, celt_norm_t *P, ce
       tell = ec_enc_tell(enc, 4);
       if (i != 0)
          balance -= tell;
-      remaining_bits = (total_bits<<BITRES)-tell-1;
+      remaining_bits = (total_bits<<BITRES)-tell-2;
       curr_balance = (m->nbEBands-i);
       if (curr_balance > 3)
          curr_balance = 3;
@@ -440,7 +440,7 @@ void unquant_bands(const CELTMode *m, celt_norm_t * restrict X, celt_norm_t *P,
       tell = ec_dec_tell(dec, 4);
       if (i != 0)
          balance -= tell;
-      remaining_bits = (total_bits<<BITRES)-tell-1;
+      remaining_bits = (total_bits<<BITRES)-tell-2;
       curr_balance = (m->nbEBands-i);
       if (curr_balance > 3)
          curr_balance = 3;