speex_echo.h | speex_echo.h | |||
---|---|---|---|---|
skipping to change at line 37 | skipping to change at line 37 | |||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | |||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |||
POSSIBILITY OF SUCH DAMAGE. | POSSIBILITY OF SUCH DAMAGE. | |||
*/ | */ | |||
#ifndef SPEEX_ECHO_H | #ifndef SPEEX_ECHO_H | |||
#define SPEEX_ECHO_H | #define SPEEX_ECHO_H | |||
#include "speex/speex_types.h" | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
struct drft_lookup; | /** Obtain frame size used by the AEC */ | |||
#define SPEEX_ECHO_GET_FRAME_SIZE 3 | ||||
/** Speex echo cancellation state. */ | /** Set sampling rate */ | |||
typedef struct SpeexEchoState { | #define SPEEX_ECHO_SET_SAMPLING_RATE 24 | |||
int frame_size; /**< Number of samples processed each time */ | /** Get sampling rate */ | |||
int window_size; | #define SPEEX_ECHO_GET_SAMPLING_RATE 25 | |||
int M; | ||||
int cancel_count; | ||||
int adapted; | ||||
float sum_adapt; | ||||
float *x; | /*struct drft_lookup;*/ | |||
float *X; | struct SpeexEchoState_; | |||
float *d; | ||||
float *y; | ||||
float *last_y; | ||||
float *Yps; | ||||
float *Y; | ||||
float *E; | ||||
float *PHI; | ||||
float *W; | ||||
float *power; | ||||
float *power_1; | ||||
float *Rf; | ||||
float *Yf; | ||||
float *Xf; | ||||
float *Eh; | ||||
float *Yh; | ||||
float Pey; | ||||
float Pyy; | ||||
struct drft_lookup *fft_lookup; | ||||
} SpeexEchoState; | typedef struct SpeexEchoState_ SpeexEchoState; | |||
/** Creates a new echo canceller state */ | /** Creates a new echo canceller state */ | |||
SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length); | SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length); | |||
/** Destroys an echo canceller state */ | /** Destroys an echo canceller state */ | |||
void speex_echo_state_destroy(SpeexEchoState *st); | void speex_echo_state_destroy(SpeexEchoState *st); | |||
/** Performs echo cancellation a frame */ | /** Performs echo cancellation a frame */ | |||
void speex_echo_cancel(SpeexEchoState *st, short *ref, short *echo, short * out, float *Y); | void speex_echo_cancel(SpeexEchoState *st, short *ref, short *echo, short * out, spx_int32_t *Y); | |||
/** Reset the echo canceller state */ | /** Reset the echo canceller state */ | |||
void speex_echo_state_reset(SpeexEchoState *st); | void speex_echo_state_reset(SpeexEchoState *st); | |||
/** Used like the ioctl function to control the echo canceller parameters | ||||
* | ||||
* @param state Encoder state | ||||
* @param request ioctl-type request (one of the SPEEX_ECHO_* macros) | ||||
* @param ptr Data exchanged to-from function | ||||
* @return 0 if no error, -1 if request in unknown | ||||
*/ | ||||
int speex_echo_ctl(SpeexEchoState *st, int request, void *ptr); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 7 change blocks. | ||||
31 lines changed or deleted | 21 lines changed or added | |||
speex_preprocess.h | speex_preprocess.h | |||
---|---|---|---|---|
skipping to change at line 116 | skipping to change at line 116 | |||
} SpeexPreprocessState; | } SpeexPreprocessState; | |||
/** Creates a new preprocessing state */ | /** Creates a new preprocessing state */ | |||
SpeexPreprocessState *speex_preprocess_state_init(int frame_size, int sampl ing_rate); | SpeexPreprocessState *speex_preprocess_state_init(int frame_size, int sampl ing_rate); | |||
/** Destroys a denoising state */ | /** Destroys a denoising state */ | |||
void speex_preprocess_state_destroy(SpeexPreprocessState *st); | void speex_preprocess_state_destroy(SpeexPreprocessState *st); | |||
/** Preprocess a frame */ | /** Preprocess a frame */ | |||
int speex_preprocess(SpeexPreprocessState *st, spx_int16_t *x, float *echo) ; | int speex_preprocess(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo); | |||
/** Preprocess a frame */ | /** Preprocess a frame */ | |||
void speex_preprocess_estimate_update(SpeexPreprocessState *st, spx_int16_t *x, float *echo); | void speex_preprocess_estimate_update(SpeexPreprocessState *st, spx_int16_t *x, spx_int32_t *echo); | |||
/** Used like the ioctl function to control the preprocessor parameters */ | /** Used like the ioctl function to control the preprocessor parameters */ | |||
int speex_preprocess_ctl(SpeexPreprocessState *st, int request, void *ptr); | int speex_preprocess_ctl(SpeexPreprocessState *st, int request, void *ptr); | |||
/** Set preprocessor denoiser state */ | /** Set preprocessor denoiser state */ | |||
#define SPEEX_PREPROCESS_SET_DENOISE 0 | #define SPEEX_PREPROCESS_SET_DENOISE 0 | |||
/** Get preprocessor denoiser state */ | /** Get preprocessor denoiser state */ | |||
#define SPEEX_PREPROCESS_GET_DENOISE 1 | #define SPEEX_PREPROCESS_GET_DENOISE 1 | |||
/** Set preprocessor Automatic Gain Control state */ | /** Set preprocessor Automatic Gain Control state */ | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||