From 7a2104ae7bc5cf93a60180d3cc5e3a1d59277870 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Tue, 5 Jan 2010 20:07:13 +0200 Subject: Bring OSLEC up-to-date with out-of-tree version * Bring back MMX support. * This is done in a quick-and-dirty way, - copy over existing files. * TODO: reduce the changes in this diff to only include MMX support. --- drivers/staging/echo/echo.h | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'drivers/staging/echo/echo.h') diff --git a/drivers/staging/echo/echo.h b/drivers/staging/echo/echo.h index 754e66d..9fb9543 100644 --- a/drivers/staging/echo/echo.h +++ b/drivers/staging/echo/echo.h @@ -23,22 +23,20 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id: echo.h,v 1.9 2006/10/24 13:45:28 steveu Exp $ */ #ifndef __ECHO_H #define __ECHO_H -/* -Line echo cancellation for voice - -What does it do? +/*! \page echo_can_page Line echo cancellation for voice +\section echo_can_page_sec_1 What does it do? This module aims to provide G.168-2002 compliant echo cancellation, to remove electrical echoes (e.g. from 2-4 wire hybrids) from voice calls. - -How does it work? - +\section echo_can_page_sec_2 How does it work? The heart of the echo cancellor is FIR filter. This is adapted to match the echo impulse response of the telephone line. It must be long enough to adequately cover the duration of that impulse response. The signal transmitted @@ -112,8 +110,7 @@ major mis-convergence in the adaption process. An assessment algorithm is needed which produces a fairly accurate result from a very short burst of far end energy. -How do I use it? - +\section echo_can_page_sec_3 How do I use it? The echo cancellor processes both the transmit and receive streams sample by sample. The processing function is not declared inline. Unfortunately, cancellation requires many operations per sample, so the call overhead is only @@ -123,7 +120,7 @@ a minor burden. #include "fir.h" #include "oslec.h" -/* +/*! G.168 echo canceller descriptor. This defines the working state for a line echo canceller. */ @@ -152,8 +149,8 @@ struct oslec_state { int Lbgn, Lbgn_acc, Lbgn_upper, Lbgn_upper_acc; /* foreground and background filter states */ - struct fir16_state_t fir_state; - struct fir16_state_t fir_state_bg; + fir16_state_t fir_state; + fir16_state_t fir_state_bg; int16_t *fir_taps16[2]; /* DC blocking filter states */ -- cgit v1.2.3