1 
2 
3 /*****************************************************************************
4   1 ����ͷ�ļ�����
5 *****************************************************************************/
6 #include "v_typdef.h"
7 
8 #ifndef _MED_AEC3_MAIN_H_
9 #define _MED_AEC3_MAIN_H_
10 
11 
12 #ifdef __cplusplus
13 #if __cplusplus
14 extern "C" {
15 #endif
16 #endif
17 
18 /*****************************************************************************
19   2 �궨��
20 *****************************************************************************/
21 
22 /*****************************************************************************
23   3 ö�ٶ���
24 *****************************************************************************/
25 
26 /*****************************************************************************
27   4 ȫ�ֱ�������
28 *****************************************************************************/
29 
30 /*****************************************************************************
31   5 STRUCT����
32 *****************************************************************************/
33 typedef VOS_VOID (*NS_HANDLER_T)(VOS_VOID *stNs, VOS_INT16 *shwBuf, VOS_INT32 swFrameLength);
34 
35 /* AEC������ʼ���ӿ� */
36 typedef struct
37 {
38     VOS_BOOL                            enEAecEnable;                           /* AEC: ��ǿ����AECʹ�ܿ��� */
39     VOS_BOOL                            enHpfEnable;                            /* HPF: ��ͨ�˲����� */
40     VOS_BOOL                            enAfEnable;                             /* AF : ����Ӧ�˲����� */
41     VOS_BOOL                            enNsEnable;                             /* NS : �������ƿ��� */
42 	VOS_INT16                           shwDelayLength;                         /* DELAY: �̶���ʱ */
43 } MED_AEC3_NV_STRU;
44 
45 /*****************************************************************************
46   6 UNION����
47 *****************************************************************************/
48 
49 /*****************************************************************************
50   7 OTHERS����
51 *****************************************************************************/
52 
53 /*****************************************************************************
54   8 ��������
55 *****************************************************************************/
56 extern VOS_UINT32  MED_AEC3_Main(
57 	                   VOS_VOID               *pAecInstance,
58                        VOS_INT16              *pshwMicIn,
59 					   VOS_INT16              *pshwSpkIn,
60                        VOS_INT16              *pshwLineOut);
61 extern VOS_VOID* MED_AEC3_Create(void);
62 extern VOS_UINT32  MED_AEC3_Destroy(VOS_VOID  **ppAecObj);
63 extern VOS_UINT32 MED_AEC3_SetPara (
64                        VOS_VOID                        *pAecInstance,
65 					   MED_AEC3_NV_STRU                 *pstNv,
66                        VOS_INT32                       enSampleRate);
67 extern VOS_UINT32  MED_AEC3_SetExtenalNsHandle(
68                        VOS_VOID               *pAecInstance,
69                        VOS_VOID               *pstNs,
70                        NS_HANDLER_T           swNsHandler);
71 #ifdef __cplusplus
72 #if __cplusplus
73 }
74 #endif
75 #endif
76 
77 #endif /* end of med_aec_main.h*/
78 
79