shithub: opus

Download patch

ref: 342d654c267d14f23c484042d40ffd9567feeeb8
parent: b23a6ca5cfb2d50e965c53ddba21a2e82f484dc5
author: Gregory Maxwell <[email protected]>
date: Fri Sep 30 13:57:27 EDT 2011

As of commit 44203907 all celt bands N>1 are even, including custom modes. In light of this, remove some pointless tests.

--- a/celt/bands.c
+++ b/celt/bands.c
@@ -751,16 +751,13 @@
    cache = m->cache.bits + m->cache.index[(LM+1)*m->nbEBands+i];
    if (!stereo && LM != -1 && b > cache[cache[0]]+12 && N>2)
    {
-      if (LM>0 || (N&1)==0)
-      {
-         N >>= 1;
-         Y = X+N;
-         split = 1;
-         LM -= 1;
-         if (B==1)
-            fill = (fill&1)|(fill<<1);
-         B = (B+1)>>1;
-      }
+      N >>= 1;
+      Y = X+N;
+      split = 1;
+      LM -= 1;
+      if (B==1)
+         fill = (fill&1)|(fill<<1);
+      B = (B+1)>>1;
    }
 
    if (split)
--- a/celt/rate.c
+++ b/celt/rate.c
@@ -165,9 +165,9 @@
                int                  qb;
                int                  k;
                LM0 = 0;
-               /* Even-sized bands bigger than N=2 can be split one more
-                   time. */
-               if (N0 > 2 && !(N0&1))
+               /* Even-sized bands bigger than N=2 can be split one more time.
+                  As of commit 44203907 all bands >1 are even, including custom modes.*/
+               if (N0 > 2)
                {
                   N0>>=1;
                   LM0--;