74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/include/extensions/XvMCproto.h,v 1.5 2001/11/14 21:54:37 mvojkovi Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _XVMCPROTO_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XVMCPROTO_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_QueryVersion 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_ListSurfaceTypes 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_CreateContext 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_DestroyContext 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_CreateSurface 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_DestroySurface 5
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_CreateSubpicture 6
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_DestroySubpicture 7
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_ListSubpictureTypes 8
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmc_LastRequest xvmc_ListSubpictureTypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define xvmcNumRequest (xvmc_LastRequest + 1)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 surface_type_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 chroma_format B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 pad0 B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 max_width B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 max_height B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 subpicture_max_width B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 subpicture_max_height B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 mc_type B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 flags B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcSurfaceInfo;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcSurfaceInfo 24;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcQueryVersionReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcQueryVersionReq 4;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE padb1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 major B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 minor B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl4 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl5 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl6 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl7 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcQueryVersionReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcQueryVersionReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 port B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcListSurfaceTypesReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcListSurfaceTypesReq 8;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE padb1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 num B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl3 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl4 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl5 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl6 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl7 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcListSurfaceTypesReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcListSurfaceTypesReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 context_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 port B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 surface_type_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 width B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 height B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 flags B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcCreateContextReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcCreateContextReq 24;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE padb1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 width_actual B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 height_actual B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 flags_return B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl4 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl5 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl6 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl7 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcCreateContextReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcCreateContextReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 context_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcDestroyContextReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcDestroyContextReq 8;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 surface_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 context_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcCreateSurfaceReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcCreateSurfaceReq 12;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE padb1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl2 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl3 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl4 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl5 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl6 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl7 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcCreateSurfaceReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcCreateSurfaceReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 surface_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcDestroySurfaceReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcDestroySurfaceReq 8;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 subpicture_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 context_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 xvimage_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 width B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 height B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcCreateSubpictureReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcCreateSubpictureReq 20;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE padb1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 width_actual B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 height_actual B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 num_palette_entries B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 entry_bytes B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 component_order[4];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl5 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl6 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl7 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcCreateSubpictureReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcCreateSubpictureReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 subpicture_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcDestroySubpictureReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcDestroySubpictureReq 8;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xvmcReqType;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 port B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 surface_type_id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcListSubpictureTypesReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcListSubpictureTypesReq 12;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE padb1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 num B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl2 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl3 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl4 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl5 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 padl6 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xvmcListSubpictureTypesReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xvmcListSubpictureTypesReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif