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