[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/cp/ps/plat/inc/msp/zte_audio.h b/cp/ps/plat/inc/msp/zte_audio.h
new file mode 100644
index 0000000..35db9d5
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_audio.h
@@ -0,0 +1,118 @@
+/************************************************************
+*************************************************************
+ MSP±¾µØÒôƵ²¥·ÅºÍ¼Òô¶ÔÍâ½Ó¿ÚÍ·Îļþ
+*************************************************************
+************************************************************/
+
+#ifndef ZTE_AUDIO_H
+#define ZTE_AUDIO_H
+
+#ifndef FOR_2960
+#include "mm_error.h"
+#endif
+#include "msm_type.h"
+#include "mm_def.h"
+#include "zte_display.h"
+
+typedef VOID (*MSP_NOTIFY_ERROR) (MM_MODULE_ID_E uiModule, DWORD dwParam);
+typedef VOID (*MSP_NOTIFY_END) (MM_MODULE_ID_E uiModule);
+
+typedef enum
+{
+ dd_volume_lev_0,
+ dd_volume_lev_1,
+ dd_volume_lev_2,
+ dd_volume_lev_3,
+ dd_volume_lev_4,
+ dd_volume_lev_5,
+}VOLUME_DD_level;
+
+typedef enum
+{
+ DD_RECEIVER = 1,
+ DD_SPEAKER,
+ DD_HEADPHONE,
+ DD_SPEAKER_AND_HEADPHONE,
+ DD_BLUETOOTH_PHONE,
+}DD_CODEC_PATHOUT;
+
+SINT32 Msp_SetEndCallback(MSP_NOTIFY_END EndCallbackFunc);
+SINT32 Msp_SetErrorCallback(MSP_NOTIFY_ERROR ErrorCallbackFunc);
+
+AUDIO_RESULT_E Audio_Init(void);
+
+AUDIO_RESULT_E Audio_Release(void);
+
+FILE_HANDLE Audio_Open_File(unsigned char *filename);
+
+AUDIO_RESULT_E Audio_Close(FILE_HANDLE handle);
+
+AUDIO_RESULT_E PLAYER_AUDIO_StartPlay(FILE_HANDLE handle, unsigned long offset, unsigned short play_times);
+
+AUDIO_RESULT_E Audio_StopPlay(FILE_HANDLE handle);
+
+AUDIO_RESULT_E Audio_PausePlay(FILE_HANDLE handle);
+
+AUDIO_RESULT_E Audio_ResumePlay(FILE_HANDLE handle);
+
+
+AUDIO_RESULT_E Audio_GetCurTime(FILE_HANDLE handle, long *curtime);
+
+AUDIO_RESULT_E Audio_GetTotalTime(FILE_HANDLE handle, unsigned long *totaltime);
+
+AUDIO_RESULT_E Audio_Seek(FILE_HANDLE handle, unsigned long offset);
+
+
+AUDIO_RESULT_E Audio_Mute(FILE_HANDLE handle, BOOL enable_mute);
+
+AUDIO_RESULT_E Audio_Volume_Get(FILE_HANDLE handle, AUDIO_VOLUME_LEVEL_E *volume_level);
+
+AUDIO_RESULT_E Audio_Volume_Set(FILE_HANDLE handle, AUDIO_VOLUME_LEVEL_E volume_level);
+
+
+AUDIO_RESULT_E Audio_ChannelOut_Set(FILE_HANDLE handle, AUDIO_CHANNEL_OUT_E channel);
+
+/*
+AUDIO_RESULT_E Audio_Effect3D_Set(FILE_HANDLE handle,UINT8 *enable);
+
+AUDIO_RESULT_E Audio_EQmode_Set(FILE_HANDLE handle,MM_AUDIO_EQMODE_E audioEqMode);
+
+AUDIO_RESULT_E Audio_GetAuthorInfo(FILE_HANDLE handle, MP3_ID3_INFO_T *info);
+
+AUDIO_RESULT_E Audio_GetFileInfo(FILE_HANDLE handle, T_MM_AUDIO_PLAY_INFO *info);
+*/
+
+DRECORDER_RETURN_E REC_Open(BOOL record_in_cc, SINT32 uiVoiceFd);
+
+DRECORDER_RETURN_E REC_Close(void);
+
+RECORD_HANDLE REC_StartRecord(AUDIORECORDER_START_RECORD_T *record_param);
+
+DRECORDER_RETURN_E REC_StopRecord(RECORD_HANDLE handle);
+
+DRECORDER_RETURN_E REC_PauseRecord(RECORD_HANDLE handle);
+
+DRECORDER_RETURN_E REC_ResumeRecord(FILE_HANDLE handle);
+
+DRECORDER_RETURN_E REC_GetCurTime(UINT32 *cur_time, FILE_HANDLE handle);
+
+
+/*LFX 20090507 for tone play begin*/
+AUDIO_RESULT_E Tone_Play(char toneID, char volume_level, char Priority);
+
+AUDIO_RESULT_E Tone_Stop(char toneID, char stop_type);
+/*LFX 20090507 for tone play end*/
+
+/* zhanghaoting add for 2960 tone 2009-08-14 */
+#ifdef FOR_2960
+extern void Audio_Open_Tone(VOID);
+
+extern void Audio_Play_Tone(T_MM_TONE_PARAM *ptParam);
+
+extern void Audio_Stop_Tone(VOID);
+
+extern void Audio_Close_Tone(VOID);
+#endif
+/* zhanghaoting add for 2960 tone 2009-08-14 end */
+
+#endif
diff --git a/cp/ps/plat/inc/msp/zte_dc.h b/cp/ps/plat/inc/msp/zte_dc.h
new file mode 100644
index 0000000..0648fed
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_dc.h
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * °æ±¾ËùÓÐ (C)2008ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
+ * Ä£¿éÃû £º
+ * ʵÏÖ¹¦ÄÜ £º
+ * ×÷Õß £º
+ * °æ±¾ £º
+ * Íê³ÉÈÕÆÚ £º
+ * ÆäËü˵Ã÷ £º MSPÅÄÕÕ¶ÔÍâ½Ó¿ÚÍ·Îļþ
+ * ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+ * ---------------------------------------------------------------------
+ * 2008/08/01 V1.0 XXXX XXXX
+************************************************************************/
+#ifndef ZTE_DC_H
+#define ZTE_DC_H
+
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+#include "zte_display.h"
+
+/**************************************************************************
+ * ºê *
+ **************************************************************************/
+
+
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+/*³ß´ç*/
+typedef struct
+{
+ UINT16 dwWidth;
+ UINT16 dwHeight;
+}CAM_SIZE;
+typedef struct
+{
+ LCD_ID_E lcd_id;
+ APP_PREVIEW_E previewtype;
+ DCAMERA_SENSOR_E sensor;
+ RECT_T disp_rect; // ÏÔÊ¾ÇøÓò
+ EFFECT_TYPE_E effect; //ÌØÊâЧ¹û
+ ZOOM_LEVEL_E zoomlevel; //Ëõ·Åˮƽ
+ MAN_ROTATE_TYPE rotation_mode; // Ðýת½Ç¶È
+ BRITENESS_E brightness; //ÁÁ¶È
+ CONTRAST_E contrastness; //¶Ô±È¶È
+ CAPTURE_MODE_E mode; //ģʽ
+ CAM_SIZE resolution; //·Ö±çÂÊ
+ QUALITY_MODE_E quality; //ÖÊÁ¿
+ WHITEBALANCE_MODE_E whitebalance; //°×ƽºâ
+ MIRROR_PARAM_T mirror; //¾µÏñ
+}PREVIEW_PARAM_T;
+
+typedef struct
+{
+ UINT8 *data_buffer;
+ UINT32 data_length;
+ CHAR *data_display_ptr; //ÔÚLCDÉÏÏÔʾµÄbufferÖ¸Õë
+ BOOL flash_enable; //ÊÇ·ñÉÁ¹â
+ UINT16 photonumber;
+}SNAPSHOT_PARAM_T;
+
+typedef struct
+{
+ UINT8 *data_buffer;
+ UINT32 data_length;
+ CHAR *data_display_ptr; //ÔÚLCDÉÏÏÔʾµÄbufferÖ¸Õë
+ RECT_T display_rect; // ÏÔʾÕÕÆ¬ÇøÓò
+ MAN_ROTATE_TYPE rotation_mode; // Ðýת½Ç¶È
+}REVIEW_PARAM_T;
+
+typedef struct
+{
+ UINT8 *buf_ptr; //Êý¾ÝÖ¸Õë
+ UINT16 color; //͸Ã÷É«
+}FRAME_PARAM_T;
+
+/**************************************************************************
+ * º¯ÊýÔÐÍ *
+ **************************************************************************/
+DCAMERA_RETURN_VALUE_E DC_Open(DCAMERA_SENSOR_E param);
+
+DCAMERA_RETURN_VALUE_E DC_Close(void);
+
+DCAMERA_RETURN_VALUE_E DC_Startpreview(PREVIEW_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E DC_Stoppreview(void);
+
+DCAMERA_RETURN_VALUE_E DC_CaptureOne(SNAPSHOT_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E DC_PhotoReview(REVIEW_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E DC_SetRotate(MAN_ROTATE_TYPE param);
+
+DCAMERA_RETURN_VALUE_E DC_SetZoom(ZOOM_LEVEL_E param);
+
+DCAMERA_RETURN_VALUE_E DC_SetBright(BRITENESS_E level);
+
+DCAMERA_RETURN_VALUE_E DC_SetContrast(CONTRAST_E level);
+
+DCAMERA_RETURN_VALUE_E DC_SetEffect(EFFECT_TYPE_E effect);
+
+DCAMERA_RETURN_VALUE_E DC_SetCaputureMode(CAPTURE_MODE_E mode);
+
+DCAMERA_RETURN_VALUE_E DC_SetFrame(FRAME_PARAM_T *frame);
+
+DCAMERA_RETURN_VALUE_E DC_SetWhiteBalance(WHITEBALANCE_MODE_E param);
+
+DCAMERA_RETURN_VALUE_E DC_SetResolution(CAM_SIZE *param);
+
+DCAMERA_RETURN_VALUE_E DC_SetQuality(QUALITY_MODE_E param);
+
+DCAMERA_RETURN_VALUE_E DC_SetMirror(MIRROR_PARAM_T *param);
+
+#endif
diff --git a/cp/ps/plat/inc/msp/zte_dv.h b/cp/ps/plat/inc/msp/zte_dv.h
new file mode 100644
index 0000000..0f08bb5
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_dv.h
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * °æ±¾ËùÓÐ (C)2008ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
+ * Ä£¿éÃû £º
+ * ʵÏÖ¹¦ÄÜ £º
+ * ×÷Õß £º
+ * °æ±¾ £º
+ * Íê³ÉÈÕÆÚ £º
+ * ÆäËü˵Ã÷ £ºMSPÉãÏñ¶ÔÍâ½Ó¿ÚÍ·Îļþ
+ * ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+ * ---------------------------------------------------------------------
+ * 2008/08/01 V1.0 XXXX XXXX
+************************************************************************/
+#ifndef ZTE_DV_H
+#define ZTE_DV_H
+
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+#include "zte_display.h"
+/**************************************************************************
+ * ºê *
+ **************************************************************************/
+
+
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+typedef enum
+{
+ VIDEO_MIC = 1,
+ VIDEO_HEADSET
+}VIDEO_CODEC_PATH;
+
+typedef enum
+{
+ FILE_3GP,
+ FILE_MP4
+}VIDEO_FILE_TYPE;
+
+typedef enum
+{
+ DV_TYPE,
+ VIDEO_TYPE,
+ STREAM_TYPE,
+ VT_TYPE
+}DV_APP_TYPE;
+
+typedef struct
+{
+ CHAR *savefile_path;
+ VIDEO_CODEC_PATH codec_path;
+ RECT_T rec_rect;
+ MIRROR_PARAM_T mirror;
+ MAN_ROTATE_TYPE rotate;
+ QUALITY_MODE_E quality;
+ UINT32 maxStreamSize;
+ BOOL audioenable;
+ EFFECT_TYPE_E effect;
+ VIDEO_FILE_TYPE filetype;
+}DV_RECORD_START_PARAM_T;
+
+/**************************************************************************
+ * º¯ÊýÔÐÍ *
+ **************************************************************************/
+DCAMERA_RETURN_VALUE_E DV_Open(DCAMERA_SENSOR_E param);
+
+DCAMERA_RETURN_VALUE_E DV_Close(void);
+
+DCAMERA_RETURN_VALUE_E DV_StartRecord(DV_RECORD_START_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E DV_StopRecord(void);
+
+DCAMERA_RETURN_VALUE_E DV_PauseRecord(void);
+
+DCAMERA_RETURN_VALUE_E DV_ResumeRecord(void);
+
+DCAMERA_RETURN_VALUE_E DV_SetRotate(MAN_ROTATE_TYPE param);
+
+DCAMERA_RETURN_VALUE_E DV_SetZoom(ZOOM_LEVEL_E param);
+
+DCAMERA_RETURN_VALUE_E DV_SetBright(BRITENESS_E level);
+
+DCAMERA_RETURN_VALUE_E DV_SetContrast(CONTRAST_E level);
+
+DCAMERA_RETURN_VALUE_E DV_SetEffect(EFFECT_TYPE_E effect);
+
+DCAMERA_RETURN_VALUE_E DV_GetFileSize(UINT32 *length);
+
+DCAMERA_RETURN_VALUE_E DV_GetCurTime(UINT32 *uitime);
+
+#endif
diff --git a/cp/ps/plat/inc/msp/zte_osd.h b/cp/ps/plat/inc/msp/zte_osd.h
new file mode 100644
index 0000000..ccfd77b
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_osd.h
@@ -0,0 +1,119 @@
+/************************************************************************
+* °æÈ¨ËùÓÐ(C)2007,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+* Ä£¿éÃû £º OSD²Ù×÷Ä£¿é
+* ÎļþÃû³Æ£º zte_osd.h
+* Îļþ±êʶ£º
+* ÄÚÈÝÕªÒª£º ´ËÎļþÊÇMSP¶ÔÍâÌṩµÄÍ·Îļþ
+*
+* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+* ----------------------------------------------------------------------
+* 2009/3/25 1.0 ³ÂÓÐöÎ
+************************************************************************/
+
+#ifndef ZTE_OSD_H
+#define ZTE_OSD_H
+
+#ifdef __cplusplus
+ extern "C"
+ {
+#endif
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+//#include "pub.h"
+/**************************************************************************
+ * ³£Á¿ *
+ **************************************************************************/
+
+/**************************************************************************
+ * ºê¶¨Òå *
+ **************************************************************************/
+
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+
+/**************************************************************************
+ * ÀàÉùÃ÷ £¨¶ÔÓÚCÓïÑÔµÄÍ·Îļþ£¬¿É²Ã¼ô£© *
+ **************************************************************************/
+
+/**************************************************************************
+ * Ä£°å £¨¶ÔÓÚCÓïÑÔµÄÍ·Îļþ£¬¿É²Ã¼ô£© *
+ **************************************************************************/
+
+/**************************************************************************
+ * È«¾Ö±äÁ¿ÉùÃ÷ *
+ **************************************************************************/
+
+/**************************************************************************
+ * È«¾Öº¯ÊýÔÐÍ *
+ **************************************************************************/
+
+/**
+ * º¯ÊýÃû³Æ£º Zte_SetTransformColor
+ * ¹¦ÄÜÃèÊö£º OSDÄ£¿é͸Ã÷É«ºÍ͸Ã÷¶ÈÉèÖÃ
+ * ²ÎÊý˵Ã÷£º (IN) uiTransColoor: ͸Ã÷É«
+ uiAlpha : ͸Ã÷¶È
+ * ·µ »Ø Öµ£º ÎÞ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+VOID Zte_SetLcdFd(UINT32 uiLcdFd);
+
+
+/**
+ * º¯ÊýÃû³Æ£º Zte_SetTransformColor
+ * ¹¦ÄÜÃèÊö£º OSDÄ£¿é͸Ã÷É«ºÍ͸Ã÷¶ÈÉèÖÃ
+ * ²ÎÊý˵Ã÷£º (IN) uiTransColoor: ͸Ã÷É«
+ uiAlpha : ͸Ã÷¶È
+ * ·µ »Ø Öµ£º ÎÞ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+VOID Zte_SetTransformColor(UINT16 uiTransColoor, UINT8 uiAlpha);
+
+
+/**
+ * º¯ÊýÃû³Æ£º Zte_SetScreenSize
+ * ¹¦ÄÜÃèÊö£º ÉèÖÃÆÁÄ»¿í¸ß
+ * ²ÎÊý˵Ã÷£º (IN) uiWidth : ¿í¶È
+ uiHeight: ¸ß¶È
+ * ·µ »Ø Öµ£º ÎÞ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+VOID Zte_SetScreenSize(UINT32 uiWidth, UINT32 uiHeight);
+
+/**
+ * º¯ÊýÃû³Æ£º Zte_GuiDestroyUpdateScreenThread
+ * ¹¦ÄÜÃèÊö£º ³õʼ»¯Ê±´´½¨µÄË¢ÐÂÏ̵߳ĽӿÚ
+ * ²ÎÊý˵Ã÷£º (IN) priority ÐèÒª´´½¨Ï̵߳ÄÓÅÏȼ¶
+ * (IN) stack_size ÐèÒªµÄÕ»¿Õ¼ä´óС
+ * (IN) LcdFd LCDµÄÉ豸¾ä±ú
+ * (IN) pBuffer LCDµÄÉ豸ÏÔ´æ
+ * ·µ »Ø Öµ£º BOOL FALSE: ´´½¨Ê§°ÜºÍÈë²Î´íÎó
+ * TRUE: ´´½¨³É¹¦
+ * ÆäËü˵Ã÷£º Õâ¸öº¯ÊýÔÚGUI³õʼ»¯Ê±µ÷Ó㬵«ÒªÔڳɹ¦´ò¿ªLCDÉ豸֮ºó£¬¾Í·ÅÔÚsystem_initializeº¯ÊýµÄ×îºóÃæ
+ */
+BOOL Zte_GuiCreateUpdateScreenThread(UINT32 priority, UINT32 stack_size, VOID *pBuffer);
+
+
+/**
+ * º¯ÊýÃû³Æ£º Zte_GuiUpdateScreenRect
+ * ¹¦ÄÜÃèÊö£º GUIË¢ÆÁ֪ͨº¯Êý
+ * ²ÎÊý˵Ã÷£º (IN) left ¾Ö²¿Ë¢ÐÂµÄÆðʼx×ø±ê
+ * (IN) top ¾Ö²¿Ë¢ÐÂµÄÆðʼy×ø±ê
+ * (IN) right ¾Ö²¿Ë¢ÐµÄÖÕÖ¹x×ø±ê
+ * (IN) bottom ¾Ö²¿Ë¢ÐµÄÖÕÖ¹y×ø±ê
+ * (IN) pAlphaTable ÓÉMMIÉèÖõÄ͸Ã÷¶È±í£¬´óСΪ240*320¡£Ö»ÓÐÔÚOSD״̬ÏÂÓÐЧ
+ * Õý³£×´Ì¬Îª¿Õ
+ * ·µ »Ø Öµ£º ÎÞ
+ * ÆäËü˵Ã÷£º Õâ¸öº¯ÊýÔÚprimaryUpdateRegionÖÐʹÓÃ,Ìæ»»µô֮ǰˢÆÁµÄ²¿·Ö.
+ */
+VOID Zte_GuiUpdateScreenRect(UINT32 left, UINT32 top, UINT32 right, UINT32 bottom, unsigned char *pAlphaTable);
+
+
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif
+
diff --git a/cp/ps/plat/inc/msp/zte_pcm.h b/cp/ps/plat/inc/msp/zte_pcm.h
new file mode 100644
index 0000000..712baaf
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_pcm.h
@@ -0,0 +1,154 @@
+/************************************************************************
+ * °æÈ¨ËùÓÐ (C)2007,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+ * Ä£¿éÃû £º PCMÊý¾ÝÒôƵ²¥·ÅÄ£¿é
+ * ÎļþÃû³Æ£º Zte_pcmdriver.h
+ * Îļþ±êʶ£º
+ * ÄÚÈÝÕªÒª£º Ö÷Òª¶¨ÒåPCMÊý¾ÝÒôƵ²¥·ÅÄ£¿éµÄºê¶¨Òå¡¢³£Á¿¡¢È«¾Ö±äÁ¿ÒÔ¼°º¯ÊýµÄÉùÃ÷
+ * ´Ë½Ó¿ÚÖ÷ÒªÊÇÓÃÓڹ̶¨Ì¨ÓïÒô²¥±¨
+ *
+ * ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+ * ----------------------------------------------------------------------
+ * 2010/01/13 1.0 Âíΰ ´´½¨
+ ************************************************************************/
+
+#ifndef ZTE_PCMDRIVER_H
+#define ZTE_PCMDRIVER_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+
+/**************************************************************************
+ * ³£Á¿ *
+ **************************************************************************/
+typedef enum
+{
+ PCM_MONO_CHANNEL,
+ PCM_DUAL_CHANNEL
+}DD_PCM_CHANNEL;
+
+typedef enum
+{
+ PCM_VOL_LEV_0,
+ PCM_VOL_LEV_1,
+ PCM_VOL_LEV_2,
+ PCM_VOL_LEV_3,
+ PCM_VOL_LEV_4,
+ PCM_VOL_LEV_5
+}DD_PCM_VOL_LEVEL;
+
+typedef enum
+{
+ DD_PCM_OUTPUT_RECEIVER = 1, /* ÌýͲ */
+ DD_PCM_OUTPUT_SPEAKER, /* ÑïÉùÆ÷ */
+ DD_PCM_OUTPUT_HEADPHONE, /* ¶ú»ú */
+ DD_PCM_OUTPUT_SPEAKER_HEADPHONE, /* ÑïÉùÆ÷ºÍ»°Í² */
+ DD_PCM_OUTPUT_BLUETOOTH /* À¶ÑÀ */
+}DD_PCM_CHANNEL_OUTPUT;
+
+typedef enum
+{
+ DD_PCMRATE_8_KHZ = 0,
+ DD_PCMRATE_11_KHZ,
+ DD_PCMRATE_16_KHZ,
+ DD_PCMRATE_44_1_KHZ,
+ DD_PCMRATE_UNKNOW
+}DD_PCM_SAMPLERATE;
+
+/**************************************************************************
+ * ºê¶¨Òå *
+ **************************************************************************/
+
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+typedef struct PCM_PLAY_PARAM_
+{
+ DD_PCM_CHANNEL eChannel;
+ DD_PCM_VOL_LEVEL eVol;
+ DD_PCM_CHANNEL_OUTPUT eChannelOutput;
+ DD_PCM_SAMPLERATE eSampleRate;
+}PCM_PLAY_PARAM;
+
+
+/**************************************************************************
+ * È«¾Ö±äÁ¿ÉùÃ÷ *
+ **************************************************************************/
+
+/**************************************************************************
+ * È«¾Öº¯ÊýÔÐÍ *
+ **************************************************************************/
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Init
+ * ¹¦ÄÜÃèÊö£º PCMÒôƵģ¿é³õʼ»¯
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ´ò¿ªÉ豸³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º
+ */
+SINT32 PCM_Audio_Init(void);
+
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Release
+ * ¹¦ÄÜÃèÊö£º ÊÍ·ÅPCMÒôƵģ¿é
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ÊÍ·ÅÉ豸³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º
+ */
+SINT32 PCM_Audio_Release(void);
+
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Open_Buffer
+ * ¹¦ÄÜÃèÊö£º ´ò¿ªPCMÊý¾Ýbuffer
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º
+ */
+SINT32 PCM_Audio_Open_Buffer(PCM_PLAY_PARAM tPcmPlayParam, VOID *pPcmBuffer, UINT32 uiBufSize);
+
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Play
+ * ¹¦ÄÜÃèÊö£º PCMÊý¾Ý¿ªÊ¼²¥·Å
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º Óë³õʼ»¯º¯Êý³É¶ÔʹÓÃ
+ */
+SINT32 PCM_Audio_Play(UINT32 uiOffset, UINT32 uiRepeatCount);
+
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Data_Input
+ * ¹¦ÄÜÃèÊö£º PCMÊý¾ÝÊäÈë
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º Óë³õʼ»¯º¯Êý³É¶ÔʹÓÃ
+ */
+SINT32 PCM_Audio_Data_Input(VOID *pDataBuf, UINT32 uiDataLen);
+
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Stop
+ * ¹¦ÄÜÃèÊö£º PCMÊý¾ÝÍ£Ö¹²¥·Å
+ * ²ÎÊý˵Ã÷£º (IN)ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º
+ */
+SINT32 PCM_Audio_Stop(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º PCM_Audio_Close
+ * ¹¦ÄÜÃèÊö£º PCMÒôƵ²¥·ÅÄ£¿é¹Ø±Õ
+ * ²ÎÊý˵Ã÷£º (IN)ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»Ø0;·ñÔò·µ»Ø-1¡£
+ * ÆäËü˵Ã÷£º
+ */
+SINT32 PCM_Audio_Close(VOID);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZTE_PCMDRIVER_H */
+
diff --git a/cp/ps/plat/inc/msp/zte_stream.h b/cp/ps/plat/inc/msp/zte_stream.h
new file mode 100644
index 0000000..b792199
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_stream.h
@@ -0,0 +1,183 @@
+/************************************************************************
+ * °æÈ¨ËùÓÐ (C)2007,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+ * Ä£¿éÃû £º Á÷ýÌåÄ£¿é
+ * ÎļþÃû³Æ£º Zte_stream.h
+ * Îļþ±êʶ£º
+ * ÄÚÈÝÕªÒª£º Ö÷Òª¶¨ÒåÁ÷ýÌåÄ£¿éµÄºê¶¨Òå¡¢³£Á¿¡¢È«¾Ö±äÁ¿ÒÔ¼°º¯ÊýµÄÉùÃ÷
+ *
+ * ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+ * ----------------------------------------------------------------------
+ * 2009/06/08 1.0 ½¯±¾±ø ´´½¨
+ ************************************************************************/
+
+#ifndef ZTE_STREAM_H
+#define ZTE_STREAM_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+
+/**************************************************************************
+ * ³£Á¿ *
+ **************************************************************************/
+typedef enum
+{
+ DD_STREAMING_NONE = 0,
+ DD_STREAMING_MP3 = 0x80,
+ DD_STREAMING_MIDI,
+ DD_STREAMING_ONE,
+ DD_STREAMING_AMR_NB,
+ DD_STREAMING_AAC,
+ DD_STREAMING_DRA,
+ DD_STREAMING_UNKNOW
+}DD_STEAMING_AUDIO;
+
+/**************************************************************************
+ * ºê¶¨Òå *
+ **************************************************************************/
+
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+
+
+typedef struct _DD_AUDIO_STREAM_AAC_PARAM_
+{
+ UINT32 headerLength;
+ UINT8 *headerAddr;
+}DD_AUDIO_STREAM_AAC_PARAM;
+
+typedef struct DD_STREAM_AUDIO_SET_
+{
+
+ UINT8 *bConfig;
+ DD_AUDIO_STREAM_AAC_PARAM dd_aac;
+
+}DD_STREAM_AUDIO_SET;
+
+typedef struct STREAM_AUDIO_PARAM_
+{
+
+ DD_STEAMING_AUDIO stream_audio_type;
+
+ DD_STREAM_AUDIO_SET stream_param_set;
+
+
+}STREAM_AUDIO_PARAM;
+
+typedef STREAM_AUDIO_PARAM *STREAM_AUDIO_HANDLE;
+
+/* ÊÓÆµ¸ñʽ */
+typedef enum
+{
+ STREAM_VIDEO_NONE =0,
+ STREAM_VIDEO_H263, /* H263 */
+ STREAM_VIDEO_H264, /* H264 */
+ STREAM_VIDEO_MP4, /* MP4 */
+ STREAM_VIDEO_MAX
+}STREAM_VIDEO_FORMAT;
+
+/**************************************************************************
+ * È«¾Ö±äÁ¿ÉùÃ÷ *
+ **************************************************************************/
+
+/**************************************************************************
+ * È«¾Öº¯ÊýÔÐÍ *
+ **************************************************************************/
+/**
+ * º¯ÊýÃû³Æ£º Stream_Video_Open
+ * ¹¦ÄÜÃèÊö£º ´ò¿ªÁ÷ýÌåÊÓÆµÉ豸¡£
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ´ò¿ªÉ豸³É¹¦·µ»ØDCAMERA_OP_SUCCESS;·ñÔò·µ»ØDCAMERA_OP_ERROR¡£
+ * ÆäËü˵Ã÷£º
+ */
+DCAMERA_RETURN_VALUE_E Stream_Video_Open(void);
+
+/**
+ * º¯ÊýÃû³Æ£º Stream_Video_Close
+ * ¹¦ÄÜÃèÊö£º ÊÍ·ÅÁ÷ýÌå´ò¿ªµÄÊÓÆµÉ豸¡£
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ÊÍ·ÅÉ豸³É¹¦·µ»ØDCAMERA_OP_SUCCESS;·ñÔò·µ»ØDCAMERA_OP_ERROR¡£
+ * ÆäËü˵Ã÷£º
+ */
+DCAMERA_RETURN_VALUE_E Stream_Video_Close(void);
+
+/**
+ * º¯ÊýÃû³Æ£º Stream_Video_Init
+ * ¹¦ÄÜÃèÊö£º Á÷ýÌåÄ£¿é³õʼ»¯¡£
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS;·ñÔò·µ»ØDCAMERA_OP_ERROR¡£
+ * ÆäËü˵Ã÷£º
+ */
+DCAMERA_RETURN_VALUE_E Stream_Video_Init(STREAM_VIDEO_FORMAT eStreamVideoType);
+
+/**
+ * º¯ÊýÃû³Æ£º Stream_Video_Release
+ * ¹¦ÄÜÃèÊö£º ÊÍ·ÅÁ÷ýÌåÄ£¿é×ÊÔ´¡£
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS;·ñÔò·µ»ØDCAMERA_OP_ERROR¡£
+ * ÆäËü˵Ã÷£º Óë³õʼ»¯º¯Êý³É¶ÔʹÓÃ
+ */
+DCAMERA_RETURN_VALUE_E Stream_Video_Release(void);
+
+/**
+ * º¯ÊýÃû³Æ£º Stream_Video_Decode
+ * ¹¦ÄÜÃèÊö£º Á÷ýÌåÊÓÆµ½âÂë¡¢Êä³ö¡£
+ * ²ÎÊý˵Ã÷£º (IN)param:ÊÓÆµÊý¾Ý½á¹¹Ö¸Õ룬°üÀ¨Êý¾ÝÖ¸ÕëÓ볤¶È
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS;·ñÔò·µ»ØDCAMERA_OP_ERROR¡£
+ * ÆäËü˵Ã÷£º ¸Ãº¯Êý²»½öÌṩ½âÂë¶øÇÒ°üÀ¨½âÂëºóµÄÊÓÆµÊä³ö¹¦ÄÜ
+ */
+DCAMERA_RETURN_VALUE_E Stream_Video_Decode(STREAM_DATA *param);
+
+/**
+ * º¯ÊýÃû³Æ£º Stream_Video_SetParam
+ * ¹¦ÄÜÃèÊö£º Á÷ýÌåÊÓÆµÉèÖá£
+ * ²ÎÊý˵Ã÷£º (IN)param:ÉèÖòÎÊý£¬ÉèÖÃÊÓÆµÏÔʾµÄÇøÓò¼°Ðýת½Ç¶È
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS;·ñÔò·µ»ØDCAMERA_OP_ERROR¡£
+ * ÆäËü˵Ã÷£º
+ */
+DCAMERA_RETURN_VALUE_E Stream_Video_SetParam(STREAM_SET_PARAM *param);
+
+/**
+ * º¯ÊýÃû³Æ£ºStream_Audio_Open
+ * ¹¦ÄÜÃèÊö£º´ò¿ªÁ÷ýÌåÒôƵÉ豸¡£
+ * ²ÎÊý˵Ã÷£º(IN)data_type:Á÷ýÌåÊý¾ÝÀàÐÍ
+ * (IN)stream_param:ÉèÖòÎÊý
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØÁ÷ýÌåÒôƵ²¥·Å¾ä±ú;·ñÔò·µ»ØNULL¡£
+ * ÆäËü˵Ã÷£º
+ */
+STREAM_AUDIO_HANDLE Stream_Audio_Open(DD_STEAMING_AUDIO data_type, DD_STREAM_AUDIO_SET *stream_param);
+
+/**
+ * º¯ÊýÃû³Æ£ºStream_Audio_Close
+ * ¹¦ÄÜÃèÊö£º¹Ø±ÕÁ÷ýÌåÒôƵÉ豸¡£
+ * ²ÎÊý˵Ã÷£º(IN)handle:Á÷ýÌåÒôƵ²¥·Å¾ä±ú
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØAUDIO_NO_ERROR;·ñÔò·µ»ØÏàÓ¦µÄ´íÎóÂë¡£
+ * ÆäËü˵Ã÷£º
+ */
+AUDIO_RESULT_E Stream_Audio_Close(STREAM_AUDIO_HANDLE handle);
+
+/**
+ * º¯ÊýÃû³Æ£ºStream_Audio_Open
+ * ¹¦ÄÜÃèÊö£ºÁ÷ýÌåÒôƵÊý¾Ý½âÂëÊä³ö¡£
+ * ²ÎÊý˵Ã÷£º(IN)handle:Á÷ýÌåÒôƵ²¥·Å¾ä±ú
+ * (IN)buffer:ÒôƵÊý¾ÝÖ¸Õë
+ * (IN)buffer_size:ÒôƵÊý¾Ý³¤¶È
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØAUDIO_NO_ERROR;·ñÔò·µ»ØÏàÓ¦µÄ´íÎóÂë¡£
+ * ÆäËü˵Ã÷£º
+ */
+AUDIO_RESULT_E Stream_Audio_Decode(STREAM_AUDIO_HANDLE handle,
+ UINT32 *buffer,
+ UINT32 buffer_size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZTE_STREAM_H */
+
diff --git a/cp/ps/plat/inc/msp/zte_video.h b/cp/ps/plat/inc/msp/zte_video.h
new file mode 100644
index 0000000..5c5083d
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_video.h
@@ -0,0 +1,129 @@
+/*****************************************************************************
+ * °æ±¾ËùÓÐ (C)2008ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
+ * Ä£¿éÃû £º
+ * ʵÏÖ¹¦ÄÜ £º
+ * ×÷Õß £º
+ * °æ±¾ £º
+ * Íê³ÉÈÕÆÚ £º
+ * ÆäËü˵Ã÷ £ºMSPÊÓÆµ²¥·Å¶ÔÍâ½Ó¿ÚÍ·Îļþ
+ * ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+ * ---------------------------------------------------------------------
+ * 2008/08/01 V1.0 XXXX XXXX
+************************************************************************/
+#ifndef ZTE_VIDEO_H
+#define ZTE_VIDEO_H
+
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+#include "zte_display.h"
+
+/**************************************************************************
+ * ºê *
+ **************************************************************************/
+#define VIDEO_MAX_PATH_LEN 1024
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+typedef enum
+{
+ VIDEO_FILE_TYPE_MP4,
+ VIDEO_FILE_TYPE_3GP,
+ VIDEO_FILE_TYPE_K3G,
+ VIDEO_FILE_TYPE_UNKNOWN
+} VIDEO_BUFFER_FILE_TYPE_E;
+
+typedef enum
+{
+ CHANNEL_OUT_RECEIVER = 1, /*ÌýͲ*/
+ CHANNEL_OUT_SPEAKER , /*speaker*/
+ CHANNEL_OUT_EARPHONE, /*¶ú»ú*/
+ CHANNEL_OUT_SPEAKER_EARPHONE, /*¶ú»ú + SpeakerͬʱÊä³ö*/
+ CHANNEL_OUT_BLUETOOTH
+}VIDEO_CHANNEL_OUT_TYPE_E;
+
+typedef enum
+{
+ VIDEO_VOLUME_LEVEL_0,
+ VIDEO_VOLUME_LEVEL_1,
+ VIDEO_VOLUME_LEVEL_2,
+ VIDEO_VOLUME_LEVEL_3,
+ VIDEO_VOLUME_LEVEL_4,
+ VIDEO_VOLUME_LEVEL_5
+}VIDEO_VOLUME_LEVEL_E;
+
+typedef enum
+{
+ VIDEO_SEEK_FROM_CUR, /*´Óµ±Ç°Î»ÖÃseek*/
+ VIDEO_SEEK_FROM_BEGIN /*´Ó¿ªÊ¼Seek*/
+}VIDEO_PLAY_SEEK_MODE;
+
+typedef enum
+{
+ VIDEO_PLAY_STATE_IDLE,
+ VIDEO_PLAY_STATE_READY,
+ VIDEO_PLAY_STATE_PLAY,
+ VIDEO_PLAY_STATE_PAUSE,
+ VIDEO_PLAY_STATE_STOP
+}VIDEO_PLAY_STATE;
+
+typedef struct
+{
+ char filepath[VIDEO_MAX_PATH_LEN+1]; /*ÊÓÆµµÄ×ÊԴ·¾¶*/
+ RECT_T play_rect;
+ MAN_ROTATE_TYPE rotate;
+ VIDEO_CHANNEL_OUT_TYPE_E channel;
+ VIDEO_VOLUME_LEVEL_E volume;
+ VIDEO_PLAY_STATE curstate;
+ UINT8 *videoBuf; /* Ö¸ÏòÊÓÆµbufferÊý¾ÝµÄÖ¸Õë */
+ UINT32 videoBuffSize; /* ÊÓÆµbufferµÄ´óС */
+ VIDEO_BUFFER_FILE_TYPE_E videotype; /* ÊÓÆµÀàÐÍ */
+}VIDEO_PLAY_PARAM_T;
+
+typedef struct
+{
+ UINT32 pos;
+ VIDEO_PLAY_SEEK_MODE seekmode;
+}VIDEO_PLAY_SEEK_T;
+
+typedef struct
+{
+ UINT32 dwTotalTime;
+ DISPLAY_SIZE_T tsize;
+ UINT32 dwOnlyHaveAudio;
+}VIDEO_PLAY_INFO;
+
+/**************************************************************************
+ * º¯ÊýÔÐÍ *
+ **************************************************************************/
+DCAMERA_RETURN_VALUE_E Video_Open(void);
+
+DCAMERA_RETURN_VALUE_E Video_Close(void);
+
+DCAMERA_RETURN_VALUE_E Video_Play_Init(VIDEO_PLAY_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E Video_Play_Buffer_Init(VIDEO_PLAY_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E Video_Play_Release(void);
+
+DCAMERA_RETURN_VALUE_E Video_StartPlay(VIDEO_PLAY_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E Video_StopPlay(void);
+
+DCAMERA_RETURN_VALUE_E Video_PausePlay(void);
+
+DCAMERA_RETURN_VALUE_E Video_ResumePlay(void);
+
+DCAMERA_RETURN_VALUE_E Video_Seek(VIDEO_PLAY_SEEK_T *param);
+
+DCAMERA_RETURN_VALUE_E Video_Rotate(VIDEO_PLAY_PARAM_T *param);
+
+DCAMERA_RETURN_VALUE_E Video_GetCurTime(unsigned long *param);
+
+DCAMERA_RETURN_VALUE_E Video_GetTotalTime(unsigned long *param);
+
+DCAMERA_RETURN_VALUE_E Video_GetFileInfo(VIDEO_PLAY_INFO *param);
+
+#endif
+
+
diff --git a/cp/ps/plat/inc/msp/zte_vtdriver.h b/cp/ps/plat/inc/msp/zte_vtdriver.h
new file mode 100644
index 0000000..f3b5e9c
--- /dev/null
+++ b/cp/ps/plat/inc/msp/zte_vtdriver.h
@@ -0,0 +1,521 @@
+/************************************************************************
+* °æÈ¨ËùÓÐ(C)2007,ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+* Ä£¿éÃû £º ¿ÉÊӵ绰ҵÎñÖжàýÌåÇý¶¯Ä£¿é
+* ÎļþÃû³Æ£º zte_vtdriver.h
+* Îļþ±êʶ£º
+* ÄÚÈÝÕªÒª£º
+*
+* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
+* ----------------------------------------------------------------------
+* 2009/6/3 1.0 ´ú¿µ
+************************************************************************/
+
+#ifndef ZTE_VT_DRIVER_H
+#define ZTE_VT_DRIVER_H
+
+#ifdef __cplusplus
+ extern "C"
+ {
+#endif
+/**************************************************************************
+ * Í·Îļþ°üº¬ *
+ **************************************************************************/
+
+/**************************************************************************
+ * ³£Á¿ *
+ **************************************************************************/
+typedef enum
+{
+ VT_VIDEO_H263 = 1,
+ VT_VIDEO_MP4
+}VT_VIDEO_FORMAT;
+
+/* AMRµÄÖ¡ÂÊ */
+typedef enum {
+ VT_VOICE_FRAME_MR475 = 0,
+ VT_VOICE_FRAME_MR515,
+ VT_VOICE_FRAME_MR59,
+ VT_VOICE_FRAME_MR67,
+ VT_VOICE_FRAME_MR74,
+ VT_VOICE_FRAME_MR795,
+ VT_VOICE_FRAME_MR102,
+ VT_VOICE_FRAME_MR122,
+
+ VT_MAX_VOICE_FRAME_TYPE
+}VT_VOICE_FRAME_TYPE;
+
+/* AMRµÄÖ¡¸ñʽ */
+typedef enum {
+ VT_VOICE_AMR_IF2,
+ VT_VOICE_AMR_IF1,
+
+ VT_MAX_VOICE_AMR_IF
+}VT_VOICE_AMRIF;
+
+/* º¯Êý·µ»ØÖµ */
+typedef enum
+{
+ MM_COM_OP_SUCCESS = 0, /* ²Ù×÷³É¹¦ */
+ MM_COM_OP_ERROR = -1, /* ²Ù×÷ʧ°Ü */
+ MM_OPEN_AUDIO_FAILE = -2, /* ´ò¿ªAudioÉ豸ʧ°Ü */
+ MM_OPEN_VIDEO_FAILE = -3, /* ´ò¿ªVideoÉ豸ʧ°Ü */
+ MM_OPEN_CAM_FAILE = -4, /* ´ò¿ªCAMÉ豸ʧ°Ü */
+ MM_AUDIO_DEV_UNOPENED = -5, /* AudioÉ豸û´ò¿ª */
+ MM_VIDEO_DEV_UNOPENED = -6, /* VideoÉ豸û´ò¿ª */
+ MM_CAM_DEV_UNOPENED = -7, /* CAMÉ豸û´ò¿ª */
+ MM_PARAM_ERROR = -8, /* ²ÎÊýÊäÈë´íÎó */
+}MM_COM_ERRCODE;
+
+/* ÊäÈëÒôÁ¿ */
+typedef enum
+{
+ MM_INPUT_VOLUME_LEVEL_0 = 0,
+ MM_INPUT_VOLUME_LEVEL_1,
+ MM_INPUT_VOLUME_LEVEL_2,
+ MM_INPUT_VOLUME_LEVEL_3,
+ MM_INPUT_VOLUME_LEVEL_4,
+ MM_INPUT_VOLUME_LEVEL_5,
+} T_MM_INPUT_VOLUME_LEVEL;
+
+/* Êä³öÒôÁ¿ */
+typedef enum
+{
+ MM_OUTPUT_VOLUME_LEVEL_0 = 0,
+ MM_OUTPUT_VOLUME_LEVEL_1,
+ MM_OUTPUT_VOLUME_LEVEL_2,
+ MM_OUTPUT_VOLUME_LEVEL_3,
+ MM_OUTPUT_VOLUME_LEVEL_4,
+ MM_OUTPUT_VOLUME_LEVEL_5,
+} T_MM_OUTPUT_VOLUME_LEVEL;
+
+/* ÊäÈëͨµÀ */
+typedef enum
+{
+ MM_CHANNEL_INPUT_MICPHONE = 1, /* Âó¿Ë·ç */
+ MM_CHANNEL_INPUT_HEADSET, /* ¶ú»ú»°Í² */
+
+} T_MM_CHANNEL_INPUT;
+
+/* Êä³öͨµÀ */
+typedef enum
+{
+ MM_CHANNEL_OUTPUT_RECEIVER = 1, /* ÌýͲ */
+ MM_CHANNEL_OUTPUT_SPEAKER, /* ÑïÉùÆ÷ */
+ MM_CHANNEL_OUTPUT_HEADPHONE, /* ¶ú»ú */
+ MM_CHANNEL_OUTPUT_SPEAKER_HEADPHONE, /* ÑïÉùÆ÷ºÍ»°Í² */
+ MM_CHANNEL_OUTPUT_BLUETOOTH, /* À¶ÑÀ */
+}T_MM_CHANNEL_OUTPUT;
+
+/* Ö÷¸±ÉãÏñÍ· */
+typedef enum
+{
+ MM_SENSOR_MAIN = 0,
+ MM_SENSOR_SUB
+} T_MM_CAM_SENSOR;
+
+/* »ÃæËõ·Å */
+typedef enum
+{
+ MM_ZOOM_LEVEL_1= 0, /* level 1 */
+ MM_ZOOM_LEVEL_2, /* level 2 */
+ MM_ZOOM_LEVEL_3, /* level 3 */
+ MM_ZOOM_LEVEL_4, /* level 4 */
+ MM_ZOOM_LEVEL_5, /* level 5 */
+} T_MM_ZOOM_LEVEL;
+
+
+/* ÉãÏñÍ·ÁÁ¶È */
+typedef enum
+{
+ MM_BRIGHTNESS_LEVEL_0 = 0, /* level 0 */
+ MM_BRIGHTNESS_LEVEL_1, /* level 1 */
+ MM_BRIGHTNESS_LEVEL_2, /* level 2 */
+ MM_BRIGHTNESS_LEVEL_3, /* level 3 */
+ MM_BRIGHTNESS_LEVEL_4, /* level 4 */
+} T_MM_CamBrightness;
+
+/* ÉãÏñÍ·¶Ô±È¶È */
+typedef enum
+{
+ MM_CONTRAST_LEVEL_0 = 0, /* level 0 */
+ MM_CONTRAST_LEVEL_1, /* level 1 */
+ MM_CONTRAST_LEVEL_2, /* level 2 */
+ MM_CONTRAST_LEVEL_3, /* level 3 */
+ MM_CONTRAST_LEVEL_4, /* level 4 */
+} T_MM_CamContrast;
+
+/* ÉãÏñͷЧ¹û */
+typedef enum
+{
+ MM_EFFECT_NORMAL,
+ MM_EFFECT_BLACK_AND_WHITE,
+ MM_EFFECT_NEGATIVE,
+ MM_EFFECT_ANTIQUE,
+ MM_EFFECT_BLUISH,
+ MM_EFFECT_GREENISH,
+ MM_EFFECT_REDISH,
+ MM_EFFECT_BW_NEGATIVE,
+} T_MM_CamEffect;
+
+/* °×ƽºâ */
+typedef enum
+{
+ MM_WHITEBALANCE_AUTO = 0,
+ MM_WHITEBALANCE_DAYLIGHT,
+ MM_WHITEBALANCE_CLOUDY,
+ MM_WHITEBALANCE_INCANDESCENCE,
+ MM_WHITEBALANCE_FLUORESCENCE
+} T_MM_WHITE_BALANCE;
+
+/* ÏÔÊ¾ÇøÓò */
+typedef struct
+{
+ UINT32 x; /* Æðµãºá×ø±ê */
+ UINT32 y; /* Æðµã×Ý×ø±ê */
+ UINT32 width; /* ¿í¶È */
+ UINT32 height; /* ¸ß¶È */
+} T_MM_DISPLAY_RECT;
+
+
+
+/**************************************************************************
+ * ºê¶¨Òå *
+ **************************************************************************/
+
+/**************************************************************************
+ * Êý¾ÝÀàÐÍ *
+ **************************************************************************/
+/* ÓïÒôAMRÖ¡ÀàÐÍÐÅÏ¢ */
+typedef struct _VT_VOICE_AMRINFO_T
+{
+ VT_VOICE_AMRIF amrif; /* AMRµÄÖ¡ÀàÐÍ */
+ VT_VOICE_FRAME_TYPE frametype; /* AMRµÄÖ¡ÂÊ */
+}VT_VOICE_AMRINFO_T;
+
+typedef struct _VT_VOICE_PARAM_T
+{
+ VT_VOICE_AMRINFO_T tVoiceInfo; /* ÓïÒôÅäÖÃÐÅÏ¢ */
+}VT_VOICE_PARAM_T;
+
+typedef struct _VT_VIDEO_DISPARAM_T
+{
+ RECT_T tLocalRect; /* ±¾¶ËͼÏñÏÔÊ¾ÇøÓò */
+ RECT_T tRemoteRect; /* ¶Ô¶ËͼÏñÏÔÊ¾ÇøÓò */
+}VT_VIDEO_DISPARAM_T;
+
+typedef struct _VT_ENCODE_PARAM_T
+{
+ UINT32 uiWidth; /* ±àÂëÊä³öͼÏñ¿í¶È */
+ UINT32 uiHeight; /* ±àÂëÊä³öͼÏñ¸ß¶È */
+ UINT32 uiFramerate; /* ±àÂëÊä³öͼÏñÖ¡ÂÊ */
+ UINT32 uiBitrate; /* ±àÂëÊä³öͼÏñλÂÊ */
+ VT_VIDEO_FORMAT tVideoFormat; /* ±àÂëÊä³öͼÏñ¸ñʽ */
+}VT_ENCPARAM_T;
+
+typedef struct _VT_DECPARAM_T
+{
+ UINT32 uiWidth; /* ½âÂëÊäÈëͼÏñ¿í¶È */
+ UINT32 uiHeight; /* ½âÂëÊäÈëͼÏñ¸ß¶È */
+ VT_VIDEO_FORMAT tVideoFormat; /* ½âÂëÊäÈëͼÏñ¸ñʽ */
+}VT_DECPARAM_T;
+
+typedef struct _VT_CODEC_PARAM_T
+{
+ VT_ENCPARAM_T tEncParam; /* ±¾¶ËͼÏñ±àÂë²ÎÊý */
+ VT_DECPARAM_T tDecParam; /* ¶Ô¶ËͼÏñ½âÂë²ÎÊý */
+ VT_VIDEO_DISPARAM_T tDisParam; /* ±¾¶Ô¶ËͼÏñÏÔÊ¾ÇøÓò */
+}VT_VIDEO_PARAM_T;
+
+/**************************************************************************
+ * ÀàÉùÃ÷ £¨¶ÔÓÚCÓïÑÔµÄÍ·Îļþ£¬¿É²Ã¼ô£© *
+ **************************************************************************/
+
+/**************************************************************************
+ * Ä£°å £¨¶ÔÓÚCÓïÑÔµÄÍ·Îļþ£¬¿É²Ã¼ô£© *
+ **************************************************************************/
+
+/**************************************************************************
+ * È«¾Ö±äÁ¿ÉùÃ÷ *
+ **************************************************************************/
+
+/**************************************************************************
+ * È«¾Öº¯ÊýÔÐÍ *
+ **************************************************************************/
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_Open
+ * ¹¦ÄÜÃèÊö£º ´ò¿ªVTÓïÒôÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º (IN) iVoiceFd:VoiceÉ豸¾ä±ú
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Voice_Open(SINT32 iVoiceFd);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_Close
+ * ¹¦ÄÜÃèÊö£º ¹Ø±ÕVTÓïÒôÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º (IN) ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Voice_Close(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_Init
+ * ¹¦ÄÜÃèÊö£º ³õʼ»¯VTÓïÒôÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º (IN) pVoiceParam VTÓïÒôÇý¶¯Í¨µÀ³õʼ»¯²ÎÊý
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Voice_Init(VT_VOICE_PARAM_T *pVoiceParam);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_Release
+ * ¹¦ÄÜÃèÊö£º ÊÍ·ÅVTÓïÒôÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º (IN) ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Voice_Release(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_Read
+ * ¹¦ÄÜÃèÊö£º VTÓïÒôÊý¾Ý¶ÁÈ¡£¬Ò»´Î¶Áȡһ֡ÓïÒô
+ * ²ÎÊý˵Ã÷£º (IN/OUT) pVoiceBuf ´æ·Å¶ÁÈ¡µÄÓïÒôÊý¾Ý(AMR)
+ * (IN) uiBufLen pVoiceBufµÄ³¤¶È£¬±ØÐë´óÓÚ32×Ö½Ú
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØÒѶÁÈ¡µÄ×Ö½ÚÊý£¬Ê§°Ü·µ»ØÐ¡ÓÚ0µÄÖµ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+SINT32 VT_Voice_Read(CHAR *pVoiceBuf, UINT32 uiBufLen);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_Write
+ * ¹¦ÄÜÃèÊö£º VTÓïÒôÊý¾ÝÊä³ö£¬Ò»´ÎÊä³öÒ»Ö¡ÓïÒô
+ * ²ÎÊý˵Ã÷£º (IN) pVoiceBuf ´ýÊä³öµÄÓïÒôÊý¾Ý(AMR)µØÖ·
+ * (IN) uiBufLen ´ýÊä³öµÄÓïÒôÊý¾Ý(AMR)³¤¶È
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØÊä³öµÄ×Ö½ÚÊý£¬Ê§°Ü·µ»ØÐ¡ÓÚ0µÄÖµ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+SINT32 VT_Voice_Write(CHAR *pVoiceBuf, UINT32 uiBufLen);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Voice_SetCodecParam
+ * ¹¦ÄÜÃèÊö£º ÉèÖÃVTÓïÒô±à½âÂë²ÎÊý
+ * ²ÎÊý˵Ã÷£º (IN)
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ´Ë½Ó¿Ú±£Áô
+ */
+DCAMERA_RETURN_VALUE_E VT_Voice_SetCodecParam(VT_VOICE_AMRINFO_T *pVoiceInfo);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_Open
+ * ¹¦ÄÜÃèÊö£º ´ò¿ªVTÊÓÆµÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_Open(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_Open
+ * ¹¦ÄÜÃèÊö£º ¹Ø±ÕVTÊÓÆµÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_Close(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_Init
+ * ¹¦ÄÜÃèÊö£º ³õʼ»¯VTÊÓÆµÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º (IN) pVodieParam VTÊÓÆµÇý¶¯Í¨µÀ³õʼ»¯²ÎÊý
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º Ŀǰ½öÖ§³Ö±à½âÂë¾ùΪH263¸ñʽ£¬±àÂë½öÖ§³ÖQCIF(176 * 144)
+ * ¸ñʽµÄͼÏñ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_Init(VT_VIDEO_PARAM_T *pCodecParam);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_Release
+ * ¹¦ÄÜÃèÊö£º ÊÍ·ÅVTÊÓÆµÇý¶¯Í¨µÀ
+ * ²ÎÊý˵Ã÷£º (IN) ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_Release(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_LocalOpen
+ * ¹¦ÄÜÃèÊö£º ±¾¶ËÏÔʾ´ò¿ª
+ * ²ÎÊý˵Ã÷£º (IN) ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_LocalOpen(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_LocalClose
+ * ¹¦ÄÜÃèÊö£º ±¾¶ËÏÔʾ¹Ø±Õ
+ * ²ÎÊý˵Ã÷£º (IN) ÎÞ
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_LocalClose(VOID);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_Read
+ * ¹¦ÄÜÃèÊö£º VTÊÓÆµÊý¾Ý¶ÁÈ¡
+ * ²ÎÊý˵Ã÷£º (IN/OUT) pFrameBuf ´æ·Å¶ÁÈ¡µÄÊÓÆµÍ¼ÏñÊý¾Ý
+ * (IN) uiBufLen pFrameBufµÄ³¤¶È
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØÒѶÁÈ¡µÄ×Ö½ÚÊý£¬Ê§°Ü·µ»ØÐ¡ÓÚ0µÄÖµ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+SINT32 VT_Video_Read(CHAR *pFrameBuf, UINT32 uiBufLen);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_Write
+ * ¹¦ÄÜÃèÊö£º VTÊÓÆµÊý¾ÝÊä³ö
+ * ²ÎÊý˵Ã÷£º (IN) pFrameBuf ´ýÊä³öµÄÊÓÆµÍ¼ÏñÊý¾ÝµØÖ·
+ * (IN) uiBufLen ´ýÊä³öµÄÊÓÆµÍ¼ÏñÊý¾Ý³¤¶È
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØÊä³öµÄ×Ö½ÚÊý£¬Ê§°Ü·µ»ØÐ¡ÓÚ0µÄÖµ
+ * ÆäËü˵Ã÷£º ÎÞ
+ */
+SINT32 VT_Video_Write(CHAR *pFrameBuf, UINT32 uiBufLen);
+
+/**
+ * º¯ÊýÃû³Æ£º VT_Video_SetDisplayParam
+ * ¹¦ÄÜÃèÊö£º VTÊÓÆµÏÔÊ¾ÇøÓòÉèÖÃ
+ * ²ÎÊý˵Ã÷£º (IN) pDisplayParam VTÊÓÆµ±¾¶Ô¶ËͼÏñÏÔÊ¾ÇøÓò
+ * ·µ »Ø Öµ£º ³É¹¦·µ»ØDCAMERA_OP_SUCCESS
+ * ÆäËü˵Ã÷£º ½Ó¿Ú±ØÐëÔÚVT_Video_Initºóµ÷Óã¬ÓÉÓÚÊÜÓ²¼þÏÞÖÆ
+ * ×ø±ê¡¢¿í¡¢¸ß²»ÄÜÊÇÈÎÒâµÄ×éºÏ
+ */
+DCAMERA_RETURN_VALUE_E VT_Video_SetDisplayParam(VT_VIDEO_DISPARAM_T *pDisplayParam);
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_inputvolume
+* ¹¦ÄÜÃèÊö£º ÉèÖÃÉùÒôÊäÈëÒôÁ¿
+* ²ÎÊý˵Ã÷£º (IN)£º InputVol: ÊäÈëÒôÁ¿´óС
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_inputvolume(T_MM_INPUT_VOLUME_LEVEL InputVol);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_volume
+* ¹¦ÄÜÃèÊö£º ÉèÖÃÉùÒôÊä³öÒôÁ¿
+* ²ÎÊý˵Ã÷£º (IN)£º OutPutVol: Êä³öÒôÁ¿´óС
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_volume(T_MM_OUTPUT_VOLUME_LEVEL OutPutVol);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_inputchannel
+* ¹¦ÄÜÃèÊö£º ÉèÖÃÉùÒôÊäÈëͨµÀ
+* ²ÎÊý˵Ã÷£º (IN)£º InChannel: ÉùÒôÊäÈëͨµÀ
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_inputchannel(T_MM_CHANNEL_INPUT InChannel);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_outputchannel
+* ¹¦ÄÜÃèÊö£º ÉèÖÃÉùÒôÊä³öͨµÀ
+* ²ÎÊý˵Ã÷£º (IN)£º OutChannel: ÉùÒôÊä³öͨµÀ
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_outputchannel(T_MM_CHANNEL_OUTPUT OutChannel);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_mute
+* ¹¦ÄÜÃèÊö£º ÉèÖþ²Òô
+* ²ÎÊý˵Ã÷£º (IN)£º bFlag: True : ÉèÖþ²Òô
+ False: È¡Ïû¾²Òô
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_mute(BOOL bFlag);
+
+
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_zoom
+* ¹¦ÄÜÃèÊö£º ÉèÖÃ»ÃæËõ·Å
+* ²ÎÊý˵Ã÷£º (IN)£º ZoomLevel: »ÃæËõ·Åˮƽ
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_zoom(T_MM_ZOOM_LEVEL ZoomLevel);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_brightness
+* ¹¦ÄÜÃèÊö£º ÉèÖÃ»ÃæÁÁ¶È
+* ²ÎÊý˵Ã÷£º (IN) Brightness£º»ÃæÁÁ¶È
+* (OUT) ÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_brightness(T_MM_CamBrightness Brightness);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_contrast
+* ¹¦ÄÜÃèÊö£º ÉèÖÃ»Ãæ¶Ô±È¶È
+* ²ÎÊý˵Ã÷£º (IN) Contrast£º»Ãæ¶Ô±È¶È
+* (OUT) ÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_contrast(T_MM_CamContrast Contrast);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_effect
+* ¹¦ÄÜÃèÊö£º ÉèÖÃ»ÃæÐ§¹û
+* ²ÎÊý˵Ã÷£º (IN) Effect£º»ÃæÐ§¹û
+* (OUT) ÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_effect(T_MM_CamEffect Effect);
+
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_set_whitebalance
+* ¹¦ÄÜÃèÊö£º ÉèÖÃ»ÃæÐ§¹û
+* ²ÎÊý˵Ã÷£º (IN) WhiteBalance£º°×ƽºâÖµ
+* (OUT) ÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º
+**************************************************************************/
+SINT32 mm_dvm_set_whitebalance(T_MM_WHITE_BALANCE WhiteBalance);
+
+/**************************************************************************
+* º¯ÊýÃû³Æ£º mm_dvm_camswitch
+* ¹¦ÄÜÃèÊö£º Ñ¡ÔñÖ÷¸±ÉãÏñÍ·
+* ²ÎÊý˵Ã÷£º (IN)£º Sensor: ÉãÏñÍ·ÀàÐÍ
+* (OUT)£ºÎÞ
+* ·µ »Ø Öµ£º MM_COM_OP_SUCCESS: ³É¹¦
+* ÆäËü˵Ã÷£º ±ØÐëÏȶԵ±Ç°µÄÉãÏñÍ·¹Ø±Õ£¬¶øºóÔÙÇл»
+**************************************************************************/
+SINT32 mm_dvm_camswitch(T_MM_CAM_SENSOR Sensor);
+
+#ifdef __cplusplus
+ }
+#endif
+
+#endif
+