74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/***********************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCopyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncand the Massachusetts Institute of Technology, Cambridge, Massachusetts.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync All Rights Reserved
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncPermission to use, copy, modify, and distribute this software and its
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncdocumentation for any purpose and without fee is hereby granted,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncprovided that the above copyright notice appear in all copies and that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncboth that copyright notice and this permission notice appear in
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncsupporting documentation, and that the names of Digital or MIT not be
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncused in advertising or publicity pertaining to distribution of the
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncsoftware without specific, written prior permission.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncSOFTWARE.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync******************************************************************/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/include/extensions/Xvlib.h,v 1.3 1999/12/11 19:28:48 mvojkovi Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef XVLIB_H
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XVLIB_H
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** File:
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** Xvlib.h --- Xv library public header file
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** Author:
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** David Carver (Digital Workstation Engineering/Project Athena)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** Revisions:
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** 26.06.91 Carver
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - changed XvFreeAdaptors to XvFreeAdaptorInfo
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - changed XvFreeEncodings to XvFreeEncodingInfo
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** 11.06.91 Carver
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - changed SetPortControl to SetPortAttribute
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - changed GetPortControl to GetPortAttribute
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - changed QueryBestSize
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** 05.15.91 Carver
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - version 2.0 upgrade
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** 01.24.91 Carver
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync** - version 1.4 upgrade
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync**
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync*/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/Xfuncproto.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/Xv.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int numerator;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int denominator;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvRational;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int flags; /* XvGettable, XvSettable */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int min_value;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int max_value;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char *name;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvAttribute;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvEncodingID encoding_id;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char *name;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long width;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long height;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvRational rate;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long num_encodings;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvEncodingInfo;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char depth;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long visual_id;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvFormat;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID base_id;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long num_ports;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char type;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char *name;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long num_formats;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvFormat *formats;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long num_adaptors;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvAdaptorInfo;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int type;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable drawable; /* drawable */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long reason; /* what generated this event */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port_id; /* what port */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Time time; /* milliseconds */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvVideoNotifyEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int type;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port_id; /* what port */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Time time; /* milliseconds */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom attribute; /* atom that identifies attribute */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync long value; /* value of attribute */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvPortNotifyEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef union {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int type;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvVideoNotifyEvent xvvideo;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortNotifyEvent xvport;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync long pad[24];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int id; /* Unique descriptor for the format */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int type; /* XvRGB, XvYUV */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int byte_order; /* LSBFirst, MSBFirst */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char guid[16]; /* Globally Unique IDentifier */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int bits_per_pixel;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int format; /* XvPacked, XvPlanar */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int num_planes;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync /* for RGB formats only */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int depth;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int red_mask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int green_mask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int blue_mask;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync /* for YUV formats only */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int y_sample_bits;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int u_sample_bits;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int v_sample_bits;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int horz_y_period;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int horz_u_period;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int horz_v_period;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int vert_y_period;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int vert_u_period;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int vert_v_period;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char component_order[32]; /* eg. UYVY */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int scanline_order; /* XvTopToBottom, XvBottomToTop */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvImageFormatValues;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int id;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int width, height;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int data_size; /* bytes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int num_planes;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int *pitches; /* bytes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int *offsets; /* bytes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char *data;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XPointer obdata;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} XvImage;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOBEGIN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvQueryExtension(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_version */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_revision */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_requestBase */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_eventBase */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_errorBase */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvQueryAdaptors(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window /* window */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_nAdaptors */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvAdaptorInfo** /* p_pAdaptors */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvQueryEncodings(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_nEncoding */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvEncodingInfo** /* p_pEncoding */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvPutVideo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* d */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync GC /* gc */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vh */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dh */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvPutStill(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* d */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync GC /* gc */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vh */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dh */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvGetVideo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* d */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync GC /* gc */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vh */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dh */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvGetStill(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* d */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync GC /* gc */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* vy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vh */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dx */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* dy */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dw */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* dh */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvStopVideo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* drawable */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvGrabPort(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Time /* time */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvUngrabPort(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Time /* time */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvSelectVideoNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable /* drawable */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* onoff */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvSelectPortNotify(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* onoff */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvSetPortAttribute(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom /* attribute */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* value */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvGetPortAttribute(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Atom /* attribute */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* p_value */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvQueryBestSize(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool /* motion */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vid_w */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* vid_h */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* drw_w */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* drw_h */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_actual_width */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int* /* p_actual_width */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XvAttribute* XvQueryPortAttributes(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display* /* display */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID /* port */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* number */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XvFreeAdaptorInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvAdaptorInfo* /* adaptors */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void XvFreeEncodingInfo(
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvEncodingInfo* /* encodings */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XvImageFormatValues * XvListImageFormats (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port_id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int *count_return
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XvImage * XvCreateImage (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char *data,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int width,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int height
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvPutImage (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable d,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync GC gc,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvImage *image,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int src_x,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int src_y,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int src_w,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int src_h,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int dest_x,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int dest_y,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int dest_w,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int dest_h
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int XvShmPutImage (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Drawable d,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync GC gc,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvImage *image,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int src_x,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int src_y,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int src_w,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int src_h,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int dest_x,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int dest_y,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int dest_w,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int dest_h,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef _XSHM_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern XvImage * XvShmCreateImage (
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#if NeedFunctionPrototypes
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XvPortID port,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int id,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync char* data,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int width,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int height,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync XShmSegmentInfo *shminfo
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync_XFUNCPROTOEND
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* XVLIB_H */