10#ifndef __DVP_INCLUDED__
11#define __DVP_INCLUDED__
12#if defined( _WIN32 ) && !defined( _NO_COM )
13#define COM_NO_WINDOWS_H
17#undef CO_E_NOTINITIALIZED
18#define CO_E_NOTINITIALIZED 0x800401F0L
28DEFINE_GUID( IID_IDDVideoPortContainer, 0x6C142760,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
29DEFINE_GUID( IID_IDirectDrawVideoPort, 0xB36D93E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
31DEFINE_GUID( DDVPTYPE_E_HREFH_VREFH, 0x54F39980L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
32DEFINE_GUID( DDVPTYPE_E_HREFH_VREFL, 0x92783220L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
33DEFINE_GUID( DDVPTYPE_E_HREFL_VREFH, 0xA07A02E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
34DEFINE_GUID( DDVPTYPE_E_HREFL_VREFL, 0xE09C77E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
35DEFINE_GUID( DDVPTYPE_CCIR656, 0xFCA326A0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
36DEFINE_GUID( DDVPTYPE_BROOKTREE, 0x1352A560L,0xDA61,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
37DEFINE_GUID( DDVPTYPE_PHILIPS, 0x332CF160L,0xDA61,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
53struct IDirectDrawSurface;
54struct IDirectDrawPalette;
55struct IDirectDrawClipper;
87#define INTERFACE IDDVideoPortContainer
91 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
92 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
93 STDMETHOD_(ULONG,Release) (THIS) PURE;
101#if !defined(__cplusplus) || defined(CINTERFACE)
102#define IVideoPortContainer_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
103#define IVideoPortContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
104#define IVideoPortContainer_Release(p) (p)->lpVtbl->Release(p)
105#define IVideoPortContainer_CreateVideoPort(p, a, b, c, d) (p)->lpVtbl->CreateVideoPort(p, a, b, c, d)
106#define IVideoPortContainer_EnumVideoPorts(p, a, b, c, d) (p)->lpVtbl->EnumVideoPorts(p, a, b, c, d)
107#define IVideoPortContainer_GetVideoPortConnectInfo(p, a, b, c) (p)->lpVtbl->GetVideoPortConnectInfo(p, a, b, c)
108#define IVideoPortContainer_QueryVideoPortStatus(p, a, b) (p)->lpVtbl->QueryVideoPortStatus(p, a, b)
110#define IVideoPortContainer_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
111#define IVideoPortContainer_AddRef(p) (p)->AddRef()
112#define IVideoPortContainer_Release(p) (p)->Release()
113#define IVideoPortContainer_CreateVideoPort(p, a, b, c, d) (p)->CreateVideoPort(a, b, c, d)
114#define IVideoPortContainer_EnumVideoPorts(p, a, b, c, d) (p)->EnumVideoPorts(a, b, c, d)
115#define IVideoPortContainer_GetVideoPortConnectInfo(p, a, b, c) (p)->GetVideoPortConnectInfo(a, b, c)
116#define IVideoPortContainer_QueryVideoPortStatus(p, a, b) (p)->QueryVideoPortStatus(a, b)
125#define INTERFACE IDirectDrawVideoPort
129 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
130 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
131 STDMETHOD_(ULONG,Release) (THIS) PURE;
138 STDMETHOD(GetFieldPolarity)(THIS_ LPBOOL) PURE;
139 STDMETHOD(GetVideoLine)(THIS_ LPDWORD) PURE;
140 STDMETHOD(GetVideoSignalStatus)(THIS_ LPDWORD) PURE;
144 STDMETHOD(StopVideo)(THIS) PURE;
149#if !defined(__cplusplus) || defined(CINTERFACE)
150#define IVideoPort_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
151#define IVideoPort_AddRef(p) (p)->lpVtbl->AddRef(p)
152#define IVideoPort_Release(p) (p)->lpVtbl->Release(p)
153#define IVideoPort_SetTargetSurface(p,a,b) (p)->lpVtbl->SetTargetSurface(p,a,b)
154#define IVideoPort_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
155#define IVideoPort_GetBandwidthInfo(p,a,b,c,d,e) (p)->lpVtbl->GetBandwidthInfo(p,a,b,c,d,e)
156#define IVideoPort_GetColorControls(p,a) (p)->lpVtbl->GetColorControls(p,a)
157#define IVideoPort_GetInputFormats(p,a,b,c) (p)->lpVtbl->GetInputFormats(p,a,b,c)
158#define IVideoPort_GetOutputFormats(p,a,b,c,d) (p)->lpVtbl->GetOutputFormats(p,a,b,c,d)
159#define IVideoPort_GetFieldPolarity(p,a) (p)->lpVtbl->GetFieldPolarity(p,a)
160#define IVideoPort_GetVideoLine(p,a) (p)->lpVtbl->GetVideoLine(p,a)
161#define IVideoPort_GetVideoSignalStatus(p,a) (p)->lpVtbl->GetVideoSignalStatus(p,a)
162#define IVideoPort_SetColorControls(p,a) (p)->lpVtbl->SetColorControls(p,a)
163#define IVideoPort_StartVideo(p,a) (p)->lpVtbl->StartVideo(p,a)
164#define IVideoPort_StopVideo(p) (p)->lpVtbl->StopVideo(p)
165#define IVideoPort_UpdateVideo(p,a) (p)->lpVtbl->UpdateVideo(p,a)
166#define IVideoPort_WaitForSync(p,a,b,c) (p)->lpVtbl->WaitForSync(p,a,b,c)
168#define IVideoPort_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
169#define IVideoPort_AddRef(p) (p)->AddRef()
170#define IVideoPort_Release(p) (p)->Release()
171#define IVideoPort_SetTargetSurface(p,a,b) (p)->SetTargetSurface(a,b)
172#define IVideoPort_Flip(p,a,b) (p)->Flip(a,b)
173#define IVideoPort_GetBandwidthInfo(p,a,b,c,d,e) (p)->GetBandwidthInfo(a,b,c,d,e)
174#define IVideoPort_GetColorControls(p,a) (p)->GetColorControls(a)
175#define IVideoPort_GetInputFormats(p,a,b,c) (p)->GetInputFormats(a,b,c)
176#define IVideoPort_GetOutputFormats(p,a,b,c,d) (p)->GetOutputFormats(a,b,c,d)
177#define IVideoPort_GetFieldPolarity(p,a) (p)->GetFieldPolarity(a)
178#define IVideoPort_GetVideoLine(p,a) (p)->GetVideoLine(a)
179#define IVideoPort_GetVideoSignalStatus(p,a) (p)->GetVideoSignalStatus(a)
180#define IVideoPort_SetColorControls(p,a) (p)->SetColorControls(a)
181#define IVideoPort_StartVideo(p,a) (p)->StartVideo(a)
182#define IVideoPort_StopVideo(p) (p)->StopVideo()
183#define IVideoPort_UpdateVideo(p,a) (p)->UpdateVideo(a)
184#define IVideoPort_WaitForSync(p,a,b,c) (p)->WaitForSync(a,b,c)
230#define DDVPD_WIDTH 0x00000001l
235#define DDVPD_HEIGHT 0x00000002l
240#define DDVPD_ID 0x00000004l
245#define DDVPD_CAPS 0x00000008l
250#define DDVPD_FX 0x00000010l
255#define DDVPD_AUTOFLIP 0x00000020l
260#define DDVPD_ALIGN 0x00000040l
354#define DDVPCONNECT_DOUBLECLOCK 0x00000001l
362#define DDVPCONNECT_VACT 0x00000002l
371#define DDVPCONNECT_INVERTPOLARITY 0x00000004l
377#define DDVPCONNECT_DISCARDSVREFDATA 0x00000008l
383#define DDVPCONNECT_HALFLINE 0x00000010l
389#define DDVPCONNECT_INTERLACED 0x00000020l
395#define DDVPCONNECT_SHAREEVEN 0x00000040l
401#define DDVPCONNECT_SHAREODD 0x00000080l
412#define DDVPCAPS_AUTOFLIP 0x00000001l
417#define DDVPCAPS_INTERLACED 0x00000002l
422#define DDVPCAPS_NONINTERLACED 0x00000004l
428#define DDVPCAPS_READBACKFIELD 0x00000008l
434#define DDVPCAPS_READBACKLINE 0x00000010l
442#define DDVPCAPS_SHAREABLE 0x00000020l
447#define DDVPCAPS_SKIPEVENFIELDS 0x00000040l
452#define DDVPCAPS_SKIPODDFIELDS 0x00000080l
458#define DDVPCAPS_SYNCMASTER 0x00000100l
464#define DDVPCAPS_VBISURFACE 0x00000200l
470#define DDVPCAPS_COLORCONTROL 0x00000400l
476#define DDVPCAPS_OVERSAMPLEDVBI 0x00000800l
481#define DDVPCAPS_SYSTEMMEMORY 0x00001000l
493#define DDVPFX_CROPTOPDATA 0x00000001l
499#define DDVPFX_CROPX 0x00000002l
505#define DDVPFX_CROPY 0x00000004l
510#define DDVPFX_INTERLEAVE 0x00000008l
516#define DDVPFX_MIRRORLEFTRIGHT 0x00000010l
522#define DDVPFX_MIRRORUPDOWN 0x00000020l
528#define DDVPFX_PRESHRINKX 0x00000040l
534#define DDVPFX_PRESHRINKY 0x00000080l
540#define DDVPFX_PRESHRINKXB 0x00000100l
546#define DDVPFX_PRESHRINKYB 0x00000200l
553#define DDVPFX_PRESHRINKXS 0x00000400l
560#define DDVPFX_PRESHRINKYS 0x00000800l
566#define DDVPFX_PRESTRETCHX 0x00001000l
572#define DDVPFX_PRESTRETCHY 0x00002000l
578#define DDVPFX_PRESTRETCHXN 0x00004000l
584#define DDVPFX_PRESTRETCHYN 0x00008000l
590#define DDVPFX_VBICONVERT 0x00010000l
596#define DDVPFX_VBINOSCALE 0x00020000l
602#define DDVPFX_IGNOREVBIXCROP 0x00040000l
619#define DDVP_AUTOFLIP 0x00000001l
624#define DDVP_CONVERT 0x00000002l
629#define DDVP_CROP 0x00000004l
634#define DDVP_INTERLEAVE 0x00000008l
640#define DDVP_MIRRORLEFTRIGHT 0x00000010l
646#define DDVP_MIRRORUPDOWN 0x00000020l
651#define DDVP_PRESCALE 0x00000040l
656#define DDVP_SKIPEVENFIELDS 0x00000080l
661#define DDVP_SKIPODDFIELDS 0x00000100l
666#define DDVP_SYNCMASTER 0x00000200l
672#define DDVP_VBICONVERT 0x00000400l
678#define DDVP_VBINOSCALE 0x00000800l
684#define DDVP_OVERRIDEBOBWEAVE 0x00001000l
690#define DDVP_IGNOREVBIXCROP 0x00002000l
702#define DDVPFORMAT_VIDEO 0x00000001l
707#define DDVPFORMAT_VBI 0x00000002l
720#define DDVPTARGET_VIDEO 0x00000001l
725#define DDVPTARGET_VBI 0x00000002l
737#define DDVPWAIT_BEGIN 0x00000001l
742#define DDVPWAIT_END 0x00000002l
747#define DDVPWAIT_LINE 0x00000003l
758#define DDVPFLIP_VIDEO 0x00000001l
763#define DDVPFLIP_VBI 0x00000002l
774#define DDVPSQ_NOSIGNAL 0x00000001l
779#define DDVPSQ_SIGNALOK 0x00000002l
791#define DDVPB_VIDEOPORT 0x00000001l
796#define DDVPB_OVERLAY 0x00000002l
801#define DDVPB_TYPE 0x00000004l
812#define DDVPBCAPS_SOURCE 0x00000001l
818#define DDVPBCAPS_DESTINATION 0x00000002l
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:213
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
Definition: ddraw.h:74
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
struct _DDCOLORCONTROL FAR * LPDDCOLORCONTROL
Definition: ddraw.h:84
DDPIXELFORMAT FAR * LPDDPIXELFORMAT
Definition: ddraw.h:375
struct IDirectDrawVideoPortVtbl DIRECTDRAWVIDEOPORTCALLBACKS
Definition: dvp.h:68
#define IUnknown
Definition: dvp.h:16
struct _DDVIDEOPORTSTATUS DDVIDEOPORTSTATUS
struct _DDVIDEOPORTSTATUS FAR * LPDDVIDEOPORTSTATUS
Definition: dvp.h:65
struct _DDVIDEOPORTINFO FAR * LPDDVIDEOPORTINFO
Definition: dvp.h:63
typedef HRESULT(FAR PASCAL *LPDDENUMVIDEOCALLBACK)(LPDDVIDEOPORTCAPS
struct _DDVIDEOPORTDESC DDVIDEOPORTDESC
struct IDirectDrawVideoPort FAR * LPDIRECTDRAWVIDEOPORT
Definition: dvp.h:58
DECLARE_INTERFACE_(IDDVideoPortContainer, IUnknown)
Definition: dvp.h:88
struct IDDVideoPortContainerVtbl DDVIDEOPORTCONTAINERCALLBACKS
Definition: dvp.h:67
DEFINE_GUID(IID_IDDVideoPortContainer, 0x6C142760, 0xA733, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60)
struct _DDVIDEOPORTDESC FAR * LPDDVIDEOPORTDESC
Definition: dvp.h:62
struct _DDVIDEOPORTBANDWIDTH DDVIDEOPORTBANDWIDTH
struct IDDVideoPortContainer FAR * LPDDVIDEOPORTCONTAINER
Definition: dvp.h:57
struct _DDVIDEOPORTINFO DDVIDEOPORTINFO
struct _DDVIDEOPORTCONNECT FAR * LPDDVIDEOPORTCONNECT
Definition: dvp.h:60
struct _DDVIDEOPORTCONNECT DDVIDEOPORTCONNECT
struct _DDVIDEOPORTCAPS DDVIDEOPORTCAPS
struct _DDVIDEOPORTBANDWIDTH FAR * LPDDVIDEOPORTBANDWIDTH
Definition: dvp.h:64
typedef LPVOID
Definition: dvp.h:74
struct _DDVIDEOPORTCAPS FAR * LPDDVIDEOPORTCAPS
Definition: dvp.h:61
DWORD dwYInterpAndColorkey
Zoom factor at which ovelray w/ Y interpolation and colorkeying is supported.
Definition: dvp.h:313
DWORD dwSize
Size of the structure.
Definition: dvp.h:308
DWORD dwReserved1
Reserved for future use - set to zero.
Definition: dvp.h:314
DWORD dwReserved2
Reserved for future use - set to zero.
Definition: dvp.h:315
DWORD dwColorkey
Zoom factor at which overlay w/ colorkey is supported.
Definition: dvp.h:311
DWORD dwCaps
Definition: dvp.h:309
DWORD dwYInterpolate
Zoom factor at which overlay w/ Y interpolation is supported.
Definition: dvp.h:312
DWORD dwOverlay
Zoom factor at which overlay is supported.
Definition: dvp.h:310
DWORD dwAlignVideoPortCropBoundary
Byte restriction of left cropping.
Definition: dvp.h:218
DWORD dwPreshrinkYStep
Height can be shrunk in steps of 1/x.
Definition: dvp.h:221
DWORD dwAlignVideoPortBoundary
Byte restriction of placement within the surface.
Definition: dvp.h:216
DWORD dwMaxVBIWidth
max width of the VBI data
Definition: dvp.h:210
DWORD dwSize
size of the DDVIDEOPORTCAPS structure
Definition: dvp.h:207
DWORD dwPreshrinkXStep
Width can be shrunk in steps of 1/x.
Definition: dvp.h:220
DWORD dwReserved1
Reserved for future use.
Definition: dvp.h:223
DWORD dwNumVBIAutoFlipSurfaces
Number of VBI autoflippable surfaces.
Definition: dvp.h:222
DWORD dwFX
More video port capabilities.
Definition: dvp.h:214
DWORD dwVideoPortID
Video port ID (0 - (dwMaxVideoPorts -1))
Definition: dvp.h:212
DWORD dwMaxHeight
max height of the video port field
Definition: dvp.h:211
DWORD dwAlignVideoPortPrescaleWidth
Byte restriction of width after prescaling.
Definition: dvp.h:217
DWORD dwNumAutoFlipSurfaces
Number of autoflippable surfaces.
Definition: dvp.h:215
DWORD dwCaps
Video port capabilities.
Definition: dvp.h:213
DWORD dwFlags
indicates which fields contain data
Definition: dvp.h:208
DWORD dwReserved2
Reserved for future use.
Definition: dvp.h:224
DWORD dwMaxWidth
max width of the video port field
Definition: dvp.h:209
DWORD dwAlignVideoPortCropWidth
Byte restriction of cropping width.
Definition: dvp.h:219
DWORD dwFlags
Connection flags.
Definition: dvp.h:197
DWORD dwReserved1
Reserved, set to zero.
Definition: dvp.h:198
DWORD dwSize
size of the DDVIDEOPORTCONNECT structure
Definition: dvp.h:194
GUID guidTypeID
Description of video port connection.
Definition: dvp.h:196
DWORD dwPortWidth
Width of the video port.
Definition: dvp.h:195
DWORD dwVideoPortID
Video port ID (0 - (dwMaxVideoPorts -1))
Definition: dvp.h:274
DWORD dwReserved1
Reserved for future use - set to zero.
Definition: dvp.h:275
DDVIDEOPORTCONNECT VideoPortType
Description of video port connection.
Definition: dvp.h:276
DWORD dwFieldWidth
width of the video port field
Definition: dvp.h:269
DWORD dwVBIWidth
width of the VBI data
Definition: dvp.h:270
DWORD dwFieldHeight
height of the video port field
Definition: dvp.h:271
DWORD dwMaxPixelsPerSecond
Maximum pixel rate per second.
Definition: dvp.h:273
DWORD dwMicrosecondsPerField
Microseconds per video field.
Definition: dvp.h:272
DWORD dwReserved2
Reserved for future use - set to zero.
Definition: dvp.h:277
DWORD dwSize
size of the DDVIDEOPORTDESC structure
Definition: dvp.h:268
DWORD dwReserved3
Reserved for future use - set to zero.
Definition: dvp.h:278
DWORD dwPrescaleWidth
Determines pre-scaling/zooming in the X direction (optional).
Definition: dvp.h:292
DWORD dwOriginY
Placement of the video data within the surface.
Definition: dvp.h:289
RECT rCrop
Cropping rectangle (optional).
Definition: dvp.h:291
LPDDPIXELFORMAT lpddpfVBIInputFormat
Input format of the VBI data.
Definition: dvp.h:295
DWORD dwOriginX
Placement of the video data within the surface.
Definition: dvp.h:288
DWORD dwReserved1
Reserved for future use - set to zero.
Definition: dvp.h:298
LPDDPIXELFORMAT lpddpfVBIOutputFormat
Output format of the data.
Definition: dvp.h:296
DWORD dwReserved2
Reserved for future use - set to zero.
Definition: dvp.h:299
DWORD dwVBIHeight
Specifies the number of lines of data within the vertical blanking interval.
Definition: dvp.h:297
LPDDPIXELFORMAT lpddpfInputFormat
Video format written to the video port.
Definition: dvp.h:294
DWORD dwPrescaleHeight
Determines pre-scaling/zooming in the Y direction (optional).
Definition: dvp.h:293
DWORD dwVPFlags
Video port options.
Definition: dvp.h:290
DWORD dwSize
Size of the structure.
Definition: dvp.h:287
DDVIDEOPORTCONNECT VideoPortType
Information about the connection.
Definition: dvp.h:328
DWORD dwReserved2
Reserved for future use.
Definition: dvp.h:329
DWORD dwReserved1
Reserved for future use.
Definition: dvp.h:327
DWORD dwFlags
Currently not used.
Definition: dvp.h:326
BOOL bInUse
TRUE if video port is currently being used.
Definition: dvp.h:325
DWORD dwReserved3
Reserved for future use.
Definition: dvp.h:330
DWORD dwSize
Size of the structure.
Definition: dvp.h:324