[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(&param1,&param2,&param3);\
+   CODEC_ENTRY(&param1,&param2,&param3);\
+   param1 = AUDIP_VALUE6;\
+   param2 = AUDIP_VALUE0;\
+   param3 = AUDIP_VALUE3;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   CODEC_ENTRY(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE2 )\
+      AUDIP_DEF();\
+   param1 = param2 + param3;\
+   param2 = param1*param3;\
+   SYSTEM_SETUP(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE1 )\
+      AUDIP_DEF();\
+   SYSTEM_EXCLUSIVE(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE4 )\
+      DRVTST(&param1,&param2,&param3);\
+   param1 = AUDIP_VALUE1;\
+   param2 = AUDIP_VALUE3;\
+   param3 = AUDIP_VALUE5;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   AUDIP_REFERENCE(&param1,&param2,&param3);\
+}
+
+#define MELODY_DRVENTRY() \
+{\
+   int param1, param2, param3;\
+   param1 = AUDIP_VALUE3;\
+   param2 = AUDIP_VALUE1;\
+   param3 = AUDIP_VALUE0;\
+   AUDIP_REFERENCE(&param1,&param2,&param3);\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   SYSTEM_COMMON(&param1,&param2,&param3);\
+   param1 = AUDIP_VALUE7;\
+   param2 = AUDIP_VALUE0;\
+   param3 = AUDIP_VALUE5;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   SYSTEM_EXCLUSIVE(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE5 )\
+      AUDIP_DEF();\
+   if( param3!= AUDIP_VALUE3 )\
+      DRVSET(&param1,&param2,&param3);\
+   param3 = param2 - param3;\
+   param2 = param1*param3;\
+   SYSTEM_SPECIFIC(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE4 )\
+      AUDIP_DEF();\
+   param1 = AUDIP_VALUE7;\
+   param2 = AUDIP_VALUE6;\
+   param3 = AUDIP_VALUE5;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+}
+
+#define IPCOMMON_FUNC() \
+{\
+   int param1, param2, param3;\
+   param1 = AUDIP_VALUE1;\
+   param2 = AUDIP_VALUE2;\
+   param3 = AUDIP_VALUE3;\
+   DRVTST(&param1,&param2,&param3);\
+   DRVSET(&param1,&param2,&param3);\
+   param1 = AUDIP_VALUE4;\
+   param2 = AUDIP_VALUE0;\
+   param3 = AUDIP_VALUE1;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   SEQSTRM(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE6 )\
+      AUDIP_DEF();\
+   param2++;\
+   param3 = param2<<1;\
+   param1 &= 0xFF;\
+   if( param1!= AUDIP_VALUE1 )\
+      SYSTEM_COMMON(&param1,&param2,&param3);\
+   SYSTEM_EXCLUSIVE(&param1,&param2,&param3);\
+   AUDIP_REFERENCE(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE5 )\
+      AUDIP_DEF();\
+   param1 = AUDIP_VALUE4;\
+   param2 = AUDIP_VALUE5;\
+   param3 = AUDIP_VALUE6;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+}
+
+#define AUDIP_COMMON() \
+{\
+   int param1, param2, param3;\
+   param1 = AUDIP_VALUE1;\
+   param2 = AUDIP_VALUE2;\
+   param3 = AUDIP_VALUE3;\
+   DRVTST(&param1,&param2,&param3);\
+   DRVSET(&param1,&param2,&param3);\
+   param1 = AUDIP_VALUE4;\
+   param2 = AUDIP_VALUE0;\
+   param3 = AUDIP_VALUE1;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   STREAM_ENTRY(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE3 )\
+      AUDIP_DEF();\
+   AUDIP_REFERENCE(&param1,&param2,&param3);\
+   param2++;\
+   param3 = param2<<1;\
+   param1 &= 0xFF;\
+   SYSTEM_EXCLUSIVE(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE5 )\
+      AUDIP_DEF();\
+   param1 = AUDIP_VALUE1;\
+   param2 = AUDIP_VALUE2;\
+   param3 = AUDIP_VALUE3;\
+   AUDIP_ENTRY(&param1,&param2,&param3);\
+   SYNSTRM(&param1,&param2,&param3);\
+   if( param2!= AUDIP_VALUE0 )\
+      STREAM_ENTRY(&param1,&param2,&param3);\
+}
+
+/*{\
+    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
+