/***************************************************************************** 1 其他头文件包含 *****************************************************************************/ #include "v_typdef.h" #ifndef _MED_AEC3_MAIN_H_ #define _MED_AEC3_MAIN_H_ #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif /***************************************************************************** 2 宏定义 *****************************************************************************/ /***************************************************************************** 3 枚举定义 *****************************************************************************/ /***************************************************************************** 4 全局变量声明 *****************************************************************************/ /***************************************************************************** 5 STRUCT定义 *****************************************************************************/ typedef VOS_VOID (*NS_HANDLER_T)(VOS_VOID *stNs, VOS_INT16 *shwBuf, VOS_INT32 swFrameLength); /* AEC参数初始化接口 */ typedef struct { VOS_BOOL enEAecEnable; /* AEC: 增强免提AEC使能开关 */ VOS_BOOL enHpfEnable; /* HPF: 高通滤波开关 */ VOS_BOOL enAfEnable; /* AF : 自适应滤波开关 */ VOS_BOOL enNsEnable; /* NS : 噪声抑制开关 */ VOS_INT16 shwDelayLength; /* DELAY: 固定延时 */ } MED_AEC3_NV_STRU; /***************************************************************************** 6 UNION定义 *****************************************************************************/ /***************************************************************************** 7 OTHERS定义 *****************************************************************************/ /***************************************************************************** 8 函数声明 *****************************************************************************/ extern VOS_UINT32 MED_AEC3_Main( VOS_VOID *pAecInstance, VOS_INT16 *pshwMicIn, VOS_INT16 *pshwSpkIn, VOS_INT16 *pshwLineOut); extern VOS_VOID* MED_AEC3_Create(void); extern VOS_UINT32 MED_AEC3_Destroy(VOS_VOID **ppAecObj); extern VOS_UINT32 MED_AEC3_SetPara ( VOS_VOID *pAecInstance, MED_AEC3_NV_STRU *pstNv, VOS_INT32 enSampleRate); extern VOS_UINT32 MED_AEC3_SetExtenalNsHandle( VOS_VOID *pAecInstance, VOS_VOID *pstNs, NS_HANDLER_T swNsHandler); #ifdef __cplusplus #if __cplusplus } #endif #endif #endif /* end of med_aec_main.h*/