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