03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/***********************************************************
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncCopyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncand the Massachusetts Institute of Technology, Cambridge, Massachusetts.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync All Rights Reserved
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncPermission to use, copy, modify, and distribute this software and its
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation for any purpose and without fee is hereby granted,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncprovided that the above copyright notice appear in all copies and that
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncboth that copyright notice and this permission notice appear in
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncsupporting documentation, and that the names of Digital or MIT not be
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncused in advertising or publicity pertaining to distribution of the
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncsoftware without specific, written prior permission.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncSOFTWARE.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync******************************************************************/
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef XVDIX_H
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XVDIX_H
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/*
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** File:
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** xvdix.h --- Xv device independent header file
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** Author:
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** David Carver (Digital Workstation Engineering/Project Athena)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** Revisions:
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** 29.08.91 Carver
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** - removed UnrealizeWindow wrapper unrealizing windows no longer
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** preempts video
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** 11.06.91 Carver
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** - changed SetPortControl to SetPortAttribute
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** - changed GetPortControl to GetPortAttribute
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** - changed QueryBestSize
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** 15.05.91 Carver
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** - version 2.0 upgrade
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** 24.01.91 Carver
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync** - version 1.4 upgrade
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync*/
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "scrnintstr.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include <X11/extensions/Xvproto.h>
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT unsigned long XvExtensionGeneration;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT unsigned long XvScreenGeneration;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT unsigned long XvResourceGeneration;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvReqCode;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvEventBase;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvErrorBase;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT RESTYPE XvRTPort;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT RESTYPE XvRTEncoding;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT RESTYPE XvRTGrab;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT RESTYPE XvRTVideoNotify;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT RESTYPE XvRTVideoNotifyList;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT RESTYPE XvRTPortNotify;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int numerator;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int denominator;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvRationalRec, *XvRationalPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char depth;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long visual;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvFormatRec, *XvFormatPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvGrabRec, *XvGrabPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XvVideoNotifyRec {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync struct _XvVideoNotifyRec *next;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long mask;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvVideoNotifyRec, *XvVideoNotifyPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XvPortNotifyRec {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync struct _XvPortNotifyRec *next;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvPortNotifyRec, *XvPortNotifyPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ScreenPtr pScreen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short width, height;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvRationalRec rate;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvEncodingRec, *XvEncodingPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XvAttributeRec {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int flags;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int min_value;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int max_value;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvAttributeRec, *XvAttributePtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int byte_order;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char guid[16];
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int bits_per_pixel;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int format;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int num_planes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync /* for RGB formats only */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int depth;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int red_mask;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int green_mask;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int blue_mask;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync /* for YUV formats only */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int y_sample_bits;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int u_sample_bits;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int v_sample_bits;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int horz_y_period;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int horz_u_period;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int horz_v_period;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int vert_y_period;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int vert_u_period;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int vert_v_period;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char component_order[32];
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int scanline_order;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvImageRec, *XvImagePtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long base_id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int nEncodings;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvEncodingPtr pEncodings;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int nFormats;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvFormatPtr pFormats;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int nAttributes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvAttributePtr pAttributes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int nImages;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvImagePtr pImages;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int nPorts;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync struct _XvPortRec *pPorts;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ScreenPtr pScreen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddAllocatePort) (unsigned long, struct _XvPortRec *,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync struct _XvPortRec **);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddFreePort) (struct _XvPortRec *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddPutVideo) (ClientPtr, DrawablePtr, struct _XvPortRec *, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddPutStill) (ClientPtr, DrawablePtr, struct _XvPortRec *, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddGetVideo) (ClientPtr, DrawablePtr, struct _XvPortRec *, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddGetStill) (ClientPtr, DrawablePtr, struct _XvPortRec *, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddStopVideo) (ClientPtr, struct _XvPortRec *, DrawablePtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddSetPortAttribute) (ClientPtr, struct _XvPortRec *, Atom, INT32);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddGetPortAttribute) (ClientPtr, struct _XvPortRec *, Atom, INT32 *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddQueryBestSize) (ClientPtr, struct _XvPortRec *, CARD8,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CARD16, CARD16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int *, unsigned int *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddPutImage) (ClientPtr, DrawablePtr, struct _XvPortRec *, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvImagePtr, unsigned char *, Bool, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddQueryImageAttributes) (ClientPtr, struct _XvPortRec *, XvImagePtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CARD16 *, CARD16 *, int *, int *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DevUnion devPriv;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvAdaptorRec, *XvAdaptorPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XvPortRec {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned long id;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvAdaptorPtr pAdaptor;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvPortNotifyPtr pNotify;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DrawablePtr pDraw;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ClientPtr client;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvGrabRec grab;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync TimeStamp time;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DevUnion devPriv;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvPortRec, *XvPortPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define VALIDATE_XV_PORT(portID, pPort, mode)\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync {\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int rc = dixLookupResourceByType((pointer *)&(pPort), portID,\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvRTPort, client, mode);\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync if (rc != Success)\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync return rc;\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync }
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int version, revision;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int nAdaptors;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvAdaptorPtr pAdaptors;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DestroyWindowProcPtr DestroyWindow;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DestroyPixmapProcPtr DestroyPixmap;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CloseScreenProcPtr CloseScreen;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool (*ddCloseScreen) (ScreenPtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int (*ddQueryAdaptors) (ScreenPtr, XvAdaptorPtr *, int *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync DevUnion devPriv;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XvScreenRec, *XvScreenPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define SCREEN_PROLOGUE(pScreen, field) ((pScreen)->field = ((XvScreenPtr) \
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync dixLookupPrivate(&(pScreen)->devPrivates, XvScreenKey))->field)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define SCREEN_EPILOGUE(pScreen, field, wrapper)\
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ((pScreen)->field = wrapper)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/* Errors */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define _XvBadPort (XvBadPort+XvErrorBase)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define _XvBadEncoding (XvBadEncoding+XvErrorBase)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int ProcXvDispatch(ClientPtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int SProcXvDispatch(ClientPtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvScreenInit(ScreenPtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT DevPrivateKey XvGetScreenKey(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT unsigned long XvGetRTPort(void);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiSendPortNotify(XvPortPtr, Atom, INT32);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiVideoStopped(XvPortPtr, int);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiPutVideo(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiPutStill(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiGetVideo(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiGetStill(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiPutImage(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync INT16, INT16, CARD16, CARD16,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XvImagePtr, unsigned char *, Bool,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync CARD16, CARD16);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiSelectVideoNotify(ClientPtr, DrawablePtr, BOOL);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiSelectPortNotify(ClientPtr, XvPortPtr, BOOL);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiSetPortAttribute(ClientPtr, XvPortPtr, Atom, INT32);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiGetPortAttribute(ClientPtr, XvPortPtr, Atom, INT32 *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiStopVideo(ClientPtr, XvPortPtr, DrawablePtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiPreemptVideo(ClientPtr, XvPortPtr, DrawablePtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiMatchPort(XvPortPtr, DrawablePtr);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern _X_EXPORT int XvdiUngrabPort(ClientPtr, XvPortPtr, Time);
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif /* XVDIX_H */