1
2 #ifndef _MED_AEC3_COMM_H_
3 #define _MED_AEC3_COMM_H_
4
5 /*****************************************************************************
6 1 ����ͷ�ļ�����
7 *****************************************************************************/
8 #include "codec_typedefine.h"
9 #include "med_fft.h"
10 #include "codec_com_codec.h"
11 #include "med_aec3_main.h"
12
13 #ifdef __cplusplus
14 #if __cplusplus
15 extern "C" {
16 #endif
17 #endif
18
19 /*****************************************************************************
20 2 �궨��
21 *****************************************************************************/
22 /* FFT IFFT�ص����� */
23 typedef VOS_VOID (*MED_AEC_FFT_CALLBACK)(VOS_INT16 *, VOS_INT16 *);
24
25 #ifdef AEC_ONLY_SUPPORT_8k
26 #ifdef SPEECH_STREAM_UNIT_128
27 #define MED_AEC_FFT_LEN_NB (256)
28 #else
29 #define MED_AEC_FFT_LEN_NB (240)
30 #endif
31 #define MED_AEC_MAX_FFT_LEN (MED_AEC_FFT_LEN_NB) /* ���FFT���� */
32 #else
33 #ifdef SPEECH_STREAM_UNIT_128
34 #define MED_AEC_FFT_LEN_NB (256)
35 #define MED_AEC_FFT_LEN_WB (512)
36 #else
37 #define MED_AEC_FFT_LEN_NB (240)
38 #define MED_AEC_FFT_LEN_WB (480)
39 #endif
40 #define MED_AEC_MAX_FFT_LEN (MED_AEC_FFT_LEN_WB) /* ���FFT���� */
41 #endif
42
43 #define MED_AEC_HF_AF_M (6)
44
45 /* ��ʱȫ�����飬��AEC��ģ��ʹ�� */
46 //extern VOS_INT16 g_ashwMedAecTmp1Len640[MED_AEC_MAX_FFT_LEN];
47 //extern VOS_INT16 g_ashwMedAecTmp2Len640[MED_AEC_MAX_FFT_LEN];
48 //extern VOS_INT32 g_aswMedAecTmp1Len320[CODEC_FRAME_LENGTH_WB];
49 //extern VOS_INT32 g_aswMedAecTmp1Len640[MED_AEC_MAX_FFT_LEN];
50
51 /* AEC �����궨��*/
52 //#define MED_AEC_GetshwVecTmp640Ptr1() (&g_ashwMedAecTmp1Len640[0]) /* ��ʱȫ������ָ�� ����640 INT16 */
53 //#define MED_AEC_GetshwVecTmp640Ptr2() (&g_ashwMedAecTmp2Len640[0]) /* ��ʱȫ������ָ�� ����640 INT16 */
54 //#define MED_AEC_GetswVecTmp320Ptr1() (&g_aswMedAecTmp1Len320[0]) /* ��ʱȫ������ָ�� ����320 INT32 */
55 //#define MED_AEC_GetswVecTmp640Ptr1() (&g_aswMedAecTmp1Len640[0]) /* ��ʱȫ������ָ�� ����640 INT32 */
56
57 #define MED_AEC_OFFSET_THD (60) /* �ӳٲ�����ֵ */
58 #define MED_AEC_MAX_OFFSET (960) /* ������ȣ���λ������ Q0*/
59 #define MED_AEC_MAX_TAIL_LEN (960) /* ���β�˳��ȣ���λms�����֧��60msβ���ӳ� Q0*/
60 /*****************************************************************************
61 3 ö�ٶ���
62 *****************************************************************************/
63 /* AF FFT���� */
64 enum MED_AEC_AF_FFT_LEN_ENUM
65 {
66 #ifdef SPEECH_STREAM_UNIT_128
67 MED_AEC_AF_FFT_LEN_NB = 256, /* խ��FFT���� */
68 MED_AEC_AF_FFT_LEN_WB = 512, /* ���FFT���� */
69 #else
70 MED_AEC_AF_FFT_LEN_NB = 240, /* խ��FFT���� */
71 MED_AEC_AF_FFT_LEN_WB = 480, /* ���FFT���� */
72 #endif
73 MED_AEC_AF_FFT_LEN_BUTT
74 };
75 typedef VOS_INT16 MED_AEC_AF_FFT_LEN_ENUM_INT16;
76
77 /* ������ö�� */
78 enum CODEC_SWITCH_ENUM
79 {
80 CODEC_SWITCH_OFF = 0,
81 CODEC_SWITCH_ON,
82 CODEC_SWITCH_BUTT
83 };
84 typedef VOS_UINT16 CODEC_SWITCH_ENUM_UINT16;
85
86 /*****************************************************************************
87 4 ȫ�ֱ�������
88 *****************************************************************************/
89
90 /*****************************************************************************
91 5 STRUCT����
92 *****************************************************************************/
93
94 /*****************************************************************************
95 6 UNION����
96 *****************************************************************************/
97
98 /*****************************************************************************
99 7 OTHERS����
100 *****************************************************************************/
101
102 /*****************************************************************************
103 8 ��������
104 *****************************************************************************/
105 #ifdef DEBUG_AEC
fprint_vec_int32(FILE * fd,VOS_INT32 * buf,VOS_INT32 len)106 static VOS_VOID fprint_vec_int32(FILE *fd, VOS_INT32 *buf, VOS_INT32 len)
107 {
108 for (VOS_INT32 i = 0; i < len - 1; i++) {
109 fprintf(fd, "%d ", buf[i]);
110 }
111 fprintf(fd, "%d\n", buf[len - 1]);
112 }
113 #endif
114
115 #ifdef __cplusplus
116 #if __cplusplus
117 }
118 #endif
119 #endif
120
121 #endif /* end of med_aec_main.h*/
122
123