Building on linux I get: src/engine/enginefilteriir.cpp:93: error: expected ‘,’ or ‘...’ before ‘FILTER’
referring to: EngineFilterIIR::EngineFilterIIR(const double *pCoefs, int iOrder FILTER) Owen On Wed, 2011-01-05 at 23:49 -0600, Gabriel M. Beddingfield wrote: > Below was originally sent 12/5 -- but because I flubbed up > my ML subscription... it didn't make it to you... > ========================================================== > > Hello, > > Attached is a patch against 1.8.1 to add version of the > EngineFilterIIR that is SSE3 optimized. Yes, it needs more > comments... but here's what I have for now. > > Brief explanation of the implementation: > > 0. I used assert() a lot... so to get it to compile right > use: -O3 -DNDEBUG -msse -msse2 -msse3 -ffast-math > -funroll-loops > > 1. Left and Right channels are calculated in parallel. > (This is mostly the point of doing the SSE3 opts.) > > 2. The buffer of the previous N samples is converted > to a ring buffer in order to avoid the data shuffling. > > x[0] = x[1]; x[1] = x[2]; // ... etc ... > > 3. To replace the shuffling, the X and Y coefficients are > put in an NxN matrix that has them pre-shuffled. The > two matrices are put together side-by-side so that we > can span rows by simple pointer increments. E.g. for > the 4th order: > > CXY = [ [ X coeffs ] [ Y coeffs ] ] > > CXY = [ [ 1.0, c1, c2, c1, /**/ c3, c4, c5, c6 ], > [ c1, c2, c1, 1.0, /**/ c4, c5, c6, c3 ], > [ c2, c1, 1.0, c1, /**/ c5, c6, c3, c4 ], > [ c1, 1.0, c1, c2, /**/ c6, c3, c4, c5 ] ]; > > 4. Several things are converted to local variables in > the process() method so that the compiler to avoid > cache/memory slow-downs. > > 5. The implementation is templated... which should reduce > maintenance and still allow for hard-coded N values > to be optimized. > > Thanks, > Gabriel > ------------------------------------------------------------------------------ > Learn how Oracle Real Application Clusters (RAC) One Node allows customers > to consolidate database storage, standardize their database environment, and, > should the need arise, upgrade to a full multi-node Oracle RAC database > without downtime or disruption > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ Mixxx-devel mailing list > Mixxx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mixxx-devel ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel