----------------------------------------
-- File : dvp.ads --
-- Translator:Dongfeng.Gu,2018/10/29 --
-- Mail: 515639@qq.com --
-- Progress:100% --
----------------------------------------
with win32; use win32;
with win32.Winreg; use win32.Winreg;
with win32.winnt; use win32.winnt;
with win32.windef; use win32.windef;
with win32.rpcdce; use win32.rpcdce;
with win32.Objbase; use win32.Objbase;
with ddraw; use ddraw;
package dvp is
type LPIUNKNOWN is access all IUnknown;
IID_IDDVideoPortContainer:constant win32.rpcdce.GUID:=(16#6C142760#,16#A733#,16#11CE#,(16#A5#,16#21#,16#00#,16#20#,16#AF#,16#0B#,16#E5#,16#60#));
IID_IDirectDrawVideoPort:constant win32.rpcdce.GUID:=(16#B36D93E0#,16#2B43#,16#11CF#,(16#A2#,16#DE#,16#00#,16#AA#,16#00#,16#B9#,16#33#,16#56#));
IID_IDirectDrawVideoPortNotify:constant win32.rpcdce.GUID:=(16#A655FB94#,16#0589#,16#4E57#,(16#B3#,16#33#,16#56#,16#7A#,16#89#,16#46#,16#8C#,16#88#));
DDVPTYPE_E_HREFH_VREFH:constant win32.rpcdce.GUID:=(16#54F39980#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
DDVPTYPE_E_HREFH_VREFL:constant win32.rpcdce.GUID:=(16#92783220#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
DDVPTYPE_E_HREFL_VREFH:constant win32.rpcdce.GUID:=(16#A07A02E0#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
DDVPTYPE_E_HREFL_VREFL:constant win32.rpcdce.GUID:=(16#E09C77E0#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
DDVPTYPE_CCIR656:constant win32.rpcdce.GUID:=(16#FCA326A0#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
DDVPTYPE_BROOKTREE:constant win32.rpcdce.GUID:=(16#1352A560#,16#DA61#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
DDVPTYPE_PHILIPS:constant win32.rpcdce.GUID:=(16#332CF160#,16#DA61#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#));
subtype ULONG_PTR is DWORD;
type tagDDVIDEOPORTCONNECT;
type LPDDVIDEOPORTCONNECT is access all tagDDVIDEOPORTCONNECT;
type tagDDVIDEOPORTCAPS;
type LPDDVIDEOPORTCAPS is access all tagDDVIDEOPORTCAPS;
type tagDDVIDEOPORTDESC;
type LPDDVIDEOPORTDESC is access all tagDDVIDEOPORTDESC;
type tagDDVIDEOPORTINFO;
type LPDDVIDEOPORTINFO is access all tagDDVIDEOPORTINFO;
type tagDDVIDEOPORTBANDWIDTH;
type LPDDVIDEOPORTBANDWIDTH is access all tagDDVIDEOPORTBANDWIDTH;
type tagDDVIDEOPORTSTATUS;
type LPDDVIDEOPORTSTATUS is access all tagDDVIDEOPORTSTATUS;
type tagDDVIDEOPORTNOTIFY;
type LPDDVIDEOPORTNOTIFY is access all tagDDVIDEOPORTNOTIFY;
type LPDDENUMVIDEOCALLBACK is access function(Arg_1:LPDDVIDEOPORTCAPS;Arg_2:LPVOID) return HRESULT with Convention=>Stdcall;
type IDDVideoPortContainer;
type LPIDDVideoPortContainer is access all IDDVideoPortContainer;
type LPLPIDDVideoPortContainer is access all LPIDDVideoPortContainer;
subtype LPDDVideoPortContainer is LPIDDVideoPortContainer;
subtype LPLPDDVideoPortContainer is LPLPIDDVideoPortContainer;
type IDirectDrawVideoPort;
type LPIDirectDrawVideoPort is access all IDirectDrawVideoPort;
type LPLPIDirectDrawVideoPort is access all LPIDirectDrawVideoPort;
subtype LPDirectDrawVideoPort is LPIDirectDrawVideoPort;
subtype LPLPDirectDrawVideoPort is LPLPIDirectDrawVideoPort;
type IDirectDrawVideoPortNotify;
type LPIDirectDrawVideoPortNotify is access all IDirectDrawVideoPortNotify;
type LPLPIDirectDrawVideoPortNotify is access all LPIDirectDrawVideoPortNotify;
subtype LPDirectDrawVideoPortNotify is LPIDirectDrawVideoPortNotify;
subtype LPLPDirectDrawVideoPortNotify is LPLPIDirectDrawVideoPortNotify;
type IDDVideoPortContainer is record
QueryInterface:access procedure(THIS:LPIDDVideoPortContainer;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDDVideoPortContainer) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDDVideoPortContainer) return ULONG with Convention=>Stdcall;
CreateVideoPort:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;Arg3:LPDDVIDEOPORTDESC;Arg4:LPLPDIRECTDRAWVIDEOPORT;Arg5:LPIUnknown) with Convention=>Stdcall;
EnumVideoPorts:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;Arg3:LPDDVIDEOPORTCAPS;Arg4:LPVOID;Arg5:LPDDENUMVIDEOCALLBACK) with Convention=>Stdcall;
GetVideoPortConnectInfo:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;pcInfo:LPDWORD;Arg4:LPDDVIDEOPORTCONNECT) with Convention=>Stdcall;
QueryVideoPortStatus:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;Arg3:LPDDVIDEOPORTSTATUS) with Convention=>Stdcall;
end record;
type IDirectDrawVideoPort is record
QueryInterface:access procedure(THIS:LPIDirectDrawVideoPort;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawVideoPort) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawVideoPort) return ULONG with Convention=>Stdcall;
Flip:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDIRECTDRAWSURFACE;Arg3:DWORD) with Convention=>Stdcall;
GetBandwidthInfo:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDPIXELFORMAT;Arg3:DWORD;Arg4:DWORD;Arg5:DWORD;Arg6:LPDDVIDEOPORTBANDWIDTH) with Convention=>Stdcall;
GetColorControls:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDCOLORCONTROL) with Convention=>Stdcall;
GetInputFormats:access procedure(THIS:LPIDirectDrawVideoPort;lpNumFormats:LPDWORD;Arg3:LPDDPIXELFORMAT;Arg4:DWORD) with Convention=>Stdcall;
GetOutputFormats:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDPIXELFORMAT;lpNumFormats:LPDWORD;Arg4:LPDDPIXELFORMAT;Arg5:DWORD) with Convention=>Stdcall;
GetFieldPolarity:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPBOOL) with Convention=>Stdcall;
GetVideoLine:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDWORD) with Convention=>Stdcall;
GetVideoSignalStatus:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDWORD) with Convention=>Stdcall;
SetColorControls:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDCOLORCONTROL) with Convention=>Stdcall;
SetTargetSurface:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDIRECTDRAWSURFACE;Arg3:DWORD) with Convention=>Stdcall;
StartVideo:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDVIDEOPORTINFO) with Convention=>Stdcall;
StopVideo:access procedure(THIS:LPIDirectDrawVideoPort) with Convention=>Stdcall;
UpdateVideo:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDVIDEOPORTINFO) with Convention=>Stdcall;
WaitForSync:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall;
end record;
type IDirectDrawVideoPortNotify is record
QueryInterface:access procedure(THIS:LPIDirectDrawVideoPortNotify;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall;
AddRef:access function(THIS:LPIDirectDrawVideoPortNotify) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPIDirectDrawVideoPortNotify) return ULONG with Convention=>Stdcall;
AcquireNotification:access procedure(THIS:LPIDirectDrawVideoPortNotify;Arg2:LPHANDLE;Arg3:LPDDVIDEOPORTNOTIFY) with Convention=>Stdcall;
ReleaseNotification:access procedure(THIS:LPIDirectDrawVideoPortNotify;Arg2:HANDLE) with Convention=>Stdcall;
end record;
type tagDDVIDEOPORTCONNECT is record
dwSize: DWORD;
dwPortWidth: DWORD;
guidTypeID: GUID;
dwFlags: DWORD;
dwReserved1: ULONG_PTR;
end record;
subtype DDVIDEOPORTCONNECT is tagDDVIDEOPORTCONNECT;
type tagDDVIDEOPORTCAPS is record
dwSize: DWORD;
dwFlags: DWORD;
dwMaxWidth: DWORD;
dwMaxVBIWidth: DWORD;
dwMaxHeight: DWORD;
dwVideoPortID: DWORD;
dwCaps: DWORD;
dwFX: DWORD;
dwNumAutoFlipSurfaces: DWORD;
dwAlignVideoPortBoundary: DWORD;
dwAlignVideoPortPrescaleWidth: DWORD;
dwAlignVideoPortCropBoundary: DWORD;
dwAlignVideoPortCropWidth: DWORD;
dwPreshrinkXStep: DWORD;
dwPreshrinkYStep: DWORD;
dwNumVBIAutoFlipSurfaces: DWORD;
dwNumPreferredAutoflip: DWORD;
wNumFilterTapsX: WORD;
wNumFilterTapsY: WORD;
end record;
subtype DDVIDEOPORTCAPS is tagDDVIDEOPORTCAPS;
DDVPD_WIDTH : constant := 16#00000001#;
DDVPD_HEIGHT : constant := 16#00000002#;
DDVPD_ID : constant := 16#00000004#;
DDVPD_CAPS : constant := 16#00000008#;
DDVPD_FX : constant := 16#00000010#;
DDVPD_AUTOFLIP : constant := 16#00000020#;
DDVPD_ALIGN : constant := 16#00000040#;
DDVPD_PREFERREDAUTOFLIP : constant := 16#00000080#;
DDVPD_FILTERQUALITY : constant := 16#00000100#;
type tagDDVIDEOPORTDESC is record
dwSize: DWORD;
dwFieldWidth: DWORD;
dwVBIWidth: DWORD;
dwFieldHeight: DWORD;
dwMicrosecondsPerField: DWORD;
dwMaxPixelsPerSecond: DWORD;
dwVideoPortID: DWORD;
dwReserved1: DWORD;
VideoPortType: DDVIDEOPORTCONNECT;
dwReserved2: ULONG_PTR;
dwReserved3: ULONG_PTR;
end record;
subtype DDVIDEOPORTDESC is tagDDVIDEOPORTDESC;
type tagDDVIDEOPORTINFO is record
dwSize: DWORD;
dwOriginX: DWORD;
dwOriginY: DWORD;
dwVPFlags: DWORD;
rCrop: RECT;
dwPrescaleWidth: DWORD;
dwPrescaleHeight: DWORD;
lpddpfInputFormat: LPDDPIXELFORMAT;
lpddpfVBIInputFormat: LPDDPIXELFORMAT;
lpddpfVBIOutputFormat: LPDDPIXELFORMAT;
dwVBIHeight: DWORD;
dwReserved1: ULONG_PTR;
dwReserved2: ULONG_PTR;
end record;
subtype DDVIDEOPORTINFO is tagDDVIDEOPORTINFO;
type tagDDVIDEOPORTBANDWIDTH is record
dwSize: DWORD;
dwCaps: DWORD;
dwOverlay: DWORD;
dwColorkey: DWORD;
dwYInterpolate: DWORD;
dwYInterpAndColorkey: DWORD;
dwReserved1: ULONG_PTR;
dwReserved2: ULONG_PTR;
end record;
subtype DDVIDEOPORTBANDWIDTH is tagDDVIDEOPORTBANDWIDTH;
type tagDDVIDEOPORTSTATUS is record
dwSize: DWORD;
bInUse: BOOL;
dwFlags: DWORD;
dwReserved1: DWORD;
VideoPortType: DDVIDEOPORTCONNECT;
dwReserved2: ULONG_PTR;
dwReserved3: ULONG_PTR;
end record;
subtype DDVIDEOPORTSTATUS is tagDDVIDEOPORTSTATUS;
type tagDDVIDEOPORTNOTIFY is record
ApproximateTimeStamp: LARGE_INTEGER;
lField: LONG;
dwSurfaceIndex: UINT;
lDone: LONG;
end record;
subtype DDVIDEOPORTNOTIFY is tagDDVIDEOPORTNOTIFY;
DDVPCONNECT_DOUBLECLOCK : constant := 16#00000001#;
DDVPCONNECT_VACT : constant := 16#00000002#;
DDVPCONNECT_INVERTPOLARITY : constant := 16#00000004#;
DDVPCONNECT_DISCARDSVREFDATA : constant := 16#00000008#;
DDVPCONNECT_HALFLINE : constant := 16#00000010#;
DDVPCONNECT_INTERLACED : constant := 16#00000020#;
DDVPCONNECT_SHAREEVEN : constant := 16#00000040#;
DDVPCONNECT_SHAREODD : constant := 16#00000080#;
DDVPCAPS_AUTOFLIP : constant := 16#00000001#;
DDVPCAPS_INTERLACED : constant := 16#00000002#;
DDVPCAPS_NONINTERLACED : constant := 16#00000004#;
DDVPCAPS_READBACKFIELD : constant := 16#00000008#;
DDVPCAPS_READBACKLINE : constant := 16#00000010#;
DDVPCAPS_SHAREABLE : constant := 16#00000020#;
DDVPCAPS_SKIPEVENFIELDS : constant := 16#00000040#;
DDVPCAPS_SKIPODDFIELDS : constant := 16#00000080#;
DDVPCAPS_SYNCMASTER : constant := 16#00000100#;
DDVPCAPS_VBISURFACE : constant := 16#00000200#;
DDVPCAPS_COLORCONTROL : constant := 16#00000400#;
DDVPCAPS_OVERSAMPLEDVBI : constant := 16#00000800#;
DDVPCAPS_SYSTEMMEMORY : constant := 16#00001000#;
DDVPCAPS_VBIANDVIDEOINDEPENDENT : constant := 16#00002000#;
DDVPCAPS_HARDWAREDEINTERLACE : constant := 16#00004000#;
DDVPFX_CROPTOPDATA : constant := 16#00000001#;
DDVPFX_CROPX : constant := 16#00000002#;
DDVPFX_CROPY : constant := 16#00000004#;
DDVPFX_INTERLEAVE : constant := 16#00000008#;
DDVPFX_MIRRORLEFTRIGHT : constant := 16#00000010#;
DDVPFX_MIRRORUPDOWN : constant := 16#00000020#;
DDVPFX_PRESHRINKX : constant := 16#00000040#;
DDVPFX_PRESHRINKY : constant := 16#00000080#;
DDVPFX_PRESHRINKXB : constant := 16#00000100#;
DDVPFX_PRESHRINKYB : constant := 16#00000200#;
DDVPFX_PRESHRINKXS : constant := 16#00000400#;
DDVPFX_PRESHRINKYS : constant := 16#00000800#;
DDVPFX_PRESTRETCHX : constant := 16#00001000#;
DDVPFX_PRESTRETCHY : constant := 16#00002000#;
DDVPFX_PRESTRETCHXN : constant := 16#00004000#;
DDVPFX_PRESTRETCHYN : constant := 16#00008000#;
DDVPFX_VBICONVERT : constant := 16#00010000#;
DDVPFX_VBINOSCALE : constant := 16#00020000#;
DDVPFX_IGNOREVBIXCROP : constant := 16#00040000#;
DDVPFX_VBINOINTERLEAVE : constant := 16#00080000#;
DDVP_AUTOFLIP : constant := 16#00000001#;
DDVP_CONVERT : constant := 16#00000002#;
DDVP_CROP : constant := 16#00000004#;
DDVP_INTERLEAVE : constant := 16#00000008#;
DDVP_MIRRORLEFTRIGHT : constant := 16#00000010#;
DDVP_MIRRORUPDOWN : constant := 16#00000020#;
DDVP_PRESCALE : constant := 16#00000040#;
DDVP_SKIPEVENFIELDS : constant := 16#00000080#;
DDVP_SKIPODDFIELDS : constant := 16#00000100#;
DDVP_SYNCMASTER : constant := 16#00000200#;
DDVP_VBICONVERT : constant := 16#00000400#;
DDVP_VBINOSCALE : constant := 16#00000800#;
DDVP_OVERRIDEBOBWEAVE : constant := 16#00001000#;
DDVP_IGNOREVBIXCROP : constant := 16#00002000#;
DDVP_VBINOINTERLEAVE : constant := 16#00004000#;
DDVP_HARDWAREDEINTERLACE : constant := 16#00008000#;
DDVPFORMAT_VIDEO : constant := 16#00000001#;
DDVPFORMAT_VBI : constant := 16#00000002#;
DDVPTARGET_VIDEO : constant := 16#00000001#;
DDVPTARGET_VBI : constant := 16#00000002#;
DDVPWAIT_BEGIN : constant := 16#00000001#;
DDVPWAIT_END : constant := 16#00000002#;
DDVPWAIT_LINE : constant := 16#00000003#;
DDVPFLIP_VIDEO : constant := 16#00000001#;
DDVPFLIP_VBI : constant := 16#00000002#;
DDVPSQ_NOSIGNAL : constant := 16#00000001#;
DDVPSQ_SIGNALOK : constant := 16#00000002#;
DDVPB_VIDEOPORT : constant := 16#00000001#;
DDVPB_OVERLAY : constant := 16#00000002#;
DDVPB_TYPE : constant := 16#00000004#;
DDVPBCAPS_SOURCE : constant := 16#00000001#;
DDVPBCAPS_DESTINATION : constant := 16#00000002#;
DDVPCREATE_VBIONLY : constant := 16#00000001#;
DDVPCREATE_VIDEOONLY : constant := 16#00000002#;
DDVPSTATUS_VBIONLY : constant := 16#00000001#;
DDVPSTATUS_VIDEOONLY : constant := 16#00000002#;
--
-- THE END.
--
end dvp;