mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-06 13:29:56 -05:00
echo-cancel: Add SSE optimisation to the adrian module
Optimises the core inner-product function, which takes the most CPU. The SSE-optimised bits of the adrian echo canceller only if the CPU that PA is running on actually supports SSE.
This commit is contained in:
parent
ab4223e9cf
commit
963250abb9
7 changed files with 61 additions and 12 deletions
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include <pulse/sample.h>
|
||||
#include <pulse/channelmap.h>
|
||||
#include <pulsecore/core.h>
|
||||
#include <pulsecore/macro.h>
|
||||
|
||||
#include <speex/speex_echo.h>
|
||||
|
|
@ -50,7 +51,8 @@ struct pa_echo_canceller_params {
|
|||
typedef struct pa_echo_canceller pa_echo_canceller;
|
||||
|
||||
struct pa_echo_canceller {
|
||||
pa_bool_t (*init) (pa_echo_canceller *ec,
|
||||
pa_bool_t (*init) (pa_core *c,
|
||||
pa_echo_canceller *ec,
|
||||
pa_sample_spec *source_ss,
|
||||
pa_channel_map *source_map,
|
||||
pa_sample_spec *sink_ss,
|
||||
|
|
@ -64,7 +66,7 @@ struct pa_echo_canceller {
|
|||
};
|
||||
|
||||
/* Speex canceller functions */
|
||||
pa_bool_t pa_speex_ec_init(pa_echo_canceller *ec,
|
||||
pa_bool_t pa_speex_ec_init(pa_core *c, pa_echo_canceller *ec,
|
||||
pa_sample_spec *source_ss, pa_channel_map *source_map,
|
||||
pa_sample_spec *sink_ss, pa_channel_map *sink_map,
|
||||
uint32_t *blocksize, const char *args);
|
||||
|
|
@ -72,7 +74,7 @@ void pa_speex_ec_run(pa_echo_canceller *ec, const uint8_t *rec, const uint8_t *p
|
|||
void pa_speex_ec_done(pa_echo_canceller *ec);
|
||||
|
||||
/* Adrian Andre's echo canceller */
|
||||
pa_bool_t pa_adrian_ec_init(pa_echo_canceller *ec,
|
||||
pa_bool_t pa_adrian_ec_init(pa_core *c, pa_echo_canceller *ec,
|
||||
pa_sample_spec *source_ss, pa_channel_map *source_map,
|
||||
pa_sample_spec *sink_ss, pa_channel_map *sink_map,
|
||||
uint32_t *blocksize, const char *args);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue