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