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

📄 okapi32.h

📁 OK视频采集卡VC源代码
💻 H
📖 第 1 页 / 共 4 页
字号:

//---------------okapi32.h---------------------------------
//
// ok api32 header file for user
//
//---------------------------------------------------------

#ifndef __JOINHOPE__
#define __JOINHOPE__


//----contant defines----


//--defines of ok series image board identity
//Mono series
#define		OK_M10					1010
#define		OK_M10N					1010
#define		OK_M10M					1013
#define		OK_M10F					1011
#define		OK_M10L					1014
#define		OK_M10H					1012
#define		OK_M20					1020
#define		OK_M2KC					1021

#define		OK_M20H					1022
#define		OK_M30					1030
#define		OK_M40					1040
#define		OK_M50					1050
#define		OK_M60					1060
#define		OK_M70					1070
#define		OK_M80					1080
#define		OK_M80K					1081

//--new updated series
#define		OK_M10A					1212	//OK_M10M:1013
#define		OK_M10B					1213	//OK_M10L/N:1014
#define		OK_M10C					1214	//
#define		OK_M10D					1215
#define		OK_M10K					1218	//OK_M80K


#define		OK_M20A					1222	//OK_M20H:1022
#define		OK_M20B					1223	//110M
#define		OK_M20C					1224	//160M
#define		OK_M20D					1225	//2050M

#define		OK_M40A					1240	//OK_M40:1041
#define		OK_M40B					1243	//110M
#define		OK_M40C					1244	//160M
#define		OK_M40D					1245	//205M

#define		OK_M60A					1260	//OK_M60:1060
#define		OK_M60B					1263	//110M
#define		OK_M60C					1264	//160M
#define		OK_M60D					1265	//205M

#define		OK_M50A					1250
#define		OK_M50K					1258
#define		OK_M51K					1257

#define		OK_M30A					1230
#define		OK_M30B					1233
#define		OK_M30K					1238
#define		OK_M31K					1237
#define		OK_M70A					1270


//Color series
#define		OK_C20					2020
#define		OK_C20C					2021
#define		OK_C30					2030
#define		OK_C32					2032
#define		OK_C30S					2031
#define		OK_C40					2040
#define		OK_C50					2050
#define		OK_C70					2070
#define		OK_C80					2080
#define		OK_C80M					2081
#define		OK_M90					1090

//RGB series
#define		OK_RGB10				3010
#define		OK_RGB20				3020
#define		OK_RGB30				3030

//Monitor Control series
#define		OK_MC10					4010
#define		OK_MC16					4016
#define		OK_MC20					4020
#define		OK_MC30					4030

//--new updated series
#define		OK_C20A					2220
#define		OK_C23A					2221
#define		OK_C20B					2223
#define		OK_C30A					2230
#define		OK_C31A					2231
#define		OK_C30B					2233
#define		OK_C40A					2240
#define		OK_C50A					2250
#define		OK_C60A					2260
#define		OK_C60B					2263
#define		OK_C60C					2264
#define		OK_C80A					2280
#define		OK_C80K					2288

#define		OK_RGB10A				3210
#define		OK_RGB10B				3213

#define		OK_RGB20A				3220
#define		OK_RGB21A				3221
#define		OK_RGB20B				3223
#define		OK_RGB20C				3224

#define		OK_RGB30A				3230
#define		OK_RGB30B				3233
#define		OK_RGB30C				3234

#define		OK_MC10A				4210
#define		OK_MC12A				4212
#define		OK_MC16A				4216


//---pc/104+ series
#define		OK_PC10A				5210
#define		OK_PC16A				5216

//---usb series
#define		OK_USB20A				5220

//---cPCI series
#define		OK_CPC16A				5230

//---Digital series
#define		OK_CL20A				6120	//CameraLink 
#define		OK_CL40A				6140	//
#define		OK_CL60A				6160	//

#define		OK_LV20A				6220	//LVDS
#define		OK_LV40A				6240	//
#define		OK_LV60A				6260	//


//---Ok sereis Camera
#define		OK_AM1310				201310

#define		OK_AC1210				211210
#define		OK_AC1310				211310

#define		OK_SM1310				301310
#define		OK_SC1310				311310
#define		OK_SC2010				312010
#define		OK_SC3010				313010



//--error code

#define		ERR_NOERROR				0	//no error 
#define		ERR_NOTFOUNDBOARD		1	//not found available ok board 

#define		ERR_NOTFOUNDVXDDRV		2	//not found ok vxd/ntsys driver
#define		ERR_NOTALLOCATEDBUF		3	//not pre-allocated buffer from host memory
#define		ERR_BUFFERNOTENOUGH		4	//available buffer not enough for requirment
#define		ERR_BEYONDFRAMEBUF		5	//capture iamge size beyond buffer

#define		ERR_NOTFOUNDDRIVER		6	//not found the driver responded the card
#define		ERR_NOTCORRECTDRIVER	7	//the needed driver not correct

#define		ERR_MEMORYNOTENOUGH		8	//host memory not enough for DLL
#define		ERR_FUNNOTSUPPORT		9	//the function is not supported
#define		ERR_OPERATEFAILED		10	//something wrong with this function call

#define		ERR_HANDLEAPIERROR		11	//the handle to okapi32 function wrong
#define		ERR_DRVINITWRONG		12	//something wrong with this card's driver on initializing

#define		ERR_RECTVALUEWRONG		13	//the rect's parameters set wrong
#define		ERR_FORMNOTSUPPORT		14	//the format set not supported by this board

#define		ERR_TARGETNOTSUPPORT	15	//the target not support by this function

#define		ERR_NOSPECIFIEDBOARD	16	//not found specified board correctly sloted


//--format defines
#define		FORM_RGB888				1	
#define		FORM_RGB565				2
#define		FORM_RGB555				3
#define		FORM_RGB8888			4
#define		FORM_RGB332				5	
#define		FORM_RGB8886			18	

#define		FORM_YUV422				6	
#define		FORM_YUV411				7	
#define		FORM_YUV16				8	
#define		FORM_YUV12				9	
#define		FORM_YUV9				10	
#define		FORM_YUV8				11	

#define		FORM_GRAY888			12
#define		FORM_GRAY8888			13
#define		FORM_GRAY8				14
#define		FORM_GRAY10				15
#define		FORM_GRAY12				16
#define		FORM_GRAY16				17



//--mask command
#define		MASK_DISABALE			0	//turn of mask
#define		MASK_POSITIVE			1	//0 win clients visible, 1 video visible
#define		MASK_NEGATIVE			2	//0 for video 1 for win client (graph)


//--tv system standard
#define		TV_PALSTANDARD			0	//PAL
#define		TV_NTSCSTANDARD			1	//NTSC
#define		TV_NONSTANDARD			2	//NON_STD
#define		TV_HDTVSTANDARD			3	//HDTV_STD
//#define		TV_SECAMSTANDARD		4	//SECAM

//--HDTV sub mode
#define		HDTV_480P				1  //480 Lines Progressive scan
#define		HDTV_720P				2  //720 Lines Progressive scan
#define		HDTV_1080I				3  //1080 Lines Interlaced scan
#define		HDTV_1080P				4  //1080 Lines Interlaced scan

#define		TV_PALMAXWIDTH			768
#define		TV_PALMAXHEIGHT			576

#define		TV_NTSCMAXWIDTH			640 //720
#define		TV_NTSCMAXHEIGHT		480


//-----defines lParam for get param
#define		GETCURRPARAM			-1 

//-----sub-function defines for wParam of SetVideoParam
		//wParam cab be one of the follow
#define		VIDEO_RESETALL			0 //reset all to sys default
#define		VIDEO_SOURCECHAN		1 
			// lParam=0,1.. Comp.Video; 0x100,101...to Y/C(S-Video), 0x200,0x201 to RGB Chan.Input
#define		VIDEO_BRIGHTNESS		2 //LOWORD is brightness, for RGB HIWORD is channel (0:red, 1:green, 2:blue)
#define		VIDEO_CONTRAST			3 //LOWORD is contrast, for RGB HIWORD is channel (0:red, 1:green, 2:blue)
#define		VIDEO_COLORHUE			4
#define		VIDEO_SATURATION		5
#define		VIDEO_RGBFORMAT			6	//when return low word  is code high word is bitcount
#define		VIDEO_TVSTANDARD		7	//Main Mode:LOWORD 0 PAL, 1 NTSC, 2 Non-stadard, HDTVSTANDARD,
										//Sub Mode: HIWORD 1 HDTV_480P, ...
#define		VIDEO_SIGNALTYPE		8	//LOWORD 0: non-interlaced, 1: interlaced
										//2:single pixel, 3:double pixels (for digital signal)
										//HIWORD 0 no slot in field header, 1 yes
#define		VIDEO_RECTSHIFT			9	//video rect shift,  makelong (x,y)
#define		VIDEO_SYNCSIGCHAN		10  //LOWORD 0:Red,1:Grn,2:Blue, 3:Sync,4 H.V.Sync; 
										//HIWORD is source 0,1,..for RGB input,  
										// 0x100,0x101,... for comp.video input 
										// (in this case LOWORD has no mean more)
#define		VIDEO_AUXMONCHANN		11 //monitor video source chann on aux monitor
#define		VIDEO_AVAILRECTSIZE		12	//makelong(horz,vert)
										//horz available pixels per scan line and
										//vert available lines per frame
#define		VIDEO_FREQSEG			13	// set horz video frequency range
										//0:Low(7.5~15MHz),  1:middle(15~30), 2:High(30~60)
