cameraplus.h

来自「E-ten Glofiish X500+ Camera driver and a」· C头文件 代码 · 共 559 行 · 第 1/2 页

H
559
字号

/*====================================================================================================================
Copyright (c) 2007 Eten China Information System Co., Ltd.
======================================================================================================================
NOTICE:
This document contains information that is confidential and proprietary
to Eten China Information System Co.,Ltd.. No part of this document may 
be reproduced in any form whatsoever without written prior approval by 
Eten China Information System Co., Ltd..Eten China Information System 
Co., Ltd.reserve the right to revise this publication and make changes 
without obligation to notify any person of such revisions or changes.
======================================================================================================================*/


#pragma once
#ifndef  CAMERAPLUS_HEAD
#define CAMERAPLUS_HEAD

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Filename   : CameraPlus.h
Description: the headfile of CameraPlus.dll
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


// defined with this macro as being exported.
#ifdef CAMERAPLUS_EXPORTS
#define CAMERAPLUS_API //__declspec(dllexport)
#else
#define CAMERAPLUS_API __declspec(dllimport)
#endif

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//		CONSTANT DEFINITION                          
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifdef DEBUG
#define DEBUG_LOGRATE	0;
#endif

#define HCAMERA HANDLE 
#define EVENT_CAMERAPLUS_PREVIEW_NAME	L"CAMERAPLUSPREVIEW"
#define EVENT_CAMERAPLUS_VIDEO_NAME		L"CAMERAPLUSVIDEO"

#ifdef __cplusplus 
extern "C" { 
#endif 
//功能说明:开启Camera Device
//返回值说明:  如果HCAMERA为NULL,表明打开Camera失败,可能原因是设备已经被打开,无法power on,初始设置无效                                        
CAMERAPLUS_API HCAMERA ETOpenCamera();

//功能说明:关闭Camera device                    
//需要完成的动作: 下达power off的动作
//参数说明:   HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE,无法关闭返回FALSE                                      
CAMERAPLUS_API BOOL ETCloseCamera(HCAMERA hCam);


//Moudle 类型定义, 不同Moudule类型支持的功能说明有一点差异
#define ETC_CAM_MODE_0		(0) //: OV9650    M300/P360机型使用
#define ETC_CAM_MODE_1		(1) //: OV9653    M500机型使用
#define ETC_CAM_MODE_13M	(2) //: Samsung 1.3  M600/G500/G550使用
#define ETC_CAM_MODE_2M		(3) //: Samsung 2M   X500/G500等使用
#define OV26402MwithMacro	(4)
#define SAMSUNG_VGA			(5)	//for Empire-X
#define MTD9D112_AF			(6) //for Empire-X/M
#define MC501CB_VGA			(7) //for Empire-M

#define ETC_CAM_MODE_MAX	MC501CB_VGA

//功能说明: 查询得到Moudle类型,不同的Moudle类型支持的功能说明有一点差异,buffer起始地址也有不同
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//           UCHAR  ucType[out] 值请看Moudule类型定义 
//返回值说明:  成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetModuleType(HCAMERA hCam, UCHAR & ucType);


//日光灯变焦频率定义
#define ETC_CAM_FLU_FRE_50		(0) //50HZ      适合50MHz频率的日光灯
#define ETC_CAM_FLU_FRE_60      (1) //60HZ      适合60MHz频率的日光灯
#define ETC_CAM_FLU_FRE_AUTO    (2) //Auto      自动调节

//功能说明:设定日光灯变焦频率,用来解决拍摄日光灯时引发的闪烁问题
//参数说明:    HCAMERA hCam[in]   ETOpenCamera返回的值
//             UCHAR  ucFre[in]  ETC_CAM_FLU_FRE_50 <= ucFre <= ETC_CAM_FLU_FRE_AUTO
//返回值说明:  成功返回TRUE, 失败返回FALSE                                           
CAMERAPLUS_API BOOL ETSetFluFrequency(HCAMERA hCam,UCHAR ucFre);

//功能说明: 得到日光灯变焦频率
//参数说明:    HCAMERA hCam[in]   ETOpenCamera返回的值
//             UCHAR  ucFre[out] ETC_CAM_FLU_FRE_50 <= ucFre <= ETC_CAM_FLU_FRE_AUTO
//返回值说明:  成功返回TRUE, 失败返回FALSE                                           
CAMERAPLUS_API BOOL ETGetFluFrequency(HCAMERA hCam,UCHAR & ucFre);


//数码变焦等级
#define CAM_ZOOM_MIN		10   //1倍变焦
#define CAM_ZOOM_MAX		40   //4倍变焦
//功能说明: 设定数码变焦的倍数 1-4倍,单位是0.1倍变焦, 如11就是1.1倍
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值 
//			UCHAR  ucZoom[in] CAM_ZOOM_MIN <= ucZoom <= CAM_ZOOM_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                           	     
CAMERAPLUS_API BOOL ETSetZoom(HCAMERA hCam,UCHAR ucZoom);


//Frame Rate
//Camera internal clock = 48M/(value+1)
//If value = 0, frame rate = 1/15
//If value = 1, frame rate = 1/8
//If value = 4, frame rate = 1/4, and so on.
//数值越小,成像越快
#define CAM_CLK_MIN			0x0   //Frame rate min value
#define CAM_CLK_MAX			0x1F  //Frame rate max value

//功能说明:设定快门速度 
//参数说明:    HCAMERA hCam[in]   ETOpenCamera返回的值
//             UCHAR ucFrameRate[int] CAM_CLK_MIN <= ucFrameRate <= CAM_CLK_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                           
CAMERAPLUS_API BOOL ETSetFrameRate(HCAMERA hCam,UCHAR ucFrameRate);

//功能说明:得到当前的快门速度
//参数说明:    HCAMERA hCam[in]   ETOpenCamera返回的值
//             UCHAR ucFrameRate[out] CAM_CLK_MIN <= ucFrameRate <= CAM_CLK_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                           
CAMERAPLUS_API BOOL ETGetFrameRate(HCAMERA hCam,UCHAR & ucFrameRate);


//自动功能开关值定义 (自动白平衡,自动亮度调节,自动曝光)
#define CAM_ACF_ON	0x1  //自动功能开
#define CAM_ACF_OFF	0x0  //自动功能关


//功能说明:开启或关闭自动调节亮度,当开启自动调节亮度时,Brightness是无法调节的
// 参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//				UCHAR ucFlag[in] :  CAM_ACF_ON or CAM_ACF_OFF
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETEnableAGC(HCAMERA hCam,UCHAR ucFlag);

//功能说明:自动调节亮度的功能说明是否开启
// 参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETIsAGCEnable(HCAMERA hCam);

//亮度等级定义
#define CAM_BRIGHTNESS_MIN     0x0         //亮度等级最小值
#define CAM_BRIGHTNESS_MAX     0x3f        //亮度等级最大值

//功能说明:设定当前的亮度值,只有AGC为 OFF才有用
// 参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucBright[in] CAM_BRIGHTNESS_MIN <= ucBright <= CAM_BRIGHTNESS_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETSetBrightness(HCAMERA hCam,UCHAR ucBright);

//功能说明:得到当前的亮度值
// 参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucBright [out]  CAM_BRIGHTNESS_MIN <= ucBright <= CAM_BRIGHTNESS_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETGetBrightness(HCAMERA hCam,UCHAR & ucBright);


//功能说明:开启或关闭自动调节白平衡 ,如果关闭自动调节白平衡功能说明,只能通过调节red,blue的颜色,Brightness,framerate等来调节白平衡的效果
// 参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucFlag[in]  CAM_ACF_ON or CAM_ACF_OFF
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETEnableAWB(HCAMERA hCam,UCHAR ucFlag);

//功能说明:自动调节白平衡的功能说明是否开启
// 参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETIsAWBEnable(HCAMERA hCam);

//红色值范围定义
#define CAM_RED_MIN	0x0
#define CAM_RED_MAX	0xFF

//功能说明:  设定当前的红光值,只有AWB为 OFF才有用
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
// 	      UCHAR ucRed[in]	CAM_RED_MIN <= ucRed <= CAM_RED_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETSetRed(HCAMERA hCam,UCHAR ucRed);

//功能说明: 得到当前的红光值
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
// 	     UCHAR ucRed[out]	CAM_RED_MIN <= ucRed <= CAM_RED_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETGetRed(HCAMERA hCam,UCHAR & ucRed);


//蓝色值范围定义
//#define CAM_BLUE_MIN		0x0
//#define CAM_BLUE_MAX		0xFF


//功能说明:  设定当前的蓝光值,只有AWB为 OFF才有用
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//           UCHAR ucBlu[out]   CAM_RED_MIN <= ucBlue <= CAM_RED_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETSetBlue(HCAMERA hCam ,UCHAR ucBlue);

//功能说明:   得到当前的蓝色值
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//           UCHAR ucBlue[out]  CAM_RED_MIN <= ucBlue <= CAM_RED_MAX
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETGetBlue(HCAMERA hCam, UCHAR & ucBlue);


//功能说明:  开启或关闭自动曝光,如果关闭自动曝光设定,目前还无法手动调节
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucFlag[in]  CAM_ACF_ON or CAM_ACF_OFF
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETEnableAEC(HCAMERA hCam, UCHAR ucFlag);

//功能说明: 自动曝光设定是否开启
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETIsAECEnable(HCAMERA hCam);


//功能说明:  开启或关闭闪光灯
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucFlag[in]  CAM_ACF_ON or CAM_ACF_OFF
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETEnableFlash(HCAMERA hCam , UCHAR ucFlag);


//功能说明:  闪光灯是否开启
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETIsFlashEnable(HCAMERA hCam);

//功能说明: 开启或关闭近拍功能
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucFlag[in]  CAM_ACF_ON or CAM_ACF_OFF
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETEnableCloser(HCAMERA hCam, UCHAR ucFlag);


//功能说明:  近拍功能是否开启
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETIsCloserEnable(HCAMERA hCam);

//功能说明: 开启或关闭聚光灯功能
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//            UCHAR ucFlag[in]  CAM_ACF_ON or CAM_ACF_OFF
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETEnableSpotLight(HCAMERA hCam, UCHAR ucFlag);


//功能说明:  聚光灯功能是否开启
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETIsSpotLightEnable(HCAMERA hCam);



//特效效果定义
#define CAM_SE_NOR		0x1     //normal, 没有特效  
#define CAM_SE_NEG		0x2     //negative , 底片效果
#define CAM_SE_GRAY		0x4     //grayness,  灰阶效果
#define CAM_SE_RET		0x8     //Retrospective ,怀旧效果
#define CAM_SE_MIR		0x200   //mirror, this SE can combine with other SE,镜像效果,可以与其他效果同时使用


//功能说明:  设定特效
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//           WORD wType[in]    特效效果定义的值之一
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API BOOL ETSetSpecialEffect(HCAMERA hCam, WORD wType);

//功能说明: 得到当前特效
//参数说明:  HCAMERA hCam[in]   ETOpenCamera返回的值
//返回值说明:  成功返回TRUE, 失败返回FALSE                                                         
CAMERAPLUS_API WORD ETGetSpecialEffect(HCAMERA hCam);


//系统window方向
#define ETC_DMDO_0       0
#define ETC_DMDO_90      1
#define ETC_DMDO_180     2
#define ETC_DMDO_270     4

⌨️ 快捷键说明

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