📄 cg300api.pas
字号:
//*
//*-----------------------------------------------------------------------------
//* Name CG300API.PAS
//* Purpose Device Driver Interface for Win32s, Win95/98/ME
//* Image karte DH-VRT-CG300
//* Development Kit Borland Delphi 5.00
//* Author Wu Di-jing
//* Date 2001/12/01
//*
//*
//* Description
//*
//*
//*-----------------------------------------------------------------------------
//*/
unit CG300API;
interface
type
HCG300 = LONGWORD;
const
// Video Standard
PAL = 0;
NTSC = 1;
DISABLE = FALSE;
ENABLE = TRUE;
AD_SOURCE = 0;
AD_BRIGHTNESS = 1;
AD_CONTRAST = 2;
AD_HUE = 3;
AD_SATURATION = 4;
AD_SATURATION_U = 5;
AD_SATURATION_V = 6;
FIELD = 1;
FRAME = 0;
YUV422 = 0;
RGB888 = 1;
RGB565 = 2;
RGB555 = 3;
RGB8888 = 4;
All8Bit = 5;
Limited8Bit = 6;
TopField = 0;
BottomField = 1;
// Functions of CG300 device driver
function BeginCG300(iImageDevice:integer):HCG300;stdcall;
function EndCG300(hcg:HCG300):integer;stdcall;
function CG300Capture(hcg:HCG300; Enable:WordBool):integer;stdcall;
function CG300CaptureToMem(hcg:HCG300; MemPhysAddr:LongWord; MemSize:LongWord; IntervVSyncs:LongWord;
bFrmMode:LongWord; Sum:WORD):integer;stdcall;
function CG300EnableOverlay(hcg:HCG300; Enable:WordBool):integer;stdcall;
function CG300GetSnappingStatus(hcg:HCG300; var Flag:integer):integer;stdcall;
function CG300ReadFromMem(hcg:HCG300; lpSourBuf:Pchar; BufSize:LongWord;
Number:WORD; lpDestBuf:Pchar):integer;stdcall;
function CG300CopyFromMem(hcg: HCG300; pDestBuf, pSrcBuf:Pchar; Length:LongWord): integer;
stdcall;
function CG300SelectCryOSC(hcg:HCG300; TypeCryOSC:BYTE):integer;stdcall;
function CG300SetADParam(hcg:HCG300; Param, Value:BYTE):integer;stdcall;
function CG300SetColorSpace(hcg:HCG300; Space:BYTE):integer;stdcall;
function CG300SetDelay(hcg:HCG300; XDelay, YDelay:WORD):integer;stdcall;
function CG300SetDispMode(hcg:HCG300; Mode:WORD):integer; stdcall;
function CG300SetDispWindow(hcg:HCG300;
Left, Top, Width, Height:integer):integer;stdcall;
function CG300SetInpVideoWindow(hcg:HCG300;
Left, Top, Width, Height:integer):integer;stdcall;
function CG300SetMask(hcg:HCG300; Param:BYTE; var MaskBuf:LongWord):integer;stdcall;
function CG300SetPLLFreqParam(hcg:HCG300; Value:BYTE):integer;stdcall;
function CG300SetVideoStandard(hcg:HCG300; Mode:WORD):integer;stdcall;
function CG300SetVideoDecimation(hcg:HCG300; Value:BYTE):integer;stdcall;
function CG300Snap( hcg: HCG300):integer;stdcall;
function CG300SnapOneToMem( hcg:HCG300; MemAddr, MemSize, FrmMode:LongWord ):integer;stdcall;
function CG300VideoPresent(hcg:HCG300; var Status:WordBool):integer;stdcall;
function CG300WaitOddVSync(hcg:HCG300):integer;stdcall;
function CG300WaitEvenVSync(hcg:HCG300):integer;stdcall;
function CG300ResetAudio(hcg:HCG300):integer;stdcall;
function CG300SetAudioRange(hcg:HCG300; Mode:BYTE):integer;stdcall;
function ReadDispWindow(hdc:LongWord; Left,Top,Width, Height:Integer;
lpDestBuf:PChar):integer;stdcall;
function CG300SnapToMem(hcg: HCG300; MemAddr,MemSize,
bFrmMode: LongWord; Sum: Word):integer;stdcall;
function CG300GetSnapToMemNumber(hcg: HCG300; var Num: integer):integer;stdcall;
function CG300GetSnapToMemStatus(hcg: HCG300; var pFlag: integer):integer;stdcall;
function StaticMemAlloc(var Pages, PhysAddr,Handle,LineAddr: LongWord):integer;
stdcall;
function SetStaticMemAlloc(Pages: LongWord):integer;stdcall;
function CG300CopyToMem(hcg: HCG300; pDestBuf:Pchar; pSrcBuf:Pchar; Length:LongWord):integer;stdcall;
function CG300FillToMem(hcg: HCG300; pDestBuf:Pchar; Length:longWord; Value:Byte):integer;stdcall;
implementation
function BeginCG300; external 'cg300d32.dll' name 'BeginCG300';
function EndCG300; external 'cg300d32.dll' name 'EndCG300';
function CG300Capture; external 'cg300d32.dll' name 'CG300Capture';
function CG300CaptureToMem; external 'cg300d32.dll' name 'CG300CaptureToMem';
function CG300EnableOverlay; external 'cg300d32.dll' name 'CG300EnableOverlay';
function CG300GetSnappingStatus; external 'cg300d32.dll' name 'CG300GetSnappingStatus';
function CG300ReadFromMem; external 'cg300d32.dll' name 'CG300ReadFromMem';
function CG300CopyFromMem; external 'cg300d32.dll' name 'CG300CopyFromMem';
function CG300SelectCryOSC; external 'cg300d32.dll' name 'CG300SelectCryOSC';
function CG300SetADParam; external 'cg300d32.dll' name 'CG300SetADParam';
function CG300SetColorSpace; external 'cg300d32.dll' name 'CG300SetColorSpace';
function CG300SetDelay; external 'cg300d32.dll' name 'CG300SetDelay';
function CG300SetDispMode; external 'cg300d32.dll' name 'CG300SetDispMode';
function CG300SetDispWindow; external 'cg300d32.dll' name 'CG300SetDispWindow';
function CG300SetInpVideoWindow; external 'cg300d32.dll' name 'CG300SetInpVideoWindow';
function CG300SetMask; external 'cg300d32.dll' name 'CG300SetMask';
function CG300SetPLLFreqParam; external 'cg300d32.dll' name 'CG300SetPLLFreqParam';
function CG300SetVideoStandard; external 'cg300d32.dll' name 'CG300SetVideoStandard';
function CG300SetVideoDecimation; external 'cg300d32.dll' name 'CG300SetVideoDecimation';
function CG300Snap; external 'cg300d32.dll' name 'CG300Snap';
function CG300SnapOneToMem; external 'cg300d32.dll' name 'CG300SnapOneToMem';
function CG300VideoPresent; external 'cg300d32.dll' name 'CG300VideoPresent';
function CG300WaitOddVSync; external 'cg300d32.dll' name 'CG300WaitOddVSync';
function CG300WaitEvenVSync; external 'cg300d32.dll' name 'CG300WaitEvenVSync';
function CG300ResetAudio; external 'cg300d32.dll' name 'CG300ResetAudio';
function CG300SetAudioRange; external 'cg300d32.dll' name 'CG300SetAudioRange';
function ReadDispWindow; external 'cg300d32.dll' name 'ReadDispWindow';
function CG300SnapToMem; external 'cg300d32.dll' name 'CG300SnapToMem';
function CG300GetSnapToMemNumber; external 'cg300d32.dll' name 'CG300GetSnapToMemNumber';
function CG300GetSnapToMemStatus; external 'cg300d32.dll' name 'CG300GetSnapToMemStatus';
function StaticMemAlloc; external 'cg300d32.dll' name 'StaticMemAlloc';
function SetStaticMemAlloc; external 'cg300d32.dll' name 'SetStaticMemAlloc';
function CG300CopyToMem; external 'cg300d32.dll' name 'CG300CopyToMem';
function CG300FillToMem; external 'cg300d32.dll' name 'CG300FillToMem';
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -