📄 ec_api.h
字号:
/* /////////////////////////////////////////////////////////////////////////////
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2005 Intel Corporation. All Rights Reserved.
//
// Intel(R) Integrated Performance Primitives EC Sample
//
// By downloading and installing this sample, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ipplic.htm located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// Purpose: Echo Canceller header file.
//
*/
#ifndef __EC_API_H__
#define __EC_API_H__
#include "ippsc.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum op_code_enum {
EC_COEFFS_ZERO = 0,
EC_ADAPTATION_ENABLE,
EC_ADAPTATION_DISABLE,
EC_NLP_ENABLE,
EC_NLP_DISABLE,
EC_TD_ENABLE,
EC_TD_DISABLE,
EC_AH_ENABLE,
EC_AH_DISABLE,
EC_ALG1
} ECOpcode;
typedef struct __fbECState fbECState;
typedef struct __sbECState sbECState;
typedef struct __sbfECState sbfECState;
typedef int (*ec_GetFrameSize_ptr)(int *s);
typedef int (*ec_GetSize_ptr)(IppPCMFrequency freq, int taptime_ms, int *s);
typedef int (*ec_GetSendPathDelay_ptr)(int *delay);
typedef int (*ec_Init_ptr)(void *state, IppPCMFrequency freq, int taptime_ms);
typedef int (*ec_ModeOp_ptr)(void *state, ECOpcode op);
typedef int (*ec_ProcessFrame_ptr)(void *state, Ipp32f *rin, Ipp32f *sin, Ipp32f *sout);
typedef int (*ec_setAHFreqShift_ptr)(void *state, int shift);
/* Returns size of buffer for state structure */
int ec_fb_GetSize(IppPCMFrequency freq, int taptime_ms,int *s);
int ec_sb_GetSize(IppPCMFrequency freq, int taptime_ms,int *s);
int ec_sbf_GetSize(IppPCMFrequency freq, int taptime_ms,int *s);
/* Initializes state structure */
int ec_fb_Init(void *state, IppPCMFrequency freq, int taptime_ms);
int ec_sb_Init(void *state, IppPCMFrequency freq, int taptime_ms);
int ec_sbf_Init(void *state, IppPCMFrequency freq, int taptime_ms);
/* Do operation or set mode */
int ec_fb_ModeOp(void *state, ECOpcode op);
int ec_sb_ModeOp(void *state, ECOpcode op);
int ec_sbf_ModeOp(void *state, ECOpcode op);
/* Process one frame */
int ec_fb_ProcessFrame(void *state, Ipp32f *rin, Ipp32f *sin, Ipp32f *sout);
int ec_sb_ProcessFrame(void *state, Ipp32f *rin, Ipp32f *sin, Ipp32f *sout);
int ec_sbf_ProcessFrame(void *state, Ipp32f *rin, Ipp32f *sin, Ipp32f *sout);
/* Returns size of frame */
int ec_fb_GetFrameSize(int *s);
int ec_sbf_GetFrameSize(int *s);
int ec_sb_GetFrameSize(int *s);
/* Returns delay introduced to send-path */
int ec_fb_GetSendPathDelay(int *delay);
int ec_sb_GetSendPathDelay(int *delay);
int ec_sbf_GetSendPathDelay(int *delay);
int ec_sb_setAHFreqShift(void *state, int shift);
int ec_sbf_setAHFreqShift(void *state, int shift);
int ec_fb_setAHFreqShift(void *state, int shift);
#ifdef __cplusplus
}
#endif
#endif /* __EC_API_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -