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