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