1 /***********************************************************
2 Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
3 and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
7 Permission to use, copy, modify, and distribute this software and its
8 documentation for any purpose and without fee is hereby granted,
9 provided that the above copyright notice appear in all copies and that
10 both that copyright notice and this permission notice appear in
11 supporting documentation, and that the names of Digital or MIT not be
12 used in advertising or publicity pertaining to distribution of the
13 software without specific, written prior permission.
15 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
16 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
17 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
18 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
19 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
20 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
23 ******************************************************************/
30 ** Xvproto.h --- Xv protocol header file
34 ** David Carver (Digital Workstation Engineering/Project Athena)
39 ** - changed SetPortControl to SetPortAttribute
40 ** - changed GetPortControl to GetPortAttribute
41 ** - changed QueryBestSize
44 ** - version 2.0 upgrade
47 ** - version 1.4 upgrade
53 /* Symbols: These are undefined at the end of this file to restore the
54 values they have in Xv.h */
56 #define XvPortID CARD32
57 #define XvEncodingID CARD32
59 #define VisualID CARD32
60 #define Drawable CARD32
61 #define GContext CARD32
69 INT32 denominator B32;
71 #define sz_xvRational 8
77 CARD16 num_formats B16;
81 #define sz_xvAdaptorInfo 12
84 XvEncodingID encoding B32;
86 CARD16 width B16, height B16;
90 #define sz_xvEncodingInfo (12 + sz_xvRational)
106 #define sz_xvAttributeInfo 16
121 CARD32 green_mask B32;
122 CARD32 blue_mask B32;
126 CARD32 y_sample_bits B32;
127 CARD32 u_sample_bits B32;
128 CARD32 v_sample_bits B32;
129 CARD32 horz_y_period B32;
130 CARD32 horz_u_period B32;
131 CARD32 horz_v_period B32;
132 CARD32 vert_y_period B32;
133 CARD32 vert_u_period B32;
134 CARD32 vert_v_period B32;
135 CARD8 comp_order[32];
136 CARD8 scanline_order;
142 #define sz_xvImageFormatInfo 128
147 #define xv_QueryExtension 0
148 #define xv_QueryAdaptors 1
149 #define xv_QueryEncodings 2
150 #define xv_GrabPort 3
151 #define xv_UngrabPort 4
152 #define xv_PutVideo 5
153 #define xv_PutStill 6
154 #define xv_GetVideo 7
155 #define xv_GetStill 8
156 #define xv_StopVideo 9
157 #define xv_SelectVideoNotify 10
158 #define xv_SelectPortNotify 11
159 #define xv_QueryBestSize 12
160 #define xv_SetPortAttribute 13
161 #define xv_GetPortAttribute 14
162 #define xv_QueryPortAttributes 15
163 #define xv_ListImageFormats 16
164 #define xv_QueryImageAttributes 17
165 #define xv_PutImage 18
166 #define xv_ShmPutImage 19
167 #define xv_LastRequest xv_ShmPutImage
169 #define xvNumRequests (xv_LastRequest + 1)
175 } xvQueryExtensionReq;
176 #define sz_xvQueryExtensionReq 4
183 } xvQueryAdaptorsReq;
184 #define sz_xvQueryAdaptorsReq 8
191 } xvQueryEncodingsReq;
192 #define sz_xvQueryEncodingsReq 8
199 Drawable drawable B32;
210 #define sz_xvPutVideoReq 32
217 Drawable drawable B32;
228 #define sz_xvPutStillReq 32
235 Drawable drawable B32;
246 #define sz_xvGetVideoReq 32
253 Drawable drawable B32;
264 #define sz_xvGetStillReq 32
273 #define sz_xvGrabPortReq 12
282 #define sz_xvUngrabPortReq 12
288 Drawable drawable B32;
292 } xvSelectVideoNotifyReq;
293 #define sz_xvSelectVideoNotifyReq 12
303 } xvSelectPortNotifyReq;
304 #define sz_xvSelectPortNotifyReq 12
311 Drawable drawable B32;
313 #define sz_xvStopVideoReq 12
322 } xvSetPortAttributeReq;
323 #define sz_xvSetPortAttributeReq 16
331 } xvGetPortAttributeReq;
332 #define sz_xvGetPortAttributeReq 12
346 } xvQueryBestSizeReq;
347 #define sz_xvQueryBestSizeReq 20
354 } xvQueryPortAttributesReq;
355 #define sz_xvQueryPortAttributesReq 8
362 Drawable drawable B32;
376 #define sz_xvPutImageReq 40
383 Drawable drawable B32;
402 #define sz_xvShmPutImageReq 52
409 } xvListImageFormatsReq;
410 #define sz_xvListImageFormatsReq 8
420 } xvQueryImageAttributesReq;
421 #define sz_xvQueryImageAttributesReq 16
426 typedef struct _QueryExtensionReply {
427 BYTE type; /* X_Reply */
429 CARD16 sequenceNumber B16;
438 } xvQueryExtensionReply;
439 #define sz_xvQueryExtensionReply 32
441 typedef struct _QueryAdaptorsReply {
442 BYTE type; /* X_Reply */
444 CARD16 sequenceNumber B16;
446 CARD16 num_adaptors B16;
453 } xvQueryAdaptorsReply;
454 #define sz_xvQueryAdaptorsReply 32
456 typedef struct _QueryEncodingsReply {
457 BYTE type; /* X_Reply */
459 CARD16 sequenceNumber B16;
461 CARD16 num_encodings B16;
468 } xvQueryEncodingsReply;
469 #define sz_xvQueryEncodingsReply 32
472 BYTE type; /* X_Reply */
474 CARD16 sequenceNumber B16;
475 CARD32 length B32; /* 0 */
483 #define sz_xvGrabPortReply 32
486 BYTE type; /* X_Reply */
488 CARD16 sequenceNumber B16;
489 CARD32 length B32; /* 0 */
496 } xvGetPortAttributeReply;
497 #define sz_xvGetPortAttributeReply 32
500 BYTE type; /* X_Reply */
502 CARD16 sequenceNumber B16;
503 CARD32 length B32; /* 0 */
504 CARD16 actual_width B16;
505 CARD16 actual_height B16;
511 } xvQueryBestSizeReply;
512 #define sz_xvQueryBestSizeReply 32
515 BYTE type; /* X_Reply */
517 CARD16 sequenceNumber B16;
518 CARD32 length B32; /* 0 */
519 CARD32 num_attributes B32;
520 CARD32 text_size B32;
525 } xvQueryPortAttributesReply;
526 #define sz_xvQueryPortAttributesReply 32
529 BYTE type; /* X_Reply */
531 CARD16 sequenceNumber B16;
533 CARD32 num_formats B32;
539 } xvListImageFormatsReply;
540 #define sz_xvListImageFormatsReply 32
543 BYTE type; /* X_Reply */
545 CARD16 sequenceNumber B16;
547 CARD32 num_planes B32;
548 CARD32 data_size B32;
554 } xvQueryImageAttributesReply;
555 #define sz_xvQueryImageAttributesReply 32
557 /* DEFINE EVENT STRUCTURE */
564 CARD16 sequenceNumber B16;
569 CARD16 sequenceNumber B16;
571 Drawable drawable B32;
581 CARD16 sequenceNumber B16;
602 #endif /* XVPROTO_H */