pinebuds/services/multimedia/speech/inc/med_aec3_main.h

79 lines
3.0 KiB
C
Raw Normal View History

2022-08-15 04:20:27 -05:00
/*****************************************************************************
1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
#include "v_typdef.h"
#ifndef _MED_AEC3_MAIN_H_
#define _MED_AEC3_MAIN_H_
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
/*****************************************************************************
2 <EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
/*****************************************************************************
3 ö<EFBFBD>ٶ<EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
/*****************************************************************************
4 ȫ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
/*****************************************************************************
5 STRUCT<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
typedef VOS_VOID (*NS_HANDLER_T)(VOS_VOID *stNs, VOS_INT16 *shwBuf, VOS_INT32 swFrameLength);
/* AEC<45><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ӿ<EFBFBD> */
typedef struct
{
VOS_BOOL enEAecEnable; /* AEC: <20><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>AECʹ<43>ܿ<EFBFBD><DCBF><EFBFBD> */
VOS_BOOL enHpfEnable; /* HPF: <20><>ͨ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> */
VOS_BOOL enAfEnable; /* AF : <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> */
VOS_BOOL enNsEnable; /* NS : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD> */
VOS_INT16 shwDelayLength; /* DELAY: <20>̶<EFBFBD><CCB6><EFBFBD>ʱ */
} MED_AEC3_NV_STRU;
/*****************************************************************************
6 UNION<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
/*****************************************************************************
7 OTHERS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
/*****************************************************************************
8 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
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*/