/[cvs]/api/include/DShowIDL/amvpe.idl
ViewVC logotype

Contents of /api/include/DShowIDL/amvpe.idl

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 (22 years, 10 months ago) by bearsoft
Branch: lazy, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
First import

1 //------------------------------------------------------------------------------
2 // File: AMVPE.idl
3 //
4 // Desc:
5 //
6 // Copyright (c) 1992 - 2000, Microsoft Corporation. All rights reserved.
7 //------------------------------------------------------------------------------
8
9
10 import "unknwn.idl";
11 import "objidl.idl"; // for IPersist (IFilter's root)
12
13
14 /*
15 * VIDOESIGNALINFO
16 */
17 typedef struct _VIDEOSIGNALINFO
18 {
19 DWORD dwSize; // Size of the structure
20 DWORD dwVREFHeight; // Specifies the number of lines of data in the vref
21 BOOL bDoubleClock; // videoport should enable double clocking
22 BOOL bVACT; // videoport should use an external VACT signal
23 BOOL bInterlaced; // Indicates that the signal is interlaced
24 BOOL bHalfline; // Device will write half lines into the frame buffer
25 BOOL bInvertedPolarity; // Devoce inverts the polarity by default
26 } AMVIDEOSIGNALINFO;
27
28 typedef struct AMVIDEOSIGNALINFO *LPAMVIDEOSIGNALINFO;
29
30
31 interface IVPEConfig;
32 interface IVPE;
33
34
35 /*
36 * DDVIDEOPORTCONNECT
37 */
38 typedef struct _DDVIDEOPORTCONNECT
39 {
40 DWORD dwSize; // size of the DDVIDEOPORTCONNECT structure
41 GUID guidTypeID; // Description of video port connection
42 DWORD dwPortWidth; // Width of the video port
43 DWORD dwFlags; // Connection flags
44 } DDVIDEOPORTCONNECT;
45
46 typedef DDVIDEOPORTCONNECT *LPDDVIDEOPORTCONNECT;
47
48
49
50 /*
51 * DDPIXELFORMAT
52 */
53 typedef struct _DDPIXELFORMAT
54 {
55 DWORD dwSize; // size of structure
56 DWORD dwFlags; // pixel format flags
57 DWORD dwFourCC; // (FOURCC code)
58 union
59 {
60 DWORD dwRGBBitCount; // how many bits per pixel (BD_1,2,4,8,16,24,32)
61 DWORD dwYUVBitCount; // how many bits per pixel (BD_4,8,16,24,32)
62 DWORD dwZBufferBitDepth; // how many bits for z buffers (BD_8,16,24,32)
63 DWORD dwAlphaBitDepth; // how many bits for alpha channels (BD_1,2,4,8)
64 };
65 union
66 {
67 DWORD dwRBitMask; // mask for red bit
68 DWORD dwYBitMask; // mask for Y bits
69 };
70 union
71 {
72 DWORD dwGBitMask; // mask for green bits
73 DWORD dwUBitMask; // mask for U bits
74 };
75 union
76 {
77 DWORD dwBBitMask; // mask for blue bits
78 DWORD dwVBitMask; // mask for V bits
79 };
80 union
81 {
82 DWORD dwRGBAlphaBitMask; // mask for alpha channel
83 DWORD dwYUVAlphaBitMask; // mask for alpha channel
84 DWORD dwRGBZBitMask; // mask for Z channel
85 DWORD dwYUVZBitMask; // mask for Z channel
86 };
87 } DDPIXELFORMAT;
88
89 typedef DDPIXELFORMAT * LPDDPIXELFORMAT;
90
91
92 [
93 object,
94 uuid(BC29A660-30E3-11d0-9E69-00C04FD7C15B),
95 pointer_default(unique)
96 ]
97
98 interface IVPEConfig : IUnknown {
99
100 // gets the various connection information structures (guid, portwidth)
101 // in an array of structures. If the pointer to the array is NULL, first
102 // parameter returns the total number of formats supported.
103 HRESULT GetConnectInfo(
104 [in,out] LPDWORD lpNumConnectInfo,
105 [out] LPDDVIDEOPORTCONNECT lpddvpConnectInfo
106 );
107
108 HRESULT SetConnectInfo(
109 [in] DDVIDEOPORTCONNECT ddvpConnectInfo
110 );
111
112 // gets the various formats supported by the decoder in an array
113 // of structures. If the pointer to the array is NULL, first parameter
114 // returns the total number of formats supported.
115 HRESULT GetVideoFormats(
116 [in,out] LPDWORD lpNumFormats,
117 [out] LPDDPIXELFORMAT lpddpfFormats
118 );
119
120 // retrives maximum pixels per second rate expected for a given
121 // format and a given scaling factor. If decoder does not support
122 // those scaling factors, then it gives the rate and the nearest
123 // scaling factors.
124 HRESULT GetMaxPixelRate(
125 [in] DDPIXELFORMAT ddpfFormat,
126 [in,out] LPDWORD lpdwZoomHeight,
127 [in,out] LPDWORD lpdwZoomWidth,
128 [out] LPDWORD lpdwMaxPixelsPerSecond
129 );
130
131 // retrives various properties of the decoder for a given format
132 HRESULT GetVideoSignalInfo(
133 [in] DDPIXELFORMAT ddpfFormat,
134 [out] LPAMVIDEOSIGNALINFO lpAMVideoSignalInfo
135 );
136
137 // asks the decoder to ouput in this format. Return value should give
138 // appropriate error code
139 HRESULT SetVideoFormat(
140 [in] DDPIXELFORMAT ddpfFormat
141 );
142
143 // asks the decoder to treat even fields like odd fields and visa versa
144 HRESULT SetInvertPolarity(
145 );
146
147 // sets the scaling factors. If decoder does not support these,
148 // then it sets the values to the nearest factors it can support
149 HRESULT SetScalingFactors(
150 [in,out] LPDWORD lpdwZoomHeight,
151 [in,out] LPDWORD lpdwZoomWidth
152 );
153
154 }
155
156
157
158 [
159 object,
160 uuid(BC29A661-30E3-11d0-9E69-00C04FD7C15B),
161 pointer_default(unique)
162 ]
163
164 interface IVPE : IUnknown {
165 HRESULT SetOverlaySurface(
166 // [in] LPDIRECTDRAWSURFACE lpOverlaySurface,
167 [in] LPUNKNOWN lpOverlaySurface,
168 [in] INT iNumBackBuffers
169 );
170
171 }

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26