Xvproto.h
资源名称:NETVIDEO.rar [点击查看]
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:14k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /***********************************************************
- Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
- and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
- All Rights Reserved
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation, and that the names of Digital or MIT not be
- used in advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
- DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- SOFTWARE.
- ******************************************************************/
- /* $XFree86: xc/include/extensions/Xvproto.h,v 1.6 2001/05/07 21:37:12 tsi Exp $ */
- #ifndef XVPROTO_H
- #define XVPROTO_H
- /*
- ** File:
- **
- ** Xvproto.h --- Xv protocol header file
- **
- ** Author:
- **
- ** David Carver (Digital Workstation Engineering/Project Athena)
- **
- ** Revisions:
- **
- ** 11.06.91 Carver
- ** - changed SetPortControl to SetPortAttribute
- ** - changed GetPortControl to GetPortAttribute
- ** - changed QueryBestSize
- **
- ** 15.05.91 Carver
- ** - version 2.0 upgrade
- **
- ** 24.01.91 Carver
- ** - version 1.4 upgrade
- **
- */
- #include <X11/Xmd.h>
- /* Symbols: These are undefined at the end of this file to restore the
- values they have in Xv.h */
- #define XvPortID CARD32
- #define XvEncodingID CARD32
- #define ShmSeg CARD32
- #define VisualID CARD32
- #define Drawable CARD32
- #define GContext CARD32
- #define Time CARD32
- #define Atom CARD32
- /* Structures */
- typedef struct {
- INT32 numerator B32;
- INT32 denominator B32;
- } xvRational;
- #define sz_xvRational 8
- typedef struct {
- XvPortID base_id B32;
- CARD16 name_size B16;
- CARD16 num_ports B16;
- CARD16 num_formats B16;
- CARD8 type;
- CARD8 pad;
- } xvAdaptorInfo;
- #define sz_xvAdaptorInfo 12
- typedef struct {
- XvEncodingID encoding B32;
- CARD16 name_size B16;
- CARD16 width B16, height B16;
- xvRational rate;
- CARD16 pad B16;
- } xvEncodingInfo;
- #define sz_xvEncodingInfo (12 + sz_xvRational)
- typedef struct {
- VisualID visual B32;
- CARD8 depth;
- CARD8 pad1;
- CARD16 pad2 B16;
- } xvFormat;
- #define sz_xvFormat 8
- typedef struct {
- CARD32 flags B32;
- INT32 min B32;
- INT32 max B32;
- CARD32 size B32;
- } xvAttributeInfo;
- #define sz_xvAttributeInfo 16
- typedef struct {
- CARD32 id B32;
- CARD8 type;
- CARD8 byte_order;
- CARD16 pad1 B16;
- CARD8 guid[16];
- CARD8 bpp;
- CARD8 num_planes;
- CARD16 pad2 B16;
- CARD8 depth;
- CARD8 pad3;
- CARD16 pad4 B16;
- CARD32 red_mask B32;
- CARD32 green_mask B32;
- CARD32 blue_mask B32;
- CARD8 format;
- CARD8 pad5;
- CARD16 pad6 B16;
- CARD32 y_sample_bits B32;
- CARD32 u_sample_bits B32;
- CARD32 v_sample_bits B32;
- CARD32 horz_y_period B32;
- CARD32 horz_u_period B32;
- CARD32 horz_v_period B32;
- CARD32 vert_y_period B32;
- CARD32 vert_u_period B32;
- CARD32 vert_v_period B32;
- CARD8 comp_order[32];
- CARD8 scanline_order;
- CARD8 pad7;
- CARD16 pad8 B16;
- CARD32 pad9 B32;
- CARD32 pad10 B32;
- } xvImageFormatInfo;
- #define sz_xvImageFormatInfo 128
- /* Requests */
- #define xv_QueryExtension 0
- #define xv_QueryAdaptors 1
- #define xv_QueryEncodings 2
- #define xv_GrabPort 3
- #define xv_UngrabPort 4
- #define xv_PutVideo 5
- #define xv_PutStill 6
- #define xv_GetVideo 7
- #define xv_GetStill 8
- #define xv_StopVideo 9
- #define xv_SelectVideoNotify 10
- #define xv_SelectPortNotify 11
- #define xv_QueryBestSize 12
- #define xv_SetPortAttribute 13
- #define xv_GetPortAttribute 14
- #define xv_QueryPortAttributes 15
- #define xv_ListImageFormats 16
- #define xv_QueryImageAttributes 17
- #define xv_PutImage 18
- #define xv_ShmPutImage 19
- #define xv_LastRequest xv_ShmPutImage
- #define xvNumRequests (xv_LastRequest + 1)
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- } xvQueryExtensionReq;
- #define sz_xvQueryExtensionReq 4
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- CARD32 window B32;
- } xvQueryAdaptorsReq;
- #define sz_xvQueryAdaptorsReq 8
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- CARD32 port B32;
- } xvQueryEncodingsReq;
- #define sz_xvQueryEncodingsReq 8
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- GContext gc B32;
- INT16 vid_x B16;
- INT16 vid_y B16;
- CARD16 vid_w B16;
- CARD16 vid_h B16;
- INT16 drw_x B16;
- INT16 drw_y B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- } xvPutVideoReq;
- #define sz_xvPutVideoReq 32
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- GContext gc B32;
- INT16 vid_x B16;
- INT16 vid_y B16;
- CARD16 vid_w B16;
- CARD16 vid_h B16;
- INT16 drw_x B16;
- INT16 drw_y B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- } xvPutStillReq;
- #define sz_xvPutStillReq 32
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- GContext gc B32;
- INT16 vid_x B16;
- INT16 vid_y B16;
- CARD16 vid_w B16;
- CARD16 vid_h B16;
- INT16 drw_x B16;
- INT16 drw_y B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- } xvGetVideoReq;
- #define sz_xvGetVideoReq 32
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- GContext gc B32;
- INT16 vid_x B16;
- INT16 vid_y B16;
- CARD16 vid_w B16;
- CARD16 vid_h B16;
- INT16 drw_x B16;
- INT16 drw_y B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- } xvGetStillReq;
- #define sz_xvGetStillReq 32
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Time time B32;
- } xvGrabPortReq;
- #define sz_xvGrabPortReq 12
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Time time B32;
- } xvUngrabPortReq;
- #define sz_xvUngrabPortReq 12
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- Drawable drawable B32;
- BOOL onoff;
- CARD8 pad1;
- CARD16 pad2;
- } xvSelectVideoNotifyReq;
- #define sz_xvSelectVideoNotifyReq 12
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- BOOL onoff;
- CARD8 pad1;
- CARD16 pad2;
- } xvSelectPortNotifyReq;
- #define sz_xvSelectPortNotifyReq 12
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- } xvStopVideoReq;
- #define sz_xvStopVideoReq 12
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Atom attribute B32;
- INT32 value B32;
- } xvSetPortAttributeReq;
- #define sz_xvSetPortAttributeReq 16
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Atom attribute B32;
- } xvGetPortAttributeReq;
- #define sz_xvGetPortAttributeReq 12
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- CARD16 vid_w B16;
- CARD16 vid_h B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- CARD8 motion;
- CARD8 pad1;
- CARD16 pad2 B16;
- } xvQueryBestSizeReq;
- #define sz_xvQueryBestSizeReq 20
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- } xvQueryPortAttributesReq;
- #define sz_xvQueryPortAttributesReq 8
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- GContext gc B32;
- CARD32 id B32;
- INT16 src_x B16;
- INT16 src_y B16;
- CARD16 src_w B16;
- CARD16 src_h B16;
- INT16 drw_x B16;
- INT16 drw_y B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- CARD16 width B16;
- CARD16 height B16;
- } xvPutImageReq;
- #define sz_xvPutImageReq 40
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- Drawable drawable B32;
- GContext gc B32;
- ShmSeg shmseg B32;
- CARD32 id B32;
- CARD32 offset B32;
- INT16 src_x B16;
- INT16 src_y B16;
- CARD16 src_w B16;
- CARD16 src_h B16;
- INT16 drw_x B16;
- INT16 drw_y B16;
- CARD16 drw_w B16;
- CARD16 drw_h B16;
- CARD16 width B16;
- CARD16 height B16;
- CARD8 send_event;
- CARD8 pad1;
- CARD16 pad2 B16;
- } xvShmPutImageReq;
- #define sz_xvShmPutImageReq 52
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- XvPortID port B32;
- } xvListImageFormatsReq;
- #define sz_xvListImageFormatsReq 8
- typedef struct {
- CARD8 reqType;
- CARD8 xvReqType;
- CARD16 length B16;
- CARD32 port B32;
- CARD32 id B32;
- CARD16 width B16;
- CARD16 height B16;
- } xvQueryImageAttributesReq;
- #define sz_xvQueryImageAttributesReq 16
- /* Replies */
- typedef struct _QueryExtensionReply {
- BYTE type; /* X_Reply */
- CARD8 padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 version B16;
- CARD16 revision B16;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvQueryExtensionReply;
- #define sz_xvQueryExtensionReply 32
- typedef struct _QueryAdaptorsReply {
- BYTE type; /* X_Reply */
- CARD8 padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 num_adaptors B16;
- CARD16 pads3 B16;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvQueryAdaptorsReply;
- #define sz_xvQueryAdaptorsReply 32
- typedef struct _QueryEncodingsReply {
- BYTE type; /* X_Reply */
- CARD8 padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 num_encodings B16;
- CARD32 padl3 B32;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvQueryEncodingsReply;
- #define sz_xvQueryEncodingsReply 32
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE result;
- CARD16 sequenceNumber B16;
- CARD32 length B32; /* 0 */
- CARD32 padl3 B32;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvGrabPortReply;
- #define sz_xvGrabPortReply 32
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32; /* 0 */
- INT32 value B32;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvGetPortAttributeReply;
- #define sz_xvGetPortAttributeReply 32
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32; /* 0 */
- CARD16 actual_width B16;
- CARD16 actual_height B16;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvQueryBestSizeReply;
- #define sz_xvQueryBestSizeReply 32
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32; /* 0 */
- CARD32 num_attributes B32;
- CARD32 text_size B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvQueryPortAttributesReply;
- #define sz_xvQueryPortAttributesReply 32
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 num_formats B32;
- CARD32 padl4 B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvListImageFormatsReply;
- #define sz_xvListImageFormatsReply 32
- typedef struct {
- BYTE type; /* X_Reply */
- BYTE padb1;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 num_planes B32;
- CARD32 data_size B32;
- CARD16 width B16;
- CARD16 height B16;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } xvQueryImageAttributesReply;
- #define sz_xvQueryImageAttributesReply 32
- /* DEFINE EVENT STRUCTURE */
- typedef struct {
- union {
- struct {
- BYTE type;
- BYTE detail;
- CARD16 sequenceNumber B16;
- } u;
- struct {
- BYTE type;
- BYTE reason;
- CARD16 sequenceNumber B16;
- Time time B32;
- Drawable drawable B32;
- XvPortID port B32;
- CARD32 padl5 B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } videoNotify;
- struct {
- BYTE type;
- BYTE padb1;
- CARD16 sequenceNumber B16;
- Time time B32;
- XvPortID port B32;
- Atom attribute B32;
- INT32 value B32;
- CARD32 padl6 B32;
- CARD32 padl7 B32;
- CARD32 padl8 B32;
- } portNotify;
- } u;
- } xvEvent;
- #undef XvPortID
- #undef XvEncodingID
- #undef ShmSeg
- #undef VisualID
- #undef Drawable
- #undef GContext
- #undef Time
- #undef Atom
- #endif /* XVPROTO_H */