# HG changeset patch # User Chris Cannam # Date 1396615431 -3600 # Node ID e08c330a761d78d245574dfa5b2cf3e1638c237c # Parent da54468cc45241a3633d950f2bde91b02cb48caa Drop the latency columns from the CQ start diff -r da54468cc452 -r e08c330a761d Makefile.linux --- 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) diff -r da54468cc452 -r e08c330a761d src/Silvet.cpp --- 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);