b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/***********************************************************
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncCopyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncand the Massachusetts Institute of Technology, Cambridge, Massachusetts.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync All Rights Reserved
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncPermission to use, copy, modify, and distribute this software and its
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncdocumentation for any purpose and without fee is hereby granted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncprovided that the above copyright notice appear in all copies and that
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncboth that copyright notice and this permission notice appear in
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncsupporting documentation, and that the names of Digital or MIT not be
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncused in advertising or publicity pertaining to distribution of the
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncsoftware without specific, written prior permission.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync******************************************************************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** xvdix.h --- Xv device independent header file
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** David Carver (Digital Workstation Engineering/Project Athena)
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** Revisions:
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** 29.08.91 Carver
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** - removed UnrealizeWindow wrapper unrealizing windows no longer
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** preempts video
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** 11.06.91 Carver
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** - changed SetPortControl to SetPortAttribute
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** - changed GetPortControl to GetPortAttribute
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** - changed QueryBestSize
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** 15.05.91 Carver
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** - version 2.0 upgrade
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** 24.01.91 Carver
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync** - version 1.4 upgrade
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT unsigned long XvExtensionGeneration;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT unsigned long XvResourceGeneration;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* for RGB formats only */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* for YUV formats only */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddAllocatePort)(unsigned long, struct _XvPortRec*,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddPutVideo)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddPutStill)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddGetVideo)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddGetStill)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddStopVideo)(ClientPtr, struct _XvPortRec*, DrawablePtr);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddSetPortAttribute)(ClientPtr, struct _XvPortRec*, Atom, INT32);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddGetPortAttribute)(ClientPtr, struct _XvPortRec*, Atom, INT32*);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddQueryBestSize)(ClientPtr, struct _XvPortRec*, CARD8,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int*, unsigned int*);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddPutImage)(ClientPtr, DrawablePtr, struct _XvPortRec*, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddQueryImageAttributes)(ClientPtr, struct _XvPortRec*, XvImagePtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rc = dixLookupResourceByType((pointer *)&(pPort), portID,\
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (* ddQueryAdaptors)(ScreenPtr, XvAdaptorPtr*, int*);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define SCREEN_PROLOGUE(pScreen, field) ((pScreen)->field = ((XvScreenPtr) \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync dixLookupPrivate(&(pScreen)->devPrivates, XvScreenKey))->field)
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Errors */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT DevPrivateKey XvGetScreenKey(void);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiSendPortNotify(XvPortPtr, Atom, INT32);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiVideoStopped(XvPortPtr, int);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiPutVideo(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiPutStill(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiGetVideo(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiGetStill(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiPutImage(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiSelectVideoNotify(ClientPtr, DrawablePtr, BOOL);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiSelectPortNotify(ClientPtr, XvPortPtr, BOOL);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiSetPortAttribute(ClientPtr, XvPortPtr, Atom, INT32);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiGetPortAttribute(ClientPtr, XvPortPtr, Atom, INT32*);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiStopVideo(ClientPtr, XvPortPtr, DrawablePtr);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiPreemptVideo(ClientPtr, XvPortPtr, DrawablePtr);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiMatchPort(XvPortPtr, DrawablePtr);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XvdiUngrabPort( ClientPtr, XvPortPtr, Time);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* XorgLoader */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* XVDIX_H */