]> code.delx.au - pulseaudio/blobdiff - src/modules/echo-cancel/adrian-aec.h
echo-cancel: orc-ify some bits for optimisation
[pulseaudio] / src / modules / echo-cancel / adrian-aec.h
index df9f3e6496fe3ae9d02a52c9d0725b6e40d162b1..235984be807586d53a90a0916a5c74dcb839c2af 100644 (file)
@@ -23,7 +23,7 @@
 #define WIDEB 2
 
 // use double if your CPU does software-emulation of float
-typedef float REAL;
+#define REAL float
 
 /* dB Values */
 #define M0dB 1.0f
@@ -306,7 +306,7 @@ struct AEC {
   // NLMS-pw
   REAL x[NLMS_LEN + NLMS_EXT];  // tap delayed loudspeaker signal
   REAL xf[NLMS_LEN + NLMS_EXT]; // pre-whitening tap delayed signal
-  REAL w[NLMS_LEN];             // tap weights
+  PA_DECLARE_ALIGNED(16, REAL, w[NLMS_LEN]);             // tap weights
   int j;                        // optimize: less memory copies
   double dotp_xf_xf;            // double to avoid loss of precision
   float delta;                  // noise floor to stabilize NLMS