⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmidc.h

📁 手机Camera部分上层软件代码
💻 H
字号:
/*****************************************************************************
** File Name:      mmidc.h                                                   *
** Author:         bruce.chi                                                 *
** Date:           24/05/2004                                                *
** Copyright:      2003 Spreadtrum, Incorporated. All Rights Reserved.         *
** Description:    This file is used to describe digit camera                *
*****************************************************************************
**                         Important Edit History                            *
** --------------------------------------------------------------------------*
** DATE           NAME             DESCRIPTION                               *
** 05/2004        bruce.chi	       Create
******************************************************************************/

#ifndef _MMIDC_H_
#define _MMIDC_H_ 

/**--------------------------------------------------------------------------*
 **                         Include Files                                    *
 **--------------------------------------------------------------------------*/
#include    "sci_types.h"
#include    "mmk_type.h"
#include    "mmimultim.h"
#include    "mmi_atc.h"

/**--------------------------------------------------------------------------*
 **                         Compiler Flag                                    *
 **--------------------------------------------------------------------------*/
#ifdef __cplusplus
    extern   "C"
    {
#endif
/**--------------------------------------------------------------------------*
 **                         MACRO DEFINITION                                 *
 **--------------------------------------------------------------------------*/
#undef  MMIDC_80X64_SUPPORT
#undef	MMIDC_OSD_CIRCLE_SUPPORT
#undef	MMIDC_FLASH

//#define MMIDC_INTERPOLATION

#define MMIDC_MP4_SIZE_NUM	2	//录制MP4的时候,允许的size设置的数目
#define MMIDC_MP4_SPEED_NUM 2	//录制MP4的时候,允许的speed设置的数目	
		
#define	MMIDC_MAX_PHOTO_SIZE	(300 * 1024)//支持的最大photo大小

/**--------------------------------------------------------------------------*
 **                         TYPE AND CONSTANT                                *
 **--------------------------------------------------------------------------*/

typedef enum
{
    MMIDC_RESULT_SUCCESS,	//函数调用成功
	MMIDC_RESULT_ERROR,		//函数调用错误
    MMIDC_RESULT_REPEAT     //文件名重复
}MMIDC_RESULT_E;//DC函数的返回结果

typedef enum
{
	MMIDC_MODE_OUTDOOR,	//室外
	MMIDC_MODE_INDOOOR,	//室内
	MMIDC_MODE_MAX
}MMIDC_PHOTO_MODE_E;	//模式

typedef enum
{
	MMIDC_QUALITY_HIGH,		//高级
	MMIDC_QUALITY_NORMAL,	//普通
    MMIDC_QUALITY_MAX
}MMIDC_PHOTO_QUALITY_E;//照片质量

typedef enum
{
	MMIDC_OVERTIME_DEACTIVATED,	//关、5秒、10秒、20秒、30秒、60秒
	MMIDC_OVERTIME_5S,
	MMIDC_OVERTIME_10S,
	MMIDC_OVERTIME_20S,
	MMIDC_OVERTIME_30S,
	MMIDC_OVERTIME_60S,
	MMIDC_OVERTIME_MAX
}MMIDC_OVERTIME_CAP_E;	//延时拍照

typedef enum
{
#ifdef MMIDC_80X64_SUPPORT
    MMIDC_PHOTO_SIZE_80X64,
#endif
    MMIDC_PHOTO_SIZE_320X240,
    MMIDC_PHOTO_SIZE_640X480,
#ifdef MMIDC_03M_INTERPOLATION
	MMIDC_PHOTO_SIZE_1280X960,
#endif
#ifdef MMIDC_1024X960_SOPPORT
    MMIDC_PHOTO_SIZE_1024X960,
#endif
    MMIDC_PHOTO_SIZE_1280X1024,	
#ifdef MMIDC_INTERPOLATION
    MMIDC_PHOTO_SIZE_1600X1200,	//the first element in this enum must be set to zero
#endif
    MMIDC_PHOTO_SIZE_MAX
}MMIDC_PHOTO_SIZE_E;	//照片的尺寸


typedef enum
{
	MMIVC_VIDEO_SIZE_128X96 = 0,	//the first element in this enum must be set to zero
	MMIVC_VIDEO_SIZE_160X128,
	MMIVC_VIDEO_SIZE_176X144,
	MMIVC_VIDEO_SIZE_320X240,
	MMIVC_VIDEO_SIZE_MAX
}MMIVC_VIDEO_SIZE_E;	//录像的尺寸

typedef enum
{
	MMIDC_EFFECT_NORMAL,		//正常
	MMIDC_EFFECT_BLACKWHITE,	//黑白
	MMIDC_EFFECT_BLUE,			//蓝色
	MMIDC_EFFECT_GREEN,			//绿色
	MMIDC_EFFECT_RED,			//红色
	MMIDC_EFFECT_CANVAS,		//帆布
	MMIDC_EFFECT_NEGATIVE,		//底片
	MMIDC_EFFECT_MAX
}MMIDC_PHOTO_EFFECT_E;	//照片效果

typedef enum
{
	DV_MJPEG_FORMAT,	//Motion JPEG
	DV_MP4_FORMAT,		//Mpeg4
	DV_FORMAT_MAX
}MMIDV_FORMAT_E;

#define VOICE_REC_TEST
#ifdef VOICE_REC_TEST
	typedef enum
	{
		DV_NO_VOICE_REC,
		DV_VOICE_REC_4750,
		DV_VOICE_REC_5150,
		DV_VOICE_REC_5900,
		DV_VOICE_REC_6700,
		DV_VOICE_REC_7400,
		DV_VOICE_REC_7950,
		DV_VOICE_REC_10200,
		DV_VOICE_REC_12200,
		DV_VOICE_REC_MAX
	}MMIDV_VOICE_REC_E;
#else
	typedef enum
	{
		DV_NO_VOICE_REC,
		DV_VOICE_REC_QUALITY_LOW,
		DV_VOICE_REC_QUALITY_MID,
		DV_VOICE_REC_QUALITY_HIGH,
		DV_VOICE_REC_MAX
	}MMIDV_VOICE_REC_E;
#endif

typedef enum
{
	MMIDC_PREV_FRAME_RATE_LOW,
	MMIDC_PREV_FRAME_RATE_MID,
	MMIDC_PREV_FRAME_RATE_HIGH,
	MMIDC_PREV_FRAME_RATE_MAX
}MMIDC_PREV_FRAME_RATE_E;	//拍摄帧率

typedef enum
{
	MMIDC_AF_OFF,			//no auto focus
	MMIDC_AF_CONTINUOUS,	//auto focus continuous
	MMIDC_AF_MAX
}MMIDC_AF_TYPE_E;			//AF: Auto Focus

typedef struct 
{
	BOOLEAN					b_shutter_voice;//快门声音(开、关)
	BOOLEAN					b_flash_enabled;//闪光灯(开、关)
	MMIDC_PHOTO_QUALITY_E	e_quality;		//质量(高级、普通)
	MMIDC_PHOTO_SIZE_E		e_photo_size;	//照片大小(1280x960、640x480、320x240)
	MMIVC_VIDEO_SIZE_E		e_video_size;	//录像大小
	MMIDV_FORMAT_E			e_dv_format;	//video格式
	MMIDV_VOICE_REC_E		e_dv_voice_rec;	//video录音类型
	FILE_DEV_E_T			e_storage_dev;	//存储位置
	MMIDC_PREV_FRAME_RATE_E	e_frame_rate;	//帧率(高、低)
	MMIDC_AF_TYPE_E			e_af;
}MMIDC_SETTING_SAVE_INFO_T;
/**--------------------------------------------------------------------------*
 **                         FUNCTION DEFINITION                              *
 **--------------------------------------------------------------------------*/
/*****************************************************************************/
// 	Description : open preview window
//	Global resource dependence : none
//  Author: 
//	Note:
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_OpenPreviewWin(BOOLEAN is_from_dc);

/*****************************************************************************/
// 	Description : handle the message of preview window
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:	this is used for ui_test module to handle message
/*****************************************************************************/
PUBLIC MMI_RESULT_E MMIDC_HandlePreviewWinMsg(
											 MMI_WIN_ID_T	win_id, 
											 MMI_MESSAGE_ID_E	msg_id, 
											 DPARAM				param
											 );

/*****************************************************************************/
// 	Description : reset all dc settings in nv
//	Global resource dependence : 
//  Author:	bruce.chi
//	Note: 
/*****************************************************************************/
PUBLIC void MMIDC_ResetDCSetting(void);

/*****************************************************************************/
// 	Description : get total photo total memory
//	Global resource dependence : 
//  Author: Bruce.Chi
//	Note:
/*****************************************************************************/
PUBLIC uint32 DCSaveInfo_GetPhotoTotalSize(void);

/*****************************************************************************/
// 	Description : initialize digit camera
//	Global resource dependence : g_mmidc_setting_info,g_mmidc_photo_info
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
PUBLIC void MMIDC_Init(void);

/*****************************************************************************/
// 	Description : Get photo info 
//	Global resource dependence : 
//  Author:	bruce.chi
//	Note: 
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_SyncGetPhotoInfo(
                                void *photo_info_ptr
                                );

/*****************************************************************************/
// 	Description : update g_mmidc_photo_info when sync tool add a photo
//	Global resource dependence : 
//  Author:	bruce.chi
//	Note: 
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_SyncAdd(
                        uint8 *file_name_ptr  // file name of photo
            			);
            			
/*****************************************************************************/
// 	Description : update g_mmidc_photo_info when sync tool delete a photo
//	Global resource dependence : 
//  Author:	bruce.chi
//	Note: 
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_SyncDelete(
                         uint8 *file_name_ptr  // file name of photo
            			 );
            			 
            			 
/*****************************************************************************/
// 	Description : update g_mmidc_photo_info when sync tool rename a photo
//	Global resource dependence : 
//  Author:	bruce.chi
//	Note: 
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_SyncRename(
                            uint8 *old_file_name_ptr,  // file name of photo
                            uint8 *new_file_name_ptr  // file name of photo
                            );
           			
/*****************************************************************************/
// 	Description : Reset DC
//	Global resource dependence : 
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_ResetDCGlobe(void);

/*****************************************************************************/
// 	Description : open album window for mms
//	Global resource dependence : 
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_OpenAlbumWinForMMS(int max_size, MMI_WIN_ID_T win_id);

/*****************************************************************************/
// 	Description : 进入DC子目录
//	Global resource dependence : 
//  Author:	Great.Tian
//	Note: 
/*****************************************************************************/
PUBLIC BOOLEAN DC_EnterDCSubDir(FILE_DEV_E_T file_dev);

/*****************************************************************************/
// 	Description : to check whether dc is opened
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
PUBLIC BOOLEAN DC_IsOpened(void);

/*****************************************************************************/
// 	Description : is in dc review win
//	Global resource dependence : 
//  Author:
//	Note: 
/*****************************************************************************/
PUBLIC BOOLEAN MMIDC_IsInDCReviewWin(void);

/*****************************************************************************/
// 	Description : DC read file done handling function(MSG_DC_FILE_READ_DONE)
//	Global resource dependence : 
//  Author: wancan.you
//	Note:  
/*****************************************************************************/
PUBLIC void MMIDC_ReadPhotoFileDoneCnf(DPARAM param);

/*****************************************************************************/
// 	Description : DC write file done handling function(MSG_DC_FILE_WRITE_DONE)
//	Global resource dependence : 
//  Author: wancan.you
//	Note:  
/*****************************************************************************/
PUBLIC void MMIDC_WritePhotoFileDoneCnf(DPARAM param);

/*****************************************************************************/
// 	Description : DC file delete done handling function(MSG_DC_FILE_DEL_DONE)
//	Global resource dependence : 
//  Author: wancan.you
//	Note:  
/*****************************************************************************/
PUBLIC void MMIDC_FileDelDoneCnf(DPARAM param);

/*****************************************************************************/
// 	Description : DC是否将mp3的播放挂起
//	Global resource dependence : none
//  Author: Jassmine.Meng
//	Note: 仅供Mp3模块调用
/*****************************************************************************/
BOOLEAN MMIDC_IsSuspendMp3(void);

/**--------------------------------------------------------------------------*
 **                         Compiler Flag                                    *
 **--------------------------------------------------------------------------*/
#ifdef   __cplusplus
    }
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -