shithub: opus

Download patch

ref: 2a5f0565b8b037c0d32fc471544e7d32a9f010fe
parent: 48ac122141c317964fae2987eaea161c46538717
author: Jean-Marc Valin <[email protected]>
date: Mon Nov 19 18:17:06 EST 2012

Running transient_analysis() even for 2.5 ms frames

This means 2.5 ms frames can now use a higher bitrate for transients.

--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -1298,16 +1298,18 @@
 
    isTransient = 0;
    shortBlocks = 0;
+   if (st->complexity >= 1)
+   {
+      isTransient = transient_analysis(in, N+st->overlap, CC,
+            &tf_estimate, &tf_chan);
+   }
    if (LM>0 && ec_tell(enc)+3<=total_bits)
    {
-      if (st->complexity >= 1)
-      {
-         isTransient = transient_analysis(in, N+st->overlap, CC,
-                  &tf_estimate, &tf_chan);
-         if (isTransient)
-            shortBlocks = M;
-      }
+      if (isTransient)
+         shortBlocks = M;
       ec_enc_bit_logp(enc, isTransient, 3);
+   } else {
+      isTransient = 0;
    }
 
    ALLOC(freq, CC*N, celt_sig); /**< Interleaved signal MDCTs */