f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync/*
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * Copyright (c) 1998-2003 by The XFree86 Project, Inc.
f0ab104f070bc7f569404826fea1828ed985638cvboxsync *
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * Permission is hereby granted, free of charge, to any person obtaining a
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * copy of this software and associated documentation files (the "Software"),
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * to deal in the Software without restriction, including without limitation
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * and/or sell copies of the Software, and to permit persons to whom the
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * Software is furnished to do so, subject to the following conditions:
f0ab104f070bc7f569404826fea1828ed985638cvboxsync *
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * The above copyright notice and this permission notice shall be included in
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * all copies or substantial portions of the Software.
f0ab104f070bc7f569404826fea1828ed985638cvboxsync *
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * OTHER DEALINGS IN THE SOFTWARE.
f0ab104f070bc7f569404826fea1828ed985638cvboxsync *
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * Except as contained in this notice, the name of the copyright holder(s)
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * and author(s) shall not be used in advertising or otherwise to promote
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * the sale, use or other dealings in this Software without prior written
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * authorization from the copyright holder(s) and author(s).
f0ab104f070bc7f569404826fea1828ed985638cvboxsync */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#ifndef _XF86XV_H_
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define _XF86XV_H_
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#include "xvdix.h"
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#include "xf86str.h"
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define VIDEO_NO_CLIPPING 0x00000001
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define VIDEO_INVERT_CLIPLIST 0x00000002
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define VIDEO_OVERLAID_IMAGES 0x00000004
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define VIDEO_OVERLAID_STILLS 0x00000008
f0ab104f070bc7f569404826fea1828ed985638cvboxsync/*
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * Usage of VIDEO_CLIP_TO_VIEWPORT is not recommended.
f0ab104f070bc7f569404826fea1828ed985638cvboxsync * It can make reput behaviour inconsistent.
f0ab104f070bc7f569404826fea1828ed985638cvboxsync */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define VIDEO_CLIP_TO_VIEWPORT 0x00000010
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int id;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int type;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int byte_order;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned char guid[16];
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int bits_per_pixel;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int format;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int num_planes;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync /* for RGB formats only */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int depth;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int red_mask;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int green_mask;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int blue_mask;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync /* for YUV formats only */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int y_sample_bits;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int u_sample_bits;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int v_sample_bits;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int horz_y_period;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int horz_u_period;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int horz_v_period;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int vert_y_period;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int vert_u_period;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int vert_v_period;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync char component_order[32];
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int scanline_order;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86ImageRec, *XF86ImagePtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ScrnInfoPtr pScrn;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int id;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned short width, height;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int *pitches; /* bytes */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int *offsets; /* in bytes from start of framebuffer */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync DevUnion devPrivate;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86SurfaceRec, *XF86SurfacePtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* PutVideoFuncPtr)( ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_x, short vid_y, short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_w, short vid_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes, pointer data, DrawablePtr pDraw );
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* PutStillFuncPtr)( ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_x, short vid_y, short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_w, short vid_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes, pointer data, DrawablePtr pDraw );
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* GetVideoFuncPtr)( ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_x, short vid_y, short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_w, short vid_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes, pointer data, DrawablePtr pDraw );
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* GetStillFuncPtr)( ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_x, short vid_y, short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_w, short vid_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes, pointer data, DrawablePtr pDraw );
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef void (* StopVideoFuncPtr)(ScrnInfoPtr pScrn, pointer data, Bool Exit);
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* SetPortAttributeFuncPtr)(ScrnInfoPtr pScrn, Atom attribute,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 value, pointer data);
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* GetPortAttributeFuncPtr)(ScrnInfoPtr pScrn, Atom attribute,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 *value, pointer data);
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef void (* QueryBestSizeFuncPtr)(ScrnInfoPtr pScrn, Bool motion,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_w, short vid_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int *p_w, unsigned int *p_h, pointer data);
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* PutImageFuncPtr)( ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short src_x, short src_y, short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short src_w, short src_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int image, unsigned char* buf, short width, short height, Bool Sync,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes, pointer data, DrawablePtr pDraw );
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* ReputImageFuncPtr)( ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short src_x, short src_y, short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short src_w, short src_h, short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes, pointer data, DrawablePtr pDraw );
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (*QueryImageAttributesFuncPtr)(ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int image, unsigned short *width, unsigned short *height,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int *pitches, int *offsets);
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef void (*ClipNotifyFuncPtr)(ScrnInfoPtr pScrn, pointer data,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync WindowPtr window, int dx, int dy);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef enum {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XV_OFF,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XV_PENDING,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XV_ON
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XvStatus;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync/*** this is what the driver needs to fill out ***/
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int id;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync char *name;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned short width, height;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XvRationalRec rate;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86VideoEncodingRec, *XF86VideoEncodingPtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync char depth;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short class;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86VideoFormatRec, *XF86VideoFormatPtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int flags;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int min_value;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int max_value;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync char *name;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86AttributeRec, *XF86AttributePtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned int type;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int flags;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync char *name;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int nEncodings;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86VideoEncodingPtr pEncodings;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int nFormats;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86VideoFormatPtr pFormats;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int nPorts;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync DevUnion *pPortPrivates;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int nAttributes;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86AttributePtr pAttributes;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int nImages;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86ImagePtr pImages;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync PutVideoFuncPtr PutVideo;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync PutStillFuncPtr PutStill;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync GetVideoFuncPtr GetVideo;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync GetStillFuncPtr GetStill;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync StopVideoFuncPtr StopVideo;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync SetPortAttributeFuncPtr SetPortAttribute;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync GetPortAttributeFuncPtr GetPortAttribute;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync QueryBestSizeFuncPtr QueryBestSize;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync PutImageFuncPtr PutImage;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ReputImageFuncPtr ReputImage; /* image/still */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync QueryImageAttributesFuncPtr QueryImageAttributes;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ClipNotifyFuncPtr ClipNotify;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86VideoAdaptorRec, *XF86VideoAdaptorPtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86ImagePtr image;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int flags;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int (*alloc_surface)(ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int id,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned short width,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync unsigned short height,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86SurfacePtr surface);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int (*free_surface)(XF86SurfacePtr surface);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int (*display) (XF86SurfacePtr surface,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_x, short vid_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short drw_x, short drw_y,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short vid_w, short vid_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync short drw_w, short drw_h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr clipBoxes);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int (*stop) (XF86SurfacePtr surface);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int (*getAttribute) (ScrnInfoPtr pScrn, Atom attr, INT32 *value);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int (*setAttribute) (ScrnInfoPtr pScrn, Atom attr, INT32 value);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int max_width;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int max_height;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int num_attributes;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86AttributePtr attributes;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync} XF86OffscreenImageRec, *XF86OffscreenImagePtr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT Bool
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVScreenInit(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ScreenPtr pScreen,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86VideoAdaptorPtr *Adaptors,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int num
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef int (* xf86XVInitGenericAdaptorPtr)(ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86VideoAdaptorPtr **Adaptors);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT int
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVRegisterGenericAdaptorDriver(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync xf86XVInitGenericAdaptorPtr InitFunc
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT int
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVListGenericAdaptors(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ScrnInfoPtr pScrn,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86VideoAdaptorPtr **Adaptors
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT Bool
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVRegisterOffscreenImages(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ScreenPtr pScreen,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync XF86OffscreenImagePtr images,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int num
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT XF86OffscreenImagePtr
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVQueryOffscreenImages(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync ScreenPtr pScreen,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int *num
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT XF86VideoAdaptorPtr xf86XVAllocateVideoAdaptorRec(ScrnInfoPtr pScrn);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void xf86XVFreeVideoAdaptorRec(XF86VideoAdaptorPtr ptr);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVFillKeyHelper (ScreenPtr pScreen, CARD32 key, RegionPtr clipboxes);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVFillKeyHelperDrawable (DrawablePtr pDraw, CARD32 key, RegionPtr clipboxes);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVFillKeyHelperPort (DrawablePtr pDraw, pointer data, CARD32 key, RegionPtr clipboxes, Bool fillEverything);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT Bool
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVClipVideoHelper(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync BoxPtr dst,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 *xa,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 *xb,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 *ya,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 *yb,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync RegionPtr reg,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 width,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync INT32 height
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVCopyYUV12ToPacked(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync const void *srcy,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync const void *srcv,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync const void *srcu,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync void *dst,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int srcPitchy,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int srcPitchuv,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int dstPitch,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int w
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncxf86XVCopyPacked(
f0ab104f070bc7f569404826fea1828ed985638cvboxsync const void *src,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync void *dst,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int srcPitch,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int dstPitch,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int h,
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int w
f0ab104f070bc7f569404826fea1828ed985638cvboxsync);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT DevPrivateKey (*XvGetScreenKeyProc)(void);
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT unsigned long (*XvGetRTPortProc)(void);
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT int (*XvScreenInitProc)(ScreenPtr);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#endif /* _XF86XV_H_ */