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