/[cvs]/api/include/vpconfig.h
ViewVC logotype

Contents of /api/include/vpconfig.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (vendor branch)
Sun Jul 1 20:47:59 2001 UTC (23 years, 5 months ago) by bearsoft
Branch: lazy, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
First import

1 //------------------------------------------------------------------------------
2 // File: VPConfig.h
3 //
4 // Desc: An interface exposed by the decoder to help it and the filter
5 // configuring the videoport to communicate.
6 //
7 // Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
8 //------------------------------------------------------------------------------
9
10
11 #ifndef __IVPConfig__
12 #define __IVPConfig__
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 // IVPBaseConfig
19 DECLARE_INTERFACE_(IVPBaseConfig, IUnknown)
20 {
21 public:
22
23 // gets the various connection information structures (guid, portwidth)
24 // in an array of structures. If the pointer to the array is NULL, first
25 // parameter returns the total number of formats supported.
26 STDMETHOD (GetConnectInfo)(THIS_
27 IN OUT LPDWORD pdwNumConnectInfo,
28 IN OUT LPDDVIDEOPORTCONNECT pddVPConnectInfo
29 ) PURE;
30
31 // sets the connection entry chosen (0, 1, .. ,(dwNumProposedEntries-1))
32 STDMETHOD (SetConnectInfo)(THIS_
33 IN DWORD dwChosenEntry
34 ) PURE;
35
36 // gets various data parameters, includes dimensionnal info
37 STDMETHOD (GetVPDataInfo)(THIS_
38 IN OUT LPAMVPDATAINFO pamvpDataInfo
39 ) PURE;
40
41 // retrives maximum pixels per second rate expected for a given
42 // format and a given scaling factor. If decoder does not support
43 // those scaling factors, then it gives the rate and the nearest
44 // scaling factors.
45 STDMETHOD (GetMaxPixelRate)(THIS_
46 IN OUT LPAMVPSIZE pamvpSize,
47 OUT LPDWORD pdwMaxPixelsPerSecond
48 ) PURE;
49
50 // informs the callee of the videoformats supported by the videoport
51 STDMETHOD (InformVPInputFormats)(THIS_
52 IN DWORD dwNumFormats,
53 IN LPDDPIXELFORMAT pDDPixelFormats
54 ) PURE;
55
56 // gets the various formats supported by the decoder in an array
57 // of structures. If the pointer to the array is NULL, first parameter
58 // returns the total number of formats supported.
59 STDMETHOD (GetVideoFormats)(THIS_
60 IN OUT LPDWORD pdwNumFormats,
61 IN OUT LPDDPIXELFORMAT pddPixelFormats
62 ) PURE;
63
64 // sets the format entry chosen (0, 1, .. ,(dwNumProposedEntries-1))
65 STDMETHOD (SetVideoFormat)(THIS_
66 IN DWORD dwChosenEntry
67 ) PURE;
68
69 // asks the decoder to treat even fields like odd fields and visa versa
70 STDMETHOD (SetInvertPolarity)(THIS_
71 ) PURE;
72
73 // the mixer uses this function to determine if the callee wants
74 // the vpmixer to use its overlay surface and if so to get a pointer to it
75 STDMETHOD (GetOverlaySurface)(THIS_
76 OUT LPDIRECTDRAWSURFACE* ppddOverlaySurface
77 ) PURE;
78
79 // sets the direct draw kernel handle
80 STDMETHOD (SetDirectDrawKernelHandle)(THIS_
81 IN ULONG_PTR dwDDKernelHandle
82 ) PURE;
83
84 // sets the video port id
85 STDMETHOD (SetVideoPortID)(THIS_
86 IN DWORD dwVideoPortID
87 ) PURE;
88
89 // sets the direct draw surface kernel handle
90 STDMETHOD (SetDDSurfaceKernelHandles)(THIS_
91 IN DWORD cHandles,
92 IN ULONG_PTR *rgDDKernelHandles
93 ) PURE;
94
95 // Tells driver about surface created on its behalf by ovmixer/vbisurf and
96 // returned from videoport/ddraw. Should always return NOERROR or E_NOIMPL.
97 // dwPitch is the pitch of the surface (distance in pixels between the start
98 // pixels of two consecutive lines of the surface). (dwXOrigin, dwYOrigin)
99 // are the (X, Y) coordinates of the pixel at which valid data starts.
100 STDMETHOD (SetSurfaceParameters)(THIS_
101 IN DWORD dwPitch,
102 IN DWORD dwXOrigin,
103 IN DWORD dwYOrigin
104 ) PURE;
105 };
106
107 // IVPConfig
108 DECLARE_INTERFACE_(IVPConfig, IVPBaseConfig)
109 {
110 public:
111 // the mixer uses this function to determine if the callee wants
112 // the mixer to decimate VIDEO data at its own descrition
113 STDMETHOD (IsVPDecimationAllowed)(THIS_
114 OUT LPBOOL pbIsDecimationAllowed
115 ) PURE;
116
117 // sets the scaling factors. If decoder does not support these,
118 // then it sets the values to the nearest factors it can support
119 STDMETHOD (SetScalingFactors)(THIS_
120 IN LPAMVPSIZE pamvpSize
121 ) PURE;
122 };
123
124 // IVPVBIConfig
125 DECLARE_INTERFACE_(IVPVBIConfig, IVPBaseConfig)
126 {
127 public:
128 };
129
130 #ifdef __cplusplus
131 }
132 #endif
133
134
135 #endif // __IVPConfig__

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26