mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-12 13:30:10 -05:00
echo-cancel: orc-ify some bits for optimisation
This uses Orc to optimise an inner loop in the core NLMS function of the Adrian echo canceller.
This commit is contained in:
parent
963250abb9
commit
83d3c8f22b
9 changed files with 472 additions and 5 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue