17e6fb56fSmrg/*
27e6fb56fSmrg * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
37e6fb56fSmrg * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
47e6fb56fSmrg *
57e6fb56fSmrg * Permission is hereby granted, free of charge, to any person obtaining a
67e6fb56fSmrg * copy of this software and associated documentation files (the "Software"),
77e6fb56fSmrg * to deal in the Software without restriction, including without limitation
87e6fb56fSmrg * the rights to use, copy, modify, merge, publish, distribute, sub license,
97e6fb56fSmrg * and/or sell copies of the Software, and to permit persons to whom the
107e6fb56fSmrg * Software is furnished to do so, subject to the following conditions:
117e6fb56fSmrg *
127e6fb56fSmrg * The above copyright notice and this permission notice (including the
137e6fb56fSmrg * next paragraph) shall be included in all copies or substantial portions
147e6fb56fSmrg * of the Software.
157e6fb56fSmrg *
167e6fb56fSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
177e6fb56fSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
187e6fb56fSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
197e6fb56fSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
207e6fb56fSmrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
217e6fb56fSmrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
227e6fb56fSmrg * DEALINGS IN THE SOFTWARE.
237e6fb56fSmrg */
247e6fb56fSmrg
257e6fb56fSmrg#ifndef _VIA_XVPRIV_H_
267e6fb56fSmrg#define _VIA_XVPRIV_H_ 1
277e6fb56fSmrg
287e6fb56fSmrg#include "xf86xv.h"
297e6fb56fSmrg
307e6fb56fSmrgenum
317e6fb56fSmrg{ XV_ADAPT_SWOV = 0,
327e6fb56fSmrg    XV_ADAPT_NUM
337e6fb56fSmrg};
347e6fb56fSmrg
357e6fb56fSmrgtypedef enum
367e6fb56fSmrg{
377e6fb56fSmrg    xve_none = 0,
387e6fb56fSmrg    xve_bandwidth,
397e6fb56fSmrg    xve_dmablit,
407e6fb56fSmrg    xve_mem,
417e6fb56fSmrg    xve_general,
427e6fb56fSmrg    xve_adaptor,
437e6fb56fSmrg    xve_numerr
447e6fb56fSmrg} XvError;
457e6fb56fSmrg
467e6fb56fSmrg#define VIA_MAX_XV_PORTS 1
477e6fb56fSmrg
487e6fb56fSmrgtypedef struct
497e6fb56fSmrg{
507e6fb56fSmrg    unsigned char xv_adaptor;
517e6fb56fSmrg    unsigned char xv_portnum;
527e6fb56fSmrg    int adaptor;
537e6fb56fSmrg    int brightness;
547e6fb56fSmrg    int saturation;
557e6fb56fSmrg    int contrast;
567e6fb56fSmrg    int hue;
577e6fb56fSmrg    RegionRec clip;
587e6fb56fSmrg    CARD32 colorKey;
597e6fb56fSmrg    Bool autoPaint;
607e6fb56fSmrg
617e6fb56fSmrg    CARD32 FourCC;		       /* from old SurfaceDesc -- passed down from viaPutImageG */
627e6fb56fSmrg
637e6fb56fSmrg    /* store old video source & dst data */
647e6fb56fSmrg    short old_src_x;
657e6fb56fSmrg    short old_src_y;
667e6fb56fSmrg    short old_src_w;
677e6fb56fSmrg    short old_src_h;
687e6fb56fSmrg
697e6fb56fSmrg    short old_drw_x;
707e6fb56fSmrg    short old_drw_y;
717e6fb56fSmrg    short old_drw_w;
727e6fb56fSmrg    short old_drw_h;
737e6fb56fSmrg
747e6fb56fSmrg    void *xvmc_priv;
757e6fb56fSmrg
767e6fb56fSmrg    /*
777e6fb56fSmrg     * For PCI DMA image transfer to frame-buffer memory.
787e6fb56fSmrg     */
797e6fb56fSmrg
807e6fb56fSmrg    unsigned char *dmaBounceBuffer;
817e6fb56fSmrg    unsigned dmaBounceStride;
827e6fb56fSmrg    unsigned dmaBounceLines;
837e6fb56fSmrg    XvError xvErr;
847e6fb56fSmrg
857e6fb56fSmrg} viaPortPrivRec, *viaPortPrivPtr;
867e6fb56fSmrg
877e6fb56fSmrgextern viaPortPrivPtr viaPortPriv[];
887e6fb56fSmrgextern unsigned viaNumXvPorts;
897e6fb56fSmrg
907e6fb56fSmrg#endif /* _VIA_XVPRIV_H_ */
91