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