117ca54c3Smrg/***********************************************************
217ca54c3SmrgCopyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
317ca54c3Smrgand the Massachusetts Institute of Technology, Cambridge, Massachusetts.
417ca54c3Smrg
517ca54c3Smrg                        All Rights Reserved
617ca54c3Smrg
717ca54c3SmrgPermission to use, copy, modify, and distribute this software and its
817ca54c3Smrgdocumentation for any purpose and without fee is hereby granted,
917ca54c3Smrgprovided that the above copyright notice appear in all copies and that
1017ca54c3Smrgboth that copyright notice and this permission notice appear in
1117ca54c3Smrgsupporting documentation, and that the names of Digital or MIT not be
1217ca54c3Smrgused in advertising or publicity pertaining to distribution of the
1317ca54c3Smrgsoftware without specific, written prior permission.
1417ca54c3Smrg
1517ca54c3SmrgDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
1617ca54c3SmrgALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
1717ca54c3SmrgDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
1817ca54c3SmrgANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
1917ca54c3SmrgWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
2017ca54c3SmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
2117ca54c3SmrgSOFTWARE.
2217ca54c3Smrg
2317ca54c3Smrg******************************************************************/
2417ca54c3Smrg
2517ca54c3Smrg#ifndef XV_H
2617ca54c3Smrg#define XV_H
2717ca54c3Smrg/*
2817ca54c3Smrg** File:
2917ca54c3Smrg**
3017ca54c3Smrg**   Xv.h --- Xv shared library and server header file
3117ca54c3Smrg**
3217ca54c3Smrg** Author:
3317ca54c3Smrg**
3417ca54c3Smrg**   David Carver (Digital Workstation Engineering/Project Athena)
3517ca54c3Smrg**
3617ca54c3Smrg** Revisions:
3717ca54c3Smrg**
3817ca54c3Smrg**   05.15.91 Carver
3917ca54c3Smrg**     - version 2.0 upgrade
4017ca54c3Smrg**
4117ca54c3Smrg**   01.24.91 Carver
4217ca54c3Smrg**     - version 1.4 upgrade
4317ca54c3Smrg**
4417ca54c3Smrg*/
4517ca54c3Smrg
4617ca54c3Smrg#include <X11/X.h>
4717ca54c3Smrg
4817ca54c3Smrg#define XvName "XVideo"
4917ca54c3Smrg#define XvVersion 2
5017ca54c3Smrg#define XvRevision 2
5117ca54c3Smrg
5217ca54c3Smrg/* Symbols */
5317ca54c3Smrg
5417ca54c3Smrgtypedef XID XvPortID;
5517ca54c3Smrgtypedef XID XvEncodingID;
5617ca54c3Smrg
5717ca54c3Smrg#define XvNone 0
5817ca54c3Smrg
5917ca54c3Smrg#define XvInput          0
6017ca54c3Smrg#define XvOutput         1
6117ca54c3Smrg
6217ca54c3Smrg#define XvInputMask      (1<<XvInput)
6317ca54c3Smrg#define XvOutputMask     (1<<XvOutput)
6417ca54c3Smrg#define XvVideoMask	 0x00000004
6517ca54c3Smrg#define XvStillMask	 0x00000008
6617ca54c3Smrg#define XvImageMask	 0x00000010
6717ca54c3Smrg
6817ca54c3Smrg/* These two are not client viewable */
6917ca54c3Smrg#define XvPixmapMask	 0x00010000
7017ca54c3Smrg#define XvWindowMask	 0x00020000
7117ca54c3Smrg
7217ca54c3Smrg
7317ca54c3Smrg#define XvGettable	0x01
7417ca54c3Smrg#define XvSettable	0x02
7517ca54c3Smrg
7617ca54c3Smrg#define XvRGB		0
7717ca54c3Smrg#define XvYUV		1
7817ca54c3Smrg
7917ca54c3Smrg#define XvPacked	0
8017ca54c3Smrg#define XvPlanar	1
8117ca54c3Smrg
8217ca54c3Smrg#define XvTopToBottom	0
8317ca54c3Smrg#define XvBottomToTop	1
8417ca54c3Smrg
8517ca54c3Smrg
8617ca54c3Smrg/* Events */
8717ca54c3Smrg
8817ca54c3Smrg#define XvVideoNotify 0
8917ca54c3Smrg#define XvPortNotify 1
9017ca54c3Smrg#define XvNumEvents 2
9117ca54c3Smrg
9217ca54c3Smrg/* Video Notify Reasons */
9317ca54c3Smrg
9417ca54c3Smrg#define XvStarted 0
9517ca54c3Smrg#define XvStopped 1
9617ca54c3Smrg#define XvBusy 2
9717ca54c3Smrg#define XvPreempted 3
9817ca54c3Smrg#define XvHardError 4
9917ca54c3Smrg#define XvLastReason 4
10017ca54c3Smrg
10117ca54c3Smrg#define XvNumReasons (XvLastReason + 1)
10217ca54c3Smrg
10317ca54c3Smrg#define XvStartedMask     (1<<XvStarted)
10417ca54c3Smrg#define XvStoppedMask     (1<<XvStopped)
10517ca54c3Smrg#define XvBusyMask        (1<<XvBusy)
10617ca54c3Smrg#define XvPreemptedMask   (1<<XvPreempted)
10717ca54c3Smrg#define XvHardErrorMask   (1<<XvHardError)
10817ca54c3Smrg
10917ca54c3Smrg#define XvAnyReasonMask   ((1<<XvNumReasons) - 1)
11017ca54c3Smrg#define XvNoReasonMask    0
11117ca54c3Smrg
11217ca54c3Smrg/* Errors */
11317ca54c3Smrg
11417ca54c3Smrg#define XvBadPort 0
11517ca54c3Smrg#define XvBadEncoding 1
11617ca54c3Smrg#define XvBadControl 2
11717ca54c3Smrg#define XvNumErrors 3
11817ca54c3Smrg
11917ca54c3Smrg/* Status */
12017ca54c3Smrg
12117ca54c3Smrg#define XvBadExtension 1
12217ca54c3Smrg#define XvAlreadyGrabbed 2
12317ca54c3Smrg#define XvInvalidTime 3
12417ca54c3Smrg#define XvBadReply 4
12517ca54c3Smrg#define XvBadAlloc 5
12617ca54c3Smrg
12717ca54c3Smrg#endif /* XV_H */
12817ca54c3Smrg
129