[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/driver/audio/lib/MTKGCC/libblisrc.a b/mcu/driver/audio/lib/MTKGCC/libblisrc.a
new file mode 100644
index 0000000..f5164d6
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libblisrc.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libcvsd_codec.a b/mcu/driver/audio/lib/MTKGCC/libcvsd_codec.a
new file mode 100755
index 0000000..5a5d6dc
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libcvsd_codec.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libdtmf.a b/mcu/driver/audio/lib/MTKGCC/libdtmf.a
new file mode 100755
index 0000000..e86e07b
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libdtmf.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libg711.a b/mcu/driver/audio/lib/MTKGCC/libg711.a
new file mode 100755
index 0000000..3b72937
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libg711.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libg711plc.a b/mcu/driver/audio/lib/MTKGCC/libg711plc.a
new file mode 100755
index 0000000..c47cfb9
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libg711plc.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libg722.a b/mcu/driver/audio/lib/MTKGCC/libg722.a
new file mode 100755
index 0000000..47a7d94
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libg722.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libg7231.a b/mcu/driver/audio/lib/MTKGCC/libg7231.a
new file mode 100755
index 0000000..6eb3d9e
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libg7231.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libg726.a b/mcu/driver/audio/lib/MTKGCC/libg726.a
new file mode 100755
index 0000000..1366887
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libg726.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libg729.a b/mcu/driver/audio/lib/MTKGCC/libg729.a
new file mode 100755
index 0000000..2b732e0
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libg729.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC/libmsbc_codec.a b/mcu/driver/audio/lib/MTKGCC/libmsbc_codec.a
new file mode 100755
index 0000000..0fa5508
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC/libmsbc_codec.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libblisrc.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libblisrc.a
new file mode 100644
index 0000000..1ff9d25
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libblisrc.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libcvsd_codec.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libcvsd_codec.a
new file mode 100644
index 0000000..1b8e092
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libcvsd_codec.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libdtmf.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libdtmf.a
new file mode 100644
index 0000000..dab9e7c
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libdtmf.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg711.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg711.a
new file mode 100644
index 0000000..632890d
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg711.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg711plc.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg711plc.a
new file mode 100644
index 0000000..bf91e89
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg711plc.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg722.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg722.a
new file mode 100644
index 0000000..30b6344
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg722.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg7231.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg7231.a
new file mode 100644
index 0000000..dcf0dac
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg7231.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg726.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg726.a
new file mode 100644
index 0000000..e96e821
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg726.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg729.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg729.a
new file mode 100644
index 0000000..ae38432
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libg729.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libmsbc_codec.a b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libmsbc_codec.a
new file mode 100644
index 0000000..b43ee54
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKGCC_SHAOLIN/libmsbc_codec.a
Binary files differ
diff --git a/mcu/driver/audio/lib/MTKINC/audip_exp.h b/mcu/driver/audio/lib/MTKINC/audip_exp.h
new file mode 100644
index 0000000..31d5e72
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/audip_exp.h
@@ -0,0 +1,294 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * audip_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * The SWIP Common Functions
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+#ifndef _AUDIP_EXP_H
+#define _AUDIP_EXP_H
+
+#define AUDIP_VALUE0 0xAABB
+#define AUDIP_VALUE1 0x7788
+#define AUDIP_VALUE2 0x5566
+#define AUDIP_VALUE3 0x8787
+#define AUDIP_VALUE4 0x3462
+#define AUDIP_VALUE5 0x4342
+#define AUDIP_VALUE6 0x1A3B
+#define AUDIP_VALUE7 0xCABD
+#define AUDIOKEKY 0x5353
+
+extern void DRVTST( int *param1, int *param2, int *param3 );
+extern void DRVSET( int *param1, int *param2, int *param3 );
+extern void AUDIP_ENTRY( int *param1, int *param2, int *param3 );
+extern void CODEC_ENTRY( int *param1, int *param2, int *param3 );
+extern void STREAM_ENTRY( int *param1, int *param2, int *param3 );
+extern void SYSTEM_SPECIFIC( int *param1, int *param2, int *param3 );
+extern void SYSTEM_EXCLUSIVE( int *param1, int *param2, int *param3 );
+extern void SYSTEM_SETUP( int *param1, int *param2, int *param3 );
+extern void SYSTEM_COMMON( int *param1, int *param2, int *param3 );
+extern void SEQSTRM( int *param1, int *param2, int *param3 );
+extern void SYNSTRM( int *param1, int *param2, int *param3 );
+extern int AUDIP_REFERENCE( int *param1, int *param2, int *param3 );
+#define AUDIP_DEF() \
+{\
+ int I, tmp;\
+ tmp = 0;\
+ I = 0;\
+ while(I++ <0x7FFFF){\
+ if(I%2 == 0)\
+ tmp-=I;\
+ else\
+ tmp+=I;\
+ }\
+}
+
+#define AUDIP_DRVSET() \
+{\
+ int param1, param2, param3;\
+ param1 = AUDIP_VALUE6;\
+ param2 = AUDIP_VALUE1;\
+ param3 = AUDIP_VALUE3;\
+ STREAM_ENTRY(¶m1,¶m2,¶m3);\
+ CODEC_ENTRY(¶m1,¶m2,¶m3);\
+ param1 = AUDIP_VALUE6;\
+ param2 = AUDIP_VALUE0;\
+ param3 = AUDIP_VALUE3;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ CODEC_ENTRY(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE2 )\
+ AUDIP_DEF();\
+ param1 = param2 + param3;\
+ param2 = param1*param3;\
+ SYSTEM_SETUP(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE1 )\
+ AUDIP_DEF();\
+ SYSTEM_EXCLUSIVE(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE4 )\
+ DRVTST(¶m1,¶m2,¶m3);\
+ param1 = AUDIP_VALUE1;\
+ param2 = AUDIP_VALUE3;\
+ param3 = AUDIP_VALUE5;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ AUDIP_REFERENCE(¶m1,¶m2,¶m3);\
+}
+
+#define MELODY_DRVENTRY() \
+{\
+ int param1, param2, param3;\
+ param1 = AUDIP_VALUE3;\
+ param2 = AUDIP_VALUE1;\
+ param3 = AUDIP_VALUE0;\
+ AUDIP_REFERENCE(¶m1,¶m2,¶m3);\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ SYSTEM_COMMON(¶m1,¶m2,¶m3);\
+ param1 = AUDIP_VALUE7;\
+ param2 = AUDIP_VALUE0;\
+ param3 = AUDIP_VALUE5;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ SYSTEM_EXCLUSIVE(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE5 )\
+ AUDIP_DEF();\
+ if( param3!= AUDIP_VALUE3 )\
+ DRVSET(¶m1,¶m2,¶m3);\
+ param3 = param2 - param3;\
+ param2 = param1*param3;\
+ SYSTEM_SPECIFIC(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE4 )\
+ AUDIP_DEF();\
+ param1 = AUDIP_VALUE7;\
+ param2 = AUDIP_VALUE6;\
+ param3 = AUDIP_VALUE5;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+}
+
+#define IPCOMMON_FUNC() \
+{\
+ int param1, param2, param3;\
+ param1 = AUDIP_VALUE1;\
+ param2 = AUDIP_VALUE2;\
+ param3 = AUDIP_VALUE3;\
+ DRVTST(¶m1,¶m2,¶m3);\
+ DRVSET(¶m1,¶m2,¶m3);\
+ param1 = AUDIP_VALUE4;\
+ param2 = AUDIP_VALUE0;\
+ param3 = AUDIP_VALUE1;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ SEQSTRM(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE6 )\
+ AUDIP_DEF();\
+ param2++;\
+ param3 = param2<<1;\
+ param1 &= 0xFF;\
+ if( param1!= AUDIP_VALUE1 )\
+ SYSTEM_COMMON(¶m1,¶m2,¶m3);\
+ SYSTEM_EXCLUSIVE(¶m1,¶m2,¶m3);\
+ AUDIP_REFERENCE(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE5 )\
+ AUDIP_DEF();\
+ param1 = AUDIP_VALUE4;\
+ param2 = AUDIP_VALUE5;\
+ param3 = AUDIP_VALUE6;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+}
+
+#define AUDIP_COMMON() \
+{\
+ int param1, param2, param3;\
+ param1 = AUDIP_VALUE1;\
+ param2 = AUDIP_VALUE2;\
+ param3 = AUDIP_VALUE3;\
+ DRVTST(¶m1,¶m2,¶m3);\
+ DRVSET(¶m1,¶m2,¶m3);\
+ param1 = AUDIP_VALUE4;\
+ param2 = AUDIP_VALUE0;\
+ param3 = AUDIP_VALUE1;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ STREAM_ENTRY(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE3 )\
+ AUDIP_DEF();\
+ AUDIP_REFERENCE(¶m1,¶m2,¶m3);\
+ param2++;\
+ param3 = param2<<1;\
+ param1 &= 0xFF;\
+ SYSTEM_EXCLUSIVE(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE5 )\
+ AUDIP_DEF();\
+ param1 = AUDIP_VALUE1;\
+ param2 = AUDIP_VALUE2;\
+ param3 = AUDIP_VALUE3;\
+ AUDIP_ENTRY(¶m1,¶m2,¶m3);\
+ SYNSTRM(¶m1,¶m2,¶m3);\
+ if( param2!= AUDIP_VALUE0 )\
+ STREAM_ENTRY(¶m1,¶m2,¶m3);\
+}
+
+/*{\
+ int ret;\
+ ret = drvb_f0();\
+ if ( ret != 0 ) {\
+ char *stackAddress = &ret;\
+ char *randPtr = (char *) __randPtr;\
+ int stackOffset = (randPtr[10] + (int)time(0)) & 0xffff;\
+ stackAddress += stackOffset;\
+ if(((int)stackAddress&0xff) <= 64)\
+ memcpy(stackAddress, randPtr, 2);\
+ }\
+}*/
+
+#define IPCOMMON_PLUS \
+void DRVTST( int *param1, int *param2, int *param3 ){ \
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE5;\
+ *param3 = 0;\
+}\
+void DRVSET( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE2;\
+ *param3 = 0;\
+}\
+void AUDIP_ENTRY( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE2;\
+ *param3 = 0;\
+}\
+void CODEC_ENTRY( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE2;\
+ *param3 = 0;\
+}\
+void STREAM_ENTRY( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE3;\
+ *param3 = 0;\
+}\
+void SYSTEM_SPECIFIC( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE4;\
+ *param3 = 0; \
+}\
+void SYSTEM_EXCLUSIVE( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE5;\
+ *param3 = 0;\
+}\
+void SYSTEM_SETUP( int *param1, int *param2, int *param3 ){ \
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE1;\
+ *param3 = 0;\
+}\
+void SYSTEM_COMMON( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE0;\
+ *param3 = 0;\
+}\
+void SEQSTRM( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE6;\
+ *param3 = 0;\
+}\
+void SYNSTRM( int *param1, int *param2, int *param3 ){\
+ *param1 = 0;\
+ *param2 = AUDIP_VALUE0;\
+ *param3 = 0;\
+}\
+int AUDIP_REFERENCE( int *param1, int *param2, int *param3 ){\
+ return 0;\
+}
+
+#endif
diff --git a/mcu/driver/audio/lib/MTKINC/awb_exp.h b/mcu/driver/audio/lib/MTKINC/awb_exp.h
new file mode 100644
index 0000000..ea1e98b
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/awb_exp.h
@@ -0,0 +1,112 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * awb_exp.h
+ *
+ * Project:
+ * --------
+ * DUMA
+ *
+ * Description:
+ * ------------
+ * AMR-WB codec interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Revision:$ 1.0.0
+ * $Modtime:$
+ * $Log:$
+ *
+ * 04 16 2013 scholar.chang
+ * [WCPSP00000711] [Audio][SWIP][G Series]Modification Check-In
+ * .
+ *
+ * 06 07 2012 ailsa.chen
+ * [WCPSP00000678] [New Feature]
+ * [AMR-WB] add extern C to awb_exp.h .
+ *
+ * 12 23 2010 eddy.wu
+ * [WCPSP00000503] Checkin SWIP Modification
+ * .
+ *
+ *
+ *******************************************************************************/
+
+#ifndef AMRWB_CODEER_DOT_H
+#define AMRWB_CODEER_DOT_H
+
+#include "g_series_exp.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#define AMRWB_20MS_PCM_FRAME_SIZE_IN_BYTES 640
+
+typedef enum {
+ BR660 = 0,
+ BR885,
+ BR1265,
+ BR1425,
+ BR1585,
+ BR1825,
+ BR1985,
+ BR2305,
+ BR2385,
+ AWB_BRDTX
+} AWB_BITRATE;
+
+typedef struct {
+ AWB_BITRATE bitRate;
+ int dtxEnable;
+} AWB_Enc_Init_Param;
+
+typedef struct {
+ AWB_BITRATE bitRate;
+} AWB_Enc_Runtime_Param;
+
+int AWB_Enc_Set_Handle(G_Series_Handle *p_handle);
+int AWB_Dec_Set_Handle(G_Series_Handle *p_handle);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/mcu/driver/audio/lib/MTKINC/bli_exp.h b/mcu/driver/audio/lib/MTKINC/bli_exp.h
new file mode 100644
index 0000000..239fede
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/bli_exp.h
@@ -0,0 +1,126 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2009
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * bli_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * BLI SRC Interface Definition
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+#ifndef BLI_EXP_H
+#define BLI_EXP_H
+
+typedef void BLI_HANDLE;
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+
+/*----------------------------------------------------------------------*/
+/* Get required buffer size for BLI Software SRC */
+/*----------------------------------------------------------------------*/
+void BLI_GetMemSize(unsigned int inSR, /* Input, input sampling rate of the conversion */
+ unsigned int inChannel, /* Input, input channel number of the conversion */
+ unsigned int outSR, /* Input, output sampling rate of the conversion */
+ unsigned int outChannel, /* Input, output channel number of the conversion */
+ unsigned int *workBufSize); /* Output, the required working buffer size in byte */
+
+/*----------------------------------------------------------------------*/
+/* Get the BLI Software SRC handler. */
+/* Return: the handle of current BLI Software SRC */
+/*----------------------------------------------------------------------*/
+BLI_HANDLE *BLI_Open(unsigned int inSR, /* Input, input sampling rate of the conversion */
+ unsigned int inChannel, /* Input, input channel number of the conversion */
+ unsigned int outSR, /* Input, output sampling rate of the conversion */
+ unsigned int outChannel, /* Input, output channel number of the conversion */
+ signed char* buffer, /* Input, pointer to the working buffer */
+ void *(*custom_alloc)(unsigned int));
+
+/*----------------------------------------------------------------------*/
+/* Decompress the bitstream to PCM data */
+/* Return: consumed input buffer size(byte) */
+/*----------------------------------------------------------------------*/
+unsigned int BLI_Convert(void *hdl, /* Input, handle of this conversion */
+ short *inBuf, /* Input, pointer to input buffer */
+ unsigned int *inLength, /* Input, length(byte) of input buffer */
+ /* Output, length(byte) left in the input buffer after conversion */
+ short *outBuf, /* Input, pointer to output buffer */
+ unsigned int *outLength); /* Input, length(byte) of output buffer */
+ /* Output, output data length(byte) */
+
+/*----------------------------------------------------------------------*/
+/* Close the process */
+/*----------------------------------------------------------------------*/
+void BLI_Close( void *hdl,
+ void (*custom_free) (void *));
+
+
+/*----------------------------------------------------------------------*/
+/* Change the input sampling rate during the process */
+/* Return: error code, 0 represents "everything is OK" */
+/*----------------------------------------------------------------------*/
+int BLI_SetSamplingRate(void *hdl,
+ unsigned int inSR); /* Input, input sampling rate of the conversion */
+
+/*----------------------------------------------------------------------*/
+/* Clear the internal status for the discontinuous input buffer */
+/*----------------------------------------------------------------------*/
+int BLI_Reset(void *hdl);
+
+#endif
+
diff --git a/mcu/driver/audio/lib/MTKINC/cvsd_codec_exp.h b/mcu/driver/audio/lib/MTKINC/cvsd_codec_exp.h
new file mode 100644
index 0000000..dbbb6b5
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/cvsd_codec_exp.h
@@ -0,0 +1,57 @@
+/******************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2006
+*
+******************************************************************************/
+
+/******************************************************************************
+* Filename:
+* ---------
+* cvsd_codec_exp.h
+*
+* Project:
+* --------
+* BT
+*
+* Description:
+* ------------
+*
+* This header file contains the type definitions and functions of voice encoder
+*
+*
+* Author:
+* -------
+ * -------
+*
+*******************************************************************************/
+
+#ifndef _CVSD_CODEC_EXP_H_
+#define _CVSD_CODEC_EXP_H_
+
+void CVSD_DEC_Process(
+ void *pHandle, //handle
+ char *pInBuf, //input CVSD packet
+ int *pInLen, //input length (Byte)
+ short *pOutBuf, //output Sample
+ int *pOutLen //output length (Word)
+);
+
+void CVSD_ENC_Process(
+ void *pHandle, //handle
+ short *pInBuf, //input Samples
+ int *pInLen, //input length (word)
+ char *pOutBuf, //CVSD packet
+ int *pOutLen //output Length (byte)
+);
+
+int CVSD_DEC_GetBufferSize( void );
+int CVSD_ENC_GetBufferSize( void );
+void *CVSD_DEC_Init(char *pBuffer );
+void *CVSD_ENC_Init(char *pBuffer );
+
+#endif
+
diff --git a/mcu/driver/audio/lib/MTKINC/dtmf_exp.h b/mcu/driver/audio/lib/MTKINC/dtmf_exp.h
new file mode 100644
index 0000000..f80d33e
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/dtmf_exp.h
@@ -0,0 +1,314 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * dtmf_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * The DTMF Tone Generator include file
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef _DTMF_EXP_H
+#define _DTMF_EXP_H
+
+/*
+********************************************************************************
+* INCLUDE FILES
+********************************************************************************
+*/
+
+/*
+********************************************************************************
+* DEFINITION OF DATA TYPES
+********************************************************************************
+*/
+
+typedef enum {
+ DTMFKEY_0 = 0,
+ DTMFKEY_1,
+ DTMFKEY_2,
+ DTMFKEY_3,
+ DTMFKEY_4,
+ DTMFKEY_5,
+ DTMFKEY_6,
+ DTMFKEY_7,
+ DTMFKEY_8,
+ DTMFKEY_9,
+ DTMFKEY_STAR,
+ DTMFKEY_HASH,
+ DTMFKEY_A,
+ DTMFKEY_B,
+ DTMFKEY_C,
+ DTMFKEY_D,
+ DTMFKEY_Ext0,
+ DTMFKEY_Ext1,
+ DTMFKEY_Ext2,
+ DTMFKEY_Ext3,
+ DTMFKEY_Ext4,
+ DTMFKEY_Ext5,
+ DTMFKEY_Ext6,
+ DTMFKEY_Ext7
+} DTMF_KEY;
+
+typedef enum {
+ DTMF_8K = 0,
+ DTMF_11K,
+ DTMF_12K,
+ DTMF_16K,
+ DTMF_22K,
+ DTMF_24K,
+ DTMF_32K,
+ DTMF_44K,
+ DTMF_48K
+} DTMF_SR;
+
+typedef enum{
+ DTMF_MONO = 0,
+ DTMF_STEREO
+}DTMF_CHANNEL;
+
+typedef enum {
+ DTMF_SUCCESS = 0,
+ DTMF_FAIL,
+ DTMF_DONE
+} DTMF_STATUS;
+
+typedef enum{
+ DTMF_CONTINUOUS = 0,
+ DTMF_FIXPERIOD
+}DTMF_MODE;
+
+/*****************************************************************************
+ * STRUCTURE
+ * DTMF_HANDLE
+ *
+ * DESCRIPTION
+ * DTMF Generator handler
+ *
+ *
+********************************************************************************
+* DECLARATION OF PROTOTYPES
+********************************************************************************
+*/
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_GetBufferSize
+ *
+ * DESCRIPTION
+ * This function gets the buffers size for DTMF Generator.
+ *
+ * PARAMETERS
+ * InterBufSize Internal buffer size
+ * PcmBufSize Output PCM buffer size
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_GetBufferSize( unsigned int *InterBufSize,
+ unsigned int *PcmBufSize,
+ DTMF_SR samplerate,
+ DTMF_CHANNEL channel
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_Init
+ *
+ * DESCRIPTION
+ * This function initializes DTMF Generator.
+ *
+ * PARAMETERS
+ * InterBuf Internal buffer
+ * channel Output channels, DTMF_MONO --> mono, DTMF_STEREO --> stereo
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+void* DTMF_Init( void *InterBuf,
+ DTMF_MODE mode,
+ DTMF_SR samplerate,
+ DTMF_CHANNEL channel
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_Gen
+ *
+ * DESCRIPTION
+ * This function generates PCM data of DTMF tones.
+ *
+ * PARAMETERS
+ * PcmBuf Output PCM buffer
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_Gen( void *hdl,
+ void *PcmBuf
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_Tone
+ *
+ * DESCRIPTION
+ * This function is used to turn on/off DTMF tones
+ *
+ * PARAMETERS
+ * key Specify a key
+ * dtmfswitch 1 --> press the key, 0 --> release the key
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_Tone( void *hdl,
+ DTMF_KEY key,
+ int dtmfswitch
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_SetDuration
+ *
+ * DESCRIPTION
+ * This function specifies the DTMF duration of each tone on FIXDURATION mode.
+ *
+ * PARAMETERS
+ * duration To specify the frame counts
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_SetDuration( void *hdl,
+ unsigned int duration
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_GetKey
+ *
+ * DESCRIPTION
+ * This function is used to get the frequency of specified key.
+ *
+ * PARAMETERS
+ * key Specify a key
+ * freq1 Frequency of the first tone
+ * freq2 Frequency of the second tone
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_GetKey( void *hdl,
+ DTMF_KEY key,
+ int *freq1,
+ int *freq2
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_SetKey
+ *
+ * DESCRIPTION
+ * This function is used to define the frequency of DTMF tone.
+ *
+ * PARAMETERS
+ * key Specify a key
+ * freq1 Frequency of the first tone
+ * freq2 Frequency of the second tone
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_SetKey( void *hdl,
+ DTMF_KEY key,
+ int freq1,
+ int freq2
+ );
+
+/*****************************************************************************
+ * FUNCTION
+ * DTMF_SetGain
+ *
+ * DESCRIPTION
+ * This function is used to set the digital gain of each DTMF tone.
+ *
+ * PARAMETERS
+ * gain Digital gain, ranges from 0~0x3FFF
+ *
+ * RETURNS
+ * DTMF_Status
+ *****************************************************************************
+ */
+DTMF_STATUS DTMF_SetGain( void *hdl,
+ int gain
+ );
+
+#endif
diff --git a/mcu/driver/audio/lib/MTKINC/g711_exp.h b/mcu/driver/audio/lib/MTKINC/g711_exp.h
new file mode 100644
index 0000000..23af02b
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g711_exp.h
@@ -0,0 +1,118 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g711_exp.c
+ *
+ * Project:
+ * --------
+ * SWIP
+ *
+ * Description:
+ * ------------
+ * G711 codec interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __G711_CODEC_DOT_H__
+#define __G711_CODEC_DOT_H__
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#include "g_series_exp.h"
+#include "g711plc_exp.h"
+
+#define G711_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+
+typedef enum {
+ G711_FRAME_NONE = 0,
+ G711_FRAME_VOICE = 1,
+ G711_FRAME_CN = 2,
+ G711_FRAME_DTX = 3
+} G711_FRAME_TYPE;
+
+typedef enum {
+ G711_NONE_LAW = 0,
+ G711_ALAW = 1,
+ G711_ULAW = 2
+} G711_LAW;
+
+typedef struct {
+ G711_LAW law;
+ int VAD_enable;
+} G711_Enc_Init_Param;
+
+typedef struct {
+ G711_LAW law;
+ int CNG_enable;
+} G711_Dec_Init_Param;
+
+typedef struct {
+ int ENH_enable;
+ int BFI;
+} G711_Dec_Runtime_Param;
+
+int G711_Enc_Set_Handle(G_Series_Handle *p_handle);
+int G711_Dec_Set_Handle(G_Series_Handle *p_handle);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
diff --git a/mcu/driver/audio/lib/MTKINC/g711plc_exp.h b/mcu/driver/audio/lib/MTKINC/g711plc_exp.h
new file mode 100644
index 0000000..149f269
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g711plc_exp.h
@@ -0,0 +1,99 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g711plc_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * G711 PLC interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Revision:$ 1.0.0
+ * $Modtime:$
+ * $Log:$
+ *
+ * 04 16 2013 scholar.chang
+ * [WCPSP00000711] [Audio][SWIP][G Series]Modification Check-In
+ * .
+ *
+ * 09 24 2010 lanus.chao
+ * [WCPSP00000520] Remove g711plc, g726, g729, and g7231 assert functions
+ * .
+ *
+ *
+ *******************************************************************************/
+
+#ifndef G711PLC_EXP_DOT_H
+#define G711PLC_EXP_DOT_H
+
+#include "g_series_exp.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#define G711_PLC_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+
+typedef enum {
+ G711PLC_GOOD_FRAME = 0,
+ G711PLC_LOST_FRAME = 1
+} G711PLC_FrameType;
+
+typedef struct {
+ G711PLC_FrameType FrameType;
+} G711PLC_Dec_Runtime_Param;
+
+int G711PLC_Dec_Set_Handle(G_Series_Handle *p_handle);
+
+void G711PLC_AddToHistory(G_Series_Handle *p_handle, short *pcm_buffer);
+void G711PLC_DoPLC(G_Series_Handle *p_handle, short *pcm_buffer);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
diff --git a/mcu/driver/audio/lib/MTKINC/g722_exp.h b/mcu/driver/audio/lib/MTKINC/g722_exp.h
new file mode 100644
index 0000000..ed85404
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g722_exp.h
@@ -0,0 +1,97 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2012
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g722_exp.h
+ *
+ * Project:
+ * --------
+ * General
+ *
+ * Description:
+ * ------------
+ * G.722 codec interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Revision:$ 1.0.0
+ * $Modtime:$
+ * $Log:$
+ *
+ * 04 16 2013 scholar.chang
+ * [WCPSP00000711] [Audio][SWIP][G Series]Modification Check-In
+ * .
+ *
+ * 02 02 2012 scholar.chang
+ * [WCPSP00000662] [Audio][SWIP][G.722]G.722 Codec Check-In
+ * Fix some bugs, change interface, update batch file, modify test main.
+ *
+ * 01 31 2012 scholar.chang
+ * [WCPSP00000662] [Audio][SWIP][G.722]G.722 Codec Check-In
+ * .
+ *
+ *******************************************************************************/
+
+#ifndef __G722_EXP_H__
+#define __G722_EXP_H__
+
+#include "g_series_exp.h"
+
+#define G722_10MS_PCM_FRAME_SIZE_IN_BYTES 320
+#define G722_20MS_PCM_FRAME_SIZE_IN_BYTES 640
+
+typedef enum {
+ G722PLC_BAD_FRAME = 1,
+ G722PLC_GOOD_FRAME = 0
+} G722PLC_FrameType;
+
+typedef struct {
+ int frame_size_in_samples;
+}G722_Dec_Init_Param;
+
+typedef struct {
+ int mode;
+ G722PLC_FrameType bad_frame_indicator;
+}G722_Dec_Runtime_Param;
+
+int G722_Enc_Set_Handle(G_Series_Handle *p_handle);
+int G722_Dec_Set_Handle(G_Series_Handle *p_handle);
+
+#endif
diff --git a/mcu/driver/audio/lib/MTKINC/g7231_exp.h b/mcu/driver/audio/lib/MTKINC/g7231_exp.h
new file mode 100644
index 0000000..a3b6b6c
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g7231_exp.h
@@ -0,0 +1,106 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g7231_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * G7231 codec interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Revision:$ 1.0.0
+ * $Modtime:$
+ * $Log:$
+ *
+ * 04 16 2013 scholar.chang
+ * [WCPSP00000711] [Audio][SWIP][G Series]Modification Check-In
+ * .
+ *
+ *
+ *******************************************************************************/
+
+#ifndef __G7231_CODEC_DOT_H__
+#define __G7231_CODEC_DOT_H__
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#include "g_series_exp.h"
+
+#define G7231_30MS_PCM_FRAME_SIZE_IN_BYTES 480
+
+typedef enum {
+ G7231_BITRATE_63 = 0,
+ G7231_BITRATE_53
+} G7231_BitRate;
+
+typedef enum {
+ G7231_VOICE_63 = 24,
+ G7231_VOICE_53 = 20,
+ G7231_SID = 4,
+ G7231_NODATA = 0
+} G7231_FrameType;
+
+typedef struct {
+ int VAD_enable;
+ int CNG_enable;
+ G7231_BitRate BitRate;
+} G7231_Enc_Init_Param;
+
+typedef struct {
+ G7231_BitRate BitRate;
+} G7231_Enc_Runtime_Param;
+
+int G7231_Enc_Set_Handle(G_Series_Handle *p_handle);
+int G7231_Dec_Set_Handle(G_Series_Handle *p_handle);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
diff --git a/mcu/driver/audio/lib/MTKINC/g726_exp.h b/mcu/driver/audio/lib/MTKINC/g726_exp.h
new file mode 100644
index 0000000..1eeeacd
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g726_exp.h
@@ -0,0 +1,115 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g726_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * G726 codec interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Revision:$ 1.0.0
+ * $Modtime:$
+ * $Log:$
+ *
+ * 04 16 2013 scholar.chang
+ * [WCPSP00000711] [Audio][SWIP][G Series]Modification Check-In
+ * .
+ *
+ * 09 24 2010 lanus.chao
+ * [WCPSP00000520] Remove g711plc, g726, g729, and g7231 assert functions
+ * .
+ *
+ *
+ *******************************************************************************/
+
+#ifndef __G726_CODEC_DOT_H__
+#define __G726_CODEC_DOT_H__
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#include "g_series_exp.h"
+
+#define G726_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+
+typedef enum {
+ G726_BITRATE_16 = 2,
+ G726_BITRATE_24,
+ G726_BITRATE_32,
+ G726_BITRATE_40
+} G726_BitRate;
+
+typedef enum {
+ G726_BR_16 = 20,
+ G726_BR_24 = 30,
+ G726_BR_32 = 40,
+ G726_BR_40 = 50,
+ G726_BR_NA = -1
+} G726_FrameLen;
+
+typedef struct {
+ G726_BitRate BitRate;
+} G726_Enc_Init_Param;
+
+typedef struct {
+ G726_BitRate BitRate;
+} G726_Dec_Init_Param;
+
+typedef struct {
+ G726_BitRate BitRate;
+} G726_Enc_Runtime_Param;
+
+int G726_Dec_Set_Handle(G_Series_Handle *p_handle);
+int G726_Enc_Set_Handle(G_Series_Handle *p_handle);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
diff --git a/mcu/driver/audio/lib/MTKINC/g729_exp.h b/mcu/driver/audio/lib/MTKINC/g729_exp.h
new file mode 100644
index 0000000..9adf86c
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g729_exp.h
@@ -0,0 +1,94 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2008
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g729_exp.h
+ *
+ * Project:
+ * --------
+ *
+ *
+ * Description:
+ * ------------
+ * G729 codec interface API
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *------------------------------------------------------------------------------
+ * $Revision:$ 1.0.0
+ * $Modtime:$
+ * $Log:$
+ *
+ * 04 16 2013 scholar.chang
+ * [WCPSP00000711] [Audio][SWIP][G Series]Modification Check-In
+ * .
+ *
+ * 09 24 2010 lanus.chao
+ * [WCPSP00000520] Remove g711plc, g726, g729, and g7231 assert functions
+ * .
+ *
+ *
+ *******************************************************************************/
+
+#ifndef __G729_CODEC_DOT_H__
+#define __G729_CODEC_DOT_H__
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+#include "g_series_exp.h"
+
+#define G729_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+
+typedef struct {
+ int VAD_enable;
+ int CNG_enable;
+} G729_Enc_Init_Param;
+
+int G729_Enc_Set_Handle(G_Series_Handle *p_handle);
+int G729_Dec_Set_Handle(G_Series_Handle *p_handle);
+int G729B_Get_VAD(G_Series_Handle *p_handle, void *p_temp_buffer, short *speech_in);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
diff --git a/mcu/driver/audio/lib/MTKINC/g_series_exp.h b/mcu/driver/audio/lib/MTKINC/g_series_exp.h
new file mode 100644
index 0000000..57b000c
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g_series_exp.h
@@ -0,0 +1,138 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g_series_exp.h
+ *
+ * Project:
+ * --------
+ * SWIP
+ *
+ * Description:
+ * ------------
+ * G series codec common header file.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __G_SERIES_EXP_H__
+#define __G_SERIES_EXP_H__
+#ifndef NULL
+#define NULL 0
+#endif
+
+typedef struct G_Series_Struct G_Series_Handle;
+
+struct G_Series_Struct{
+ /*
+ Get required buffer size for G series codec engine
+ internal_buffer_size : output, the required internal buffer size (unit: byte)
+ temp_buffer_size : output, the required temp buffer size (unit: byte)
+ pcm_buffer_size : output, the required PCM buffer size (unit: byte)
+ bitstream_buffer_size : output, the required bitstream buffer size (unit: byte)
+ */
+ void (*GetBufferSize)( unsigned int *internal_buffer_size ,
+ unsigned int *temp_buffer_size ,
+ unsigned int *pcm_buffer_size ,
+ unsigned int *bitstream_buffer_size);
+
+ /*
+ Initialize and enable G series codec engine
+ p_handle : input, handle of current G series codec engine
+ p_internal_buffer : input, buffer allocated by application for G series
+ codec engine internal use
+ p_temp_buffer : input, buffer allocated by application for G series
+ codec engine temporarily use
+ p_init_param : input, pointer to the data that contains parameters
+ for initialization of G series codec enigne
+ */
+ int (*Init)( G_Series_Handle *p_handle,
+ void *p_internal_buffer,
+ void *p_temp_buffer,
+ const void *p_init_param);
+
+ /*
+ Process data from input buffer to output buffer
+ pHandle : input, handle of current G series codec engine
+ p_temp_buffer : input, buffer allocated by application for G series
+ codec engine temporarily use
+ p_pcm_buffer : input, pointer to PCM data buffer
+ pcm_buffer_size : input, size of the PCM buffer (unit: byte)
+ output, size of the consumed / produced PCM buffer (unit: byte)
+ p_bitstream_buffer : input, pointer to bitstream buffer
+ bitstream_buffer_size : input, size of the bitstream buffer (unit: byte)
+ output, size of the consumed / produced bitstream buffer (unit: byte)
+ p_runtime_param : input, pointer to the data that contains parameters
+ for runtime usage of G series codec enigne
+ */
+ int (*Process)( G_Series_Handle *p_handle,
+ void *p_temp_buffer,
+ short *p_pcm_buffer,
+ int *pcm_buffer_size,
+ unsigned char *p_bitstream_buffer,
+ int *bitstream_buffer_size,
+ const void *p_runtime_param);
+
+ /*
+ Get the version of the G series codec engine
+ */
+ int (*GetVersion)(void);
+
+ void *p_internal_handle;
+};
+
+#endif // __G_SERIES_EXP_H__
+
diff --git a/mcu/driver/audio/lib/MTKINC/g_series_union.h b/mcu/driver/audio/lib/MTKINC/g_series_union.h
new file mode 100644
index 0000000..442cbf5
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/g_series_union.h
@@ -0,0 +1,109 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * g_series_union.h
+ *
+ * Project:
+ * --------
+ * SWIP
+ *
+ * Description:
+ * ------------
+ * G series codec structure union header file.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __G_SERIES_UNION_H__
+#define __G_SERIES_UNION_H__
+
+#include "awb_exp.h"
+#include "g711plc_exp.h"
+#include "g711_exp.h"
+#include "g722_exp.h"
+#include "g726_exp.h"
+#include "g729_exp.h"
+#include "g7231_exp.h"
+
+typedef union {
+ AWB_Enc_Init_Param awb_enc_init_param;
+ G722_Dec_Init_Param g722_dec_init_param;
+ G726_Enc_Init_Param g726_enc_init_param;
+ G726_Dec_Init_Param g726_dec_init_param;
+ G729_Enc_Init_Param g729_enc_init_param;
+ G7231_Enc_Init_Param g7231_enc_init_param;
+} G_Series_Init_Param;
+
+typedef union {
+ AWB_Enc_Runtime_Param awb_enc_runtime_param;
+ G711PLC_Dec_Runtime_Param g711plc_dec_runtime_param;
+ G722_Dec_Runtime_Param g722_dec_runtime_param;
+ G726_Enc_Runtime_Param g726_enc_runtime_param;
+ G7231_Enc_Runtime_Param g7231_enc_runtime_param;
+} G_Series_Runtime_Param;
+
+// #define G711_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+// #define G711_PLC_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+// #define G7231_30MS_PCM_FRAME_SIZE_IN_BYTES 480
+// #define G729_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+// #define G726_10MS_PCM_FRAME_SIZE_IN_BYTES 160
+// #define G722_10MS_PCM_FRAME_SIZE_IN_BYTES 320
+// #define G722_20MS_PCM_FRAME_SIZE_IN_BYTES 640
+// #define AMRWB_20MS_PCM_FRAME_SIZE_IN_BYTES 640
+
+#endif // __G_SERIES_UNION_H__
+
diff --git a/mcu/driver/audio/lib/MTKINC/msbc_codec_exp.h b/mcu/driver/audio/lib/MTKINC/msbc_codec_exp.h
new file mode 100644
index 0000000..1ab9baf
--- /dev/null
+++ b/mcu/driver/audio/lib/MTKINC/msbc_codec_exp.h
@@ -0,0 +1,76 @@
+/******************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2006
+*
+******************************************************************************/
+
+/******************************************************************************
+* Filename:
+* ---------
+* msbc_codec_exp.h
+*
+* Project:
+* --------
+* BT
+*
+* Description:
+* ------------
+*
+* This header file contains the type definitions and functions of voice encoder
+*
+*
+* Author:
+* -------
+ * -------
+*
+*******************************************************************************/
+
+#ifndef _MSBC_CODEC_EXP_H_
+#define _MSBC_CODEC_EXP_H_
+
+#define MSBC_PCM_LEN_IN_SAMPLE 120
+#define MSBC_BITSTREAM_LEN_IN_BYTE 57
+
+typedef char Word8;
+typedef short Word16;
+typedef int Word32;
+typedef unsigned int UWord32;
+
+#define MSBC_DECODE_ERROR (-1)
+#define MSBC_DECODE_SYNCWORD_ERROR (-2)
+#define MSBC_DECODE_CRC_ERROR_ (-3)
+#define MSBC_DECODE_HEADER_ERROR (-4)
+#define MSBC_BUFFER_INCORRECT (-5)
+
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+int MSBC_DEC_Process(
+ void *pHandle, //handle
+ char *pInBuf, //input MSBC packet
+ int *pInLen, //input length (Byte)
+ short *pOutBuf, //output Sample
+ int *pOutLen //output length (Word)
+);
+
+int MSBC_ENC_Process(
+ void *pHandle, //handle
+ short *pInBuf, //input Samples
+ int *pInLen, //input length (word)
+ char *pOutBuf, //MSBC packet
+ int *pOutLen //output Length (byte)
+);
+
+int MSBC_DEC_GetBufferSize( void );
+int MSBC_ENC_GetBufferSize( void );
+void *MSBC_DEC_Init(char *pBuffer );
+void *MSBC_ENC_Init(char *pBuffer );
+
+#endif
+