summaryrefslogtreecommitdiffstats
path: root/src/modules/echo-cancel/adrian-aec.c
Commit message (Collapse)AuthorAgeFilesLines
* echo-cancel: Remove unnecessary noalign attributeArun Raghavan2011-05-111-1/+0
| | | | | | | This was just introduced for debugging and should not have been in the final commit. Won't make a difference at the moment since this function is used as a pointer, but removing this in case we change this in the future.
* echo-cancel: Handle alignment requirement manuallyArun Raghavan2011-05-111-3/+9
| | | | | | | PA_ALIGNED can't always guarantee that the alignment we want (the GCC man page suggests that the linker might not be able to meet the alignment requirements we desire). Instead, we now allocate some extra memory and guaratee that the alignment we require is met.
* Get rid of some warningsMaarten Bosmans2011-03-201-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly warnings about unused stuff. Furthermore, the first hunk is a fix for the change in 177948a6. Finally, comment in AEC_dtd was translated and the code simplified slightly. CC module_bluetooth_device_la-module-bluetooth-device.lo modules/bluetooth/module-bluetooth-device.c: In function ‘a2dp_process_render’: modules/bluetooth/module-bluetooth-device.c:1335:30: warning: pointer targets in passing argument 6 of ‘sbc_encode’ differ in signedness [-Wpointer-sign] ../src/modules/bluetooth/sbc/sbc.h:92:9: note: expected ‘ssize_t *’ but argument is of type ‘size_t *’ CC module_rygel_media_server_la-module-rygel-media-server.lo modules/module-rygel-media-server.c:383:13: warning: ‘append_property_dict_entry_object_array’ defined but not used [-Wunused-function] CC module_echo_cancel_la-adrian-aec.lo modules/echo-cancel/adrian-aec.h:360:15: warning: ‘AEC_getambient’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:368:14: warning: ‘AEC_setgain’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:374:14: warning: ‘AEC_setaes’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:377:16: warning: ‘AEC_max_dotp_xf_xf’ declared ‘static’ but never defined [-Wunused-function] CC module_echo_cancel_la-module-echo-cancel.lo modules/echo-cancel/module-echo-cancel.c: In function ‘time_callback’: modules/echo-cancel/module-echo-cancel.c:266:12: warning: variable ‘fs’ set but not used [-Wunused-but-set-variable] CC module-virtual-sink.lo modules/module-virtual-sink.c: In function ‘sink_input_pop_cb’: modules/module-virtual-sink.c:206:15: warning: variable ‘current_latency’ set but not used [-Wunused-but-set-variable]
* echo-cancel: Make Orc file names less sillyArun Raghavan2011-02-011-1/+1
| | | | | The naming was what it was because of the way orc.mak was originally written. This has changed now.
* build: Simplify Orc-related make rulesArun Raghavan2011-02-011-1/+1
| | | | | | | This greatly simplifies the Orc-related make rules. The old system of distributing generated files is gone, which means that anyone who wants to build with Orc support enabled needs to have the orcc compiler installed (presumably the orc 'devel' package in most distros).
* echo-cancel: orc-ify some bits for optimisationArun Raghavan2010-09-231-0/+8
| | | | | This uses Orc to optimise an inner loop in the core NLMS function of the Adrian echo canceller.
* echo-cancel: Add SSE optimisation to the adrian moduleArun Raghavan2010-09-231-2/+35
| | | | | | 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.
* echo-cancel: Add alternative echo-cancellation implementationArun Raghavan2010-09-071-0/+233
This adds Andre Adrian's AEC implementation from his intercom project (http://andreadrian.de/intercom/) as an alternative to the speex echo cancellation routines. Since the implementation was in C++ and not in the form of a library, I have converted the code to C and made a local copy of the implementation. The implementation actually works on floating point data, so we can tweak it to work with both integer and floating point samples (currently we just use S16LE).