• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    WGL_I3D_digital_video_control
4
5Name Strings
6
7    WGL_I3D_digital_video_control
8
9Contact
10
11    Dale Kirkland, Intense3D (dlkirkla 'at' intense3d.com)
12
13Status
14
15    Complete
16
17Version
18
19    Date: 04/17/2000   Revision 1.0
20
21Number
22
23    250
24
25Dependencies
26
27    The extension is written against the OpenGL 1.2.1 Specification
28    although it should work on any previous OpenGL specification.
29
30    The WGL_EXT_extensions_string extension is required.
31
32    WGL_I3D_gamma affects the definition of this extension.
33
34Overview
35
36    The digital video control extension controls digital video data,
37    such as whether it is gamma corrected or the cursor is injected
38    into the video stream.
39
40IP Status
41
42    None
43
44Issues
45
46    None
47
48New Procedures and Functions
49
50    BOOL wglGetDigitalVideoParametersI3D(HDC hDC,
51                                         int iAttribute,
52                                         int *piValue)
53
54    BOOL wglSetDigitalVideoParametersI3D(HDC hDC,
55                                         int iAttribute,
56                                         const int *piValue)
57
58New Tokens
59
60    Accepted by the <iAttribute> parameter of wglGetDigitalVideoParametersI3D
61    and wglSetDigitalVideoParametersI3D:
62
63      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D    0x2050
64      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D          0x2051
65      WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D             0x2052
66      WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D             0x2053
67
68Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
69
70    None
71
72Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization)
73
74    None
75
76Additions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment
77Operations and the Frame Buffer)
78
79    None
80
81Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
82
83    None
84
85Additions to Chapter 6 of the OpenGL 1.2.1 Specification (State and
86State Requests)
87
88    None
89
90Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
91
92    None
93
94Additions to the WGL Specification
95
96    Digital video data is controlled by parameters that are set with
97    the function wglSetDigitalVideoParametersI3D:
98
99      BOOL wglSetDigitalVideoParametersI3D(HDC hDC,
100                                           int iAttribute,
101                                           const int *piValue)
102
103    <hDC> is a device context for a graphics adapter or a window
104    residing on a device that supports digital video.  For multiple
105    monitor systems, only the digital video mode associated with <hDC>
106    is set.
107
108    <iAttribute> must be one of the following values:
109
110      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
111          Specifies the source of the cursor data's alpha component.
112          If the value pointed to by <piValue> is non-zero, the
113          alpha component of the cursor data comes from the
114          framebuffer. If the value pointed to by <piValue> is
115          zero the alpha component of the cursor is specified by
116          WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D. The default
117          value is zero.
118
119      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
120          Determines the alpha component of the cursor.  The value
121          pointed to by <piValue> is converted by the following
122          equation:
123
124                          ((2 * <*piValue>) + 1)
125                          ----------------------
126                              (2^32 - 1)
127
128          and the result is clamped to [0, 1].  The clamped result is
129          multiplied by 2^n - 1, where 'n' is the number of bits in the
130          alpha buffer.  The digital video data will have the result as
131          the cursor data's alpha component.  The default alpha value
132          is 2^31 - 1.
133
134      WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
135          Specifies whether cursor data is included in the digital
136          video data.  If the value pointed to by <piValue> is
137          non-zero, the digital video data contains cursor data.
138          Otherwise the digital video data does not contain cursor
139          data.  This value defaults to zero.
140
141      WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
142          Specifies whether the digital video data is gamma
143          corrected.  If the value pointed to by <piValue> is non-zero,
144          the digital video data is gamma corrected.  Otherwise, the
145          digital video data is not gamma corrected.  This value
146          defaults to zero.
147
148    Digital video parameters can be queried with the function
149    wglGetDigitalVideoParametersI3D:
150
151      BOOL wglGetDigitalVideoParametersI3D(HDC hDC,
152                                           int iAttribute,
153                                           int *piValue)
154
155    <hDC> is a device context for a graphics adapter or a window
156    residing on a device that supports digital video.  For multiple
157    monitor systems, only the digital video mode parameters associated
158    with <hDC> are returned.
159
160    <iAttribute> must be one of the following values:
161
162      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
163          <piValue> returns one value indicating the source of the cursor
164          data's alpha component.  If the value is non-zero then the
165          alpha component of the cursor data comes from the framebuffer.
166          Otherwise, the value of the cursor's alpha data is determined
167          by the value specified by
168          WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D.
169
170      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
171          <piValue> returns the user-specified alpha component of
172          the cursor's data.
173
174      WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
175          <piValue> returns one value indicating whether cursor data is
176          present in the digital video data.  If the value is non-zero
177          then cursor data is present in the digital video data.
178
179      WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
180          <piValue> returns one value indicating whether the digital
181          video data is gamma corrected.  If the value is non-zero then
182          the digital video data is gamma corrected.
183
184Dependencies on WGL_EXT_extensions_string
185
186    Because there is no way to extend wgl, these calls are defined in
187    the ICD and can be called by obtaining the address with
188    wglGetProcAddress.  Because this extension is a WGL extension, it
189    is not included in the GL_EXTENSIONS string.  Its existence can be
190    determined with the WGL_EXT_extensions_string extension.
191
192Dependencies on WGL_I3D_gamma
193
194    If WGL_I3D_gamma is supported, the <iAttribute> parameter of
195    WGLGetDigitalVideoParametersI3D and WGLSetDigitalVideoParametersI3D
196    accepts WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D.  Otherwise it does
197    not.
198
199Errors
200
201    If the function succeeds, a value of TRUE is returned.  If the
202    function fails, a value of FALSE is returned.  To get extended
203    error information, call GetLastError.
204
205      ERROR_DC_NOT_FOUND         The <hDC> was not valid.
206
207      ERROR_NO_SYSTEM_RESOURCES  There is no support for digital video
208                                 for the device specified by <hDC>.
209
210      ERROR_INVALID_DATA         <iAttribute> is not a valid value.
211
212New State
213
214    None
215
216New Implementation Dependent State
217
218    None
219
220Revision History
221
222    12/03/1999  0.1  First draft.
223    01/05/2000  0.2  Enumerants assigned
224    04/17/2000  1.0  Driver released to ISVs.
225