040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/***********************************************************
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCopyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncand the Massachusetts Institute of Technology, Cambridge, Massachusetts.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync All Rights Reserved
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPermission to use, copy, modify, and distribute this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdocumentation for any purpose and without fee is hereby granted,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncprovided that the above copyright notice appear in all copies and that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncboth that copyright notice and this permission notice appear in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncsupporting documentation, and that the names of Digital or MIT not be
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncused in advertising or publicity pertaining to distribution of the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncsoftware without specific, written prior permission.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync******************************************************************/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** xvdix.h --- Xv device independent header file
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** David Carver (Digital Workstation Engineering/Project Athena)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** Revisions:
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** 29.08.91 Carver
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** - removed UnrealizeWindow wrapper unrealizing windows no longer
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** preempts video
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** 11.06.91 Carver
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** - changed SetPortControl to SetPortAttribute
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** - changed GetPortControl to GetPortAttribute
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** - changed QueryBestSize
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** 15.05.91 Carver
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** - version 2.0 upgrade
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** 24.01.91 Carver
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync** - version 1.4 upgrade
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvExtensionGeneration;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvScreenGeneration;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvResourceGeneration;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvRTPort;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvRTEncoding;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvRTGrab;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvRTVideoNotify;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvRTVideoNotifyList;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvRTPortNotify;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* for RGB formats only */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* for YUV formats only */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddAllocatePort)(unsigned long, struct _XvPortRec*,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddPutVideo)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddPutStill)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddGetVideo)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddGetStill)(ClientPtr, DrawablePtr,struct _XvPortRec*, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddStopVideo)(ClientPtr, struct _XvPortRec*, DrawablePtr);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddSetPortAttribute)(ClientPtr, struct _XvPortRec*, Atom, INT32);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddGetPortAttribute)(ClientPtr, struct _XvPortRec*, Atom, INT32*);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddQueryBestSize)(ClientPtr, struct _XvPortRec*, CARD8,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int*, unsigned int*);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddPutImage)(ClientPtr, DrawablePtr, struct _XvPortRec*, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddQueryImageAttributes)(ClientPtr, struct _XvPortRec*, XvImagePtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ((XvVideoNotifyPtr)LookupIDByType(_id, XvRTVideoNotifyList))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ((XvPortNotifyPtr)LookupIDByType(_id, XvRTPortNotifyList))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int (* ddQueryAdaptors)(ScreenPtr, XvAdaptorPtr*, int*);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SCREEN_PROLOGUE(pScreen, field) ((pScreen)->field = ((XvScreenPtr) \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync dixLookupPrivate(&(pScreen)->devPrivates, XvScreenKey))->field)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* Errors */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void XvExtensionInit(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern unsigned long XvGetRTPort(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiSendPortNotify(XvPortPtr, Atom, INT32);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiPutVideo(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiPutStill(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiGetVideo(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiGetStill(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiPutImage(ClientPtr, DrawablePtr, XvPortPtr, GCPtr,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiSelectVideoNotify(ClientPtr, DrawablePtr, BOOL);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiSelectPortNotify(ClientPtr, XvPortPtr, BOOL);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiSetPortAttribute(ClientPtr, XvPortPtr, Atom, INT32);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiGetPortAttribute(ClientPtr, XvPortPtr, Atom, INT32*);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiStopVideo(ClientPtr, XvPortPtr, DrawablePtr);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiPreemptVideo(ClientPtr, XvPortPtr, DrawablePtr);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int XvdiUngrabPort( ClientPtr, XvPortPtr, Time);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#if !defined(UNIXCPP)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* XVDIX_H */