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 ******************************************************************/
24 /* $XFree86: xc/include/extensions/Xvproto.h,v 1.6 2001/05/07 21:37:12 tsi Exp $ */
31 ** Xvproto.h --- Xv protocol header file
35 ** David Carver (Digital Workstation Engineering/Project Athena)
40 ** - changed SetPortControl to SetPortAttribute
41 ** - changed GetPortControl to GetPortAttribute
42 ** - changed QueryBestSize
45 ** - version 2.0 upgrade
48 ** - version 1.4 upgrade
54 /* Symbols: These are undefined at the end of this file to restore the
55 values they have in Xv.h */
57 #define XvPortID CARD32
58 #define XvEncodingID CARD32
60 #define VisualID CARD32
61 #define Drawable CARD32
62 #define GContext CARD32
70 INT32 denominator B32;
72 #define sz_xvRational 8
78 CARD16 num_formats B16;
82 #define sz_xvAdaptorInfo 12
85 XvEncodingID encoding B32;
87 CARD16 width B16, height B16;
91 #define sz_xvEncodingInfo (12 + sz_xvRational)
107 #define sz_xvAttributeInfo 16
122 CARD32 green_mask B32;
123 CARD32 blue_mask B32;
127 CARD32 y_sample_bits B32;
128 CARD32 u_sample_bits B32;
129 CARD32 v_sample_bits B32;
130 CARD32 horz_y_period B32;
131 CARD32 horz_u_period B32;
132 CARD32 horz_v_period B32;
133 CARD32 vert_y_period B32;
134 CARD32 vert_u_period B32;
135 CARD32 vert_v_period B32;
136 CARD8 comp_order[32];
137 CARD8 scanline_order;
143 #define sz_xvImageFormatInfo 128
148 #define xv_QueryExtension 0
149 #define xv_QueryAdaptors 1
150 #define xv_QueryEncodings 2
151 #define xv_GrabPort 3
152 #define xv_UngrabPort 4
153 #define xv_PutVideo 5
154 #define xv_PutStill 6
155 #define xv_GetVideo 7
156 #define xv_GetStill 8
157 #define xv_StopVideo 9
158 #define xv_SelectVideoNotify 10
159 #define xv_SelectPortNotify 11
160 #define xv_QueryBestSize 12
161 #define xv_SetPortAttribute 13
162 #define xv_GetPortAttribute 14
163 #define xv_QueryPortAttributes 15
164 #define xv_ListImageFormats 16
165 #define xv_QueryImageAttributes 17
166 #define xv_PutImage 18
167 #define xv_ShmPutImage 19
168 #define xv_LastRequest xv_ShmPutImage
170 #define xvNumRequests (xv_LastRequest + 1)
176 } xvQueryExtensionReq;
177 #define sz_xvQueryExtensionReq 4
184 } xvQueryAdaptorsReq;
185 #define sz_xvQueryAdaptorsReq 8
192 } xvQueryEncodingsReq;
193 #define sz_xvQueryEncodingsReq 8
200 Drawable drawable B32;
211 #define sz_xvPutVideoReq 32
218 Drawable drawable B32;
229 #define sz_xvPutStillReq 32
236 Drawable drawable B32;
247 #define sz_xvGetVideoReq 32
254 Drawable drawable B32;
265 #define sz_xvGetStillReq 32
274 #define sz_xvGrabPortReq 12
283 #define sz_xvUngrabPortReq 12
289 Drawable drawable B32;
293 } xvSelectVideoNotifyReq;
294 #define sz_xvSelectVideoNotifyReq 12
304 } xvSelectPortNotifyReq;
305 #define sz_xvSelectPortNotifyReq 12
312 Drawable drawable B32;
314 #define sz_xvStopVideoReq 12
323 } xvSetPortAttributeReq;
324 #define sz_xvSetPortAttributeReq 16
332 } xvGetPortAttributeReq;
333 #define sz_xvGetPortAttributeReq 12
347 } xvQueryBestSizeReq;
348 #define sz_xvQueryBestSizeReq 20
355 } xvQueryPortAttributesReq;
356 #define sz_xvQueryPortAttributesReq 8
363 Drawable drawable B32;
377 #define sz_xvPutImageReq 40
384 Drawable drawable B32;
403 #define sz_xvShmPutImageReq 52
410 } xvListImageFormatsReq;
411 #define sz_xvListImageFormatsReq 8
421 } xvQueryImageAttributesReq;
422 #define sz_xvQueryImageAttributesReq 16
427 typedef struct _QueryExtensionReply {
428 BYTE type; /* X_Reply */
430 CARD16 sequenceNumber B16;
439 } xvQueryExtensionReply;
440 #define sz_xvQueryExtensionReply 32
442 typedef struct _QueryAdaptorsReply {
443 BYTE type; /* X_Reply */
445 CARD16 sequenceNumber B16;
447 CARD16 num_adaptors B16;
454 } xvQueryAdaptorsReply;
455 #define sz_xvQueryAdaptorsReply 32
457 typedef struct _QueryEncodingsReply {
458 BYTE type; /* X_Reply */
460 CARD16 sequenceNumber B16;
462 CARD16 num_encodings B16;
469 } xvQueryEncodingsReply;
470 #define sz_xvQueryEncodingsReply 32
473 BYTE type; /* X_Reply */
475 CARD16 sequenceNumber B16;
476 CARD32 length B32; /* 0 */
484 #define sz_xvGrabPortReply 32
487 BYTE type; /* X_Reply */
489 CARD16 sequenceNumber B16;
490 CARD32 length B32; /* 0 */
497 } xvGetPortAttributeReply;
498 #define sz_xvGetPortAttributeReply 32
501 BYTE type; /* X_Reply */
503 CARD16 sequenceNumber B16;
504 CARD32 length B32; /* 0 */
505 CARD16 actual_width B16;
506 CARD16 actual_height B16;
512 } xvQueryBestSizeReply;
513 #define sz_xvQueryBestSizeReply 32
516 BYTE type; /* X_Reply */
518 CARD16 sequenceNumber B16;
519 CARD32 length B32; /* 0 */
520 CARD32 num_attributes B32;
521 CARD32 text_size B32;
526 } xvQueryPortAttributesReply;
527 #define sz_xvQueryPortAttributesReply 32
530 BYTE type; /* X_Reply */
532 CARD16 sequenceNumber B16;
534 CARD32 num_formats B32;
540 } xvListImageFormatsReply;
541 #define sz_xvListImageFormatsReply 32
544 BYTE type; /* X_Reply */
546 CARD16 sequenceNumber B16;
548 CARD32 num_planes B32;
549 CARD32 data_size B32;
555 } xvQueryImageAttributesReply;
556 #define sz_xvQueryImageAttributesReply 32
558 /* DEFINE EVENT STRUCTURE */
565 CARD16 sequenceNumber B16;
570 CARD16 sequenceNumber B16;
572 Drawable drawable B32;
582 CARD16 sequenceNumber B16;
603 #endif /* XVPROTO_H */