shithub: opus

Download patch

ref: 1fd1d7dd49c34c7d64bf26f60782afc17dab6842
parent: a6d663c6ae089b0a9682c848f3ff7701b316526f
author: Jean-Marc Valin <[email protected]>
date: Thu Nov 8 12:22:07 EST 2012

Fixes a bug where transient frames would use previous spreading

Also forces SPREAD_NORMAL in hybrid mode

--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1282,10 +1282,12 @@
 
    if (ec_tell(enc)+4<=total_bits)
    {
-      if (shortBlocks || st->complexity < 3 || nbAvailableBytes < 10*C)
+      if (shortBlocks || st->complexity < 3 || nbAvailableBytes < 10*C || st->start != 0)
       {
          if (st->complexity == 0)
             st->spread_decision = SPREAD_NONE;
+         else
+            st->spread_decision = SPREAD_NORMAL;
       } else {
          if (st->analysis.valid)
          {