From e3187444692195957eb66989622c7b1ad8448b06 Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Fri, 31 Jan 2014 15:38:27 -0500
Subject: [PATCH] Skips comb filter overlap when the parameters didn't change.

---
 celt/celt.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/celt/celt.c b/celt/celt.c
index b67c2d3d5..7e47ea494 100644
--- a/celt/celt.c
+++ b/celt/celt.c
@@ -199,6 +199,9 @@ void comb_filter(opus_val32 *y, opus_val32 *x, int T0, int T1, int N,
    x2 = x[-T1  ];
    x3 = x[-T1-1];
    x4 = x[-T1-2];
+   /* If the filter didn't change, we don't need the overlap */
+   if (g0==g1 && T0==T1 && tapset0==tapset1)
+      overlap=0;
    for (i=0;i<overlap;i++)
    {
       opus_val16 f;
-- 
GitLab