changeset 33:e08c330a761d

Drop the latency columns from the CQ start
author Chris Cannam
date Fri, 04 Apr 2014 13:43:51 +0100
parents da54468cc452
children 7d81407a2fd8
files Makefile.linux src/Silvet.cpp
diffstat 2 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.linux	Fri Apr 04 13:29:33 2014 +0100
+++ b/Makefile.linux	Fri Apr 04 13:43:51 2014 +0100
@@ -1,5 +1,5 @@
 
-CFLAGS := -Wall -O3 -fPIC -I../vamp-plugin-sdk/
+CFLAGS := -Wall -O3 -ffast-math -msse -mfpmath=sse -ftree-vectorize -fPIC -I../vamp-plugin-sdk/
 #CFLAGS := -g -fPIC -I../vamp-plugin-sdk
 
 CXXFLAGS := $(CFLAGS)
--- a/src/Silvet.cpp	Fri Apr 04 13:29:33 2014 +0100
+++ b/src/Silvet.cpp	Fri Apr 04 13:43:51 2014 +0100
@@ -300,8 +300,18 @@
 
     Grid out;
 
+    //!!! nb we count the CQ latency in terms of processing hops, but
+    //!!! actually it isn't guaranteed to be an exact number (in fact
+    //!!! it probably isn't) so this is imprecise -- fix
+    int latentColumns = m_cq->getLatency() / m_cq->getColumnHop();
+
     for (int i = 0; i < width; ++i) {
 
+        if (m_columnCount < latentColumns) {
+            ++m_columnCount;
+            continue;
+        }
+
         int prevSampleNo = (m_columnCount - 1) * m_cq->getColumnHop();
         int sampleNo = m_columnCount * m_cq->getColumnHop();
 
@@ -321,6 +331,8 @@
 
                 int ix = inCol.size() - j - 55;
 
+                //!!! note these filters introduce more latency
+
                 double val = inCol[ix];
                 m_filterA[j]->push(val);