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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (vendor branch)
Sun Jul 1 20:47:59 2001 UTC (23 years, 4 months ago) by bearsoft
Branch: lazy, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
First import

1 bearsoft 1.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