#define		VIDEO_LINEPERIOD		14 //line period (in 0.54 us) generated by board
										//HIWORD==1, in 0.1 vs
#define		VIDEO_FRAMELINES		15 //lines per frame generated by board
										//when outlines<2/3* caspture vert lines, it will zoom vert to half lines
										//for digtal cards

#define		VIDEO_MISCCONTROL		16 //miscellaneous control bits
									//b0:-satur, b1:- contr for c20, c30
									//b2:agc, b3:gama, b4:b/w, 
									//b5:fast mode for c30b

#define		VIDEO_ENABLEGRAPHS		17 //enable graph 
#define		VIDEO_GAINADJUST		18 //gain adjust 

#define		VIDEO_RECTSHIFTEX		19	//general video active rect shift,  makelong (x,y)
										//replace for VIDEO_RECTSHIFT
#define		VIDEO_PHASEADJUST		20 //phase adjust 

#define		VIDEO_OUTSIGNALTYPE		22 //out signal type, b0:in grn, b1:comp sync, b2:interlace
									   //b3:neg pole;  b4:vert half zoom
#define		VIDEO_OUTHORZPIX		23 // set out horz total pixel on the monitor

	
//-----sub-function defines for wParam of SetCaptureParam
		//wParam cab be one of the follow
#define		CAPTURE_RESETALL		0 //reset all to sys default
#define		CAPTURE_INTERVAL		1
#define		CAPTURE_CLIPMODE		2 //LOWORD: clip mode when video and dest rect not same size
									  //HIWORD: if captrure odd and even field crosslly
#define		CAPTURE_SCRRGBFORMAT	3 //when return, loword=code, hiword=bits 
#define		CAPTURE_BUFRGBFORMAT	4 
#define		CAPTURE_FRMRGBFORMAT	5
#define		CAPTURE_BUFBLOCKSIZE	6 //lParam=MAKELONG(width,height)
									  //if set it 0 (default), the rect set by user will be as block size 
#define		CAPTURE_HARDMIRROR		7   //bit0 x, bit1 y; 
#define		CAPTURE_VIASHARPEN		8	//sample via sharpen filter
#define		CAPTURE_VIAKFILTER		9  //sample via recursion filter
#define		CAPTURE_SAMPLEFIELD		10  //0 in field (non-interlaced), 1 in frame (interlaced), (0,1 are basic)
										//2 in field but keep expend row,3 in field but interlaced one frame
										//(2,4 can affect only sampllng field(frame) by field(frame) )
										//in 3 up-dn frame
#define		CAPTURE_HORZPIXELS		11	// set max horz pixel per scan line
#define		CAPTURE_VERTLINES		12	// set max vert lines per frame

#define		CAPTURE_ARITHMODE		13 //arithmatic mode
#define		CAPTURE_TO8BITMODE		14 //the mode of high (eg. 10 bits) converted to 8bit 
										//HIWORD(lParam)=0: linear scale, 
										//HIWORD(lParam)!=0:clip mode, LOWORD(lParam)=offset
#define		CAPTURE_SEQCAPWAIT		15 	// bit0 if waiting finished for functions of sequence capturing and playbacking
										//bit1 if waiting finished capture then call callback function 

#define		CAPTURE_MISCCONTROL		16 //miscellaneous control bits
										//bit0: 1: take one by one |okCapturByBuffer,okGetSeqCapture by interrupt control
										//bit1: 1: take last one 
									    //bit2: 1: one by one for usb20

#define		CAPTURE_TRIGCAPTURE		17 //set triggered capture, LOWORD cap no of fields, HIWORD delay fields after trigger

#define		CAPTURE_TURNCHANNELS	18 //turn channel when sequence capture
										//b0~6 for turn number (max 127), 
										//b8~31(24) mask 0~23 channles, b7=1 keep this pos

#define		CAPTURE_EXPOSETIME		20 //set exposed time for camera in microsecond 



#define		SAMPLE_INFIELD			0 //in field (non-interlaced)
#define		SAMPLE_INFRAME			1 //in frame of interlaced fields
					//the above two (0,1) are basic
#define		SAMPLE_FIELDEXP			2 //in field but expend (keep expend row)
#define		SAMPLE_UPDNFRAME		3 //in frame of up-downed fields 
#define		SAMPLE_FIELDINTER		4 //in field but interlaced to one frame
#define		SAMPLE_INTOPFIELD		5 //

//-----defines lParam for CAPTURE_CLIPMODE
#define		RECT_SCALERECT			0 
#define		RECT_CLIPCENTER			1 
#define		RECT_FIXLEFTTOP			2 
		//in condition video rect great than screen rect:
		//if RECT_SCALERECT video rect will be scaled to match screen rect if it can. else
		//video rect will be adjusted to match screen rect
		//(1: center, take center video rect  2: left-top fixed, take same size rect)

⌨️ 快捷键说明

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