Signed-off-by: Adam Jackson <a...@redhat.com> --- glamor/Makefile.am | 3 +- glamor/glamor_priv.h | 52 -------------------- glamor/glamor_xv.c | 2 +- glamor/glamor_xv.h | 86 ++++++++++++++++++++++++++++++++++ hw/kdrive/ephyr/ephyr_glamor_xv.c | 2 +- hw/xfree86/glamor_egl/glamor_xf86_xv.c | 2 +- hw/xwayland/xwayland-glamor-xv.c | 2 +- 7 files changed, 92 insertions(+), 57 deletions(-) create mode 100644 glamor/glamor_xv.h
diff --git a/glamor/Makefile.am b/glamor/Makefile.am index 8c79994e0..b5395259d 100644 --- a/glamor/Makefile.am +++ b/glamor/Makefile.am @@ -51,7 +51,8 @@ libglamor_la_SOURCES = \ if XV libglamor_la_SOURCES += \ - glamor_xv.c + glamor_xv.c \ + glamor_xv.h endif libglamor_egl_stubs_la_SOURCES = \ diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h index ad54b3197..8fc2d7bc4 100644 --- a/glamor/glamor_priv.h +++ b/glamor/glamor_priv.h @@ -30,7 +30,6 @@ #include "dix-config.h" #include "glamor.h" -#include "xvdix.h" #if XSYNC #include "misyncshm.h" @@ -857,57 +856,6 @@ void glamor_solid_boxes(PixmapPtr pixmap, BoxPtr box, int nbox, unsigned long fg_pixel); - -/* glamor_xv */ -typedef struct { - uint32_t transform_index; - uint32_t gamma; /* gamma value x 1000 */ - int brightness; - int saturation; - int hue; - int contrast; - - DrawablePtr pDraw; - PixmapPtr pPixmap; - uint32_t src_pitch; - uint8_t *src_addr; - int src_w, src_h, dst_w, dst_h; - int src_x, src_y, drw_x, drw_y; - int w, h; - RegionRec clip; - PixmapPtr src_pix[3]; /* y, u, v for planar */ - int src_pix_w, src_pix_h; -} glamor_port_private; - -extern XvAttributeRec glamor_xv_attributes[]; -extern int glamor_xv_num_attributes; -extern XvImageRec glamor_xv_images[]; -extern int glamor_xv_num_images; - -void glamor_xv_init_port(glamor_port_private *port_priv); -void glamor_xv_stop_video(glamor_port_private *port_priv); -int glamor_xv_set_port_attribute(glamor_port_private *port_priv, - Atom attribute, INT32 value); -int glamor_xv_get_port_attribute(glamor_port_private *port_priv, - Atom attribute, INT32 *value); -int glamor_xv_query_image_attributes(int id, - unsigned short *w, unsigned short *h, - int *pitches, int *offsets); -int glamor_xv_put_image(glamor_port_private *port_priv, - DrawablePtr pDrawable, - short src_x, short src_y, - short drw_x, short drw_y, - short src_w, short src_h, - short drw_w, short drw_h, - int id, - unsigned char *buf, - short width, - short height, - Bool sync, - RegionPtr clipBoxes); -void glamor_xv_core_init(ScreenPtr screen); -void glamor_xv_render(glamor_port_private *port_priv); - #include "glamor_utils.h" #if 0 diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c index 31320d124..aa6d88ec0 100644 --- a/glamor/glamor_xv.c +++ b/glamor/glamor_xv.c @@ -36,7 +36,7 @@ #include <dix-config.h> #endif -#include "glamor_priv.h" +#include "glamor_xv.h" #include "glamor_transform.h" #include "glamor_transfer.h" diff --git a/glamor/glamor_xv.h b/glamor/glamor_xv.h new file mode 100644 index 000000000..a12b44aea --- /dev/null +++ b/glamor/glamor_xv.h @@ -0,0 +1,86 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt <e...@anholt.net> + * + */ + +#ifndef GLAMOR_XV_H +#define GLAMOR_XV_H + +#include "dix-config.h" + +#include "glamor_priv.h" +#include "xvdix.h" + +/* glamor_xv */ +typedef struct { + uint32_t transform_index; + uint32_t gamma; /* gamma value x 1000 */ + int brightness; + int saturation; + int hue; + int contrast; + + DrawablePtr pDraw; + PixmapPtr pPixmap; + uint32_t src_pitch; + uint8_t *src_addr; + int src_w, src_h, dst_w, dst_h; + int src_x, src_y, drw_x, drw_y; + int w, h; + RegionRec clip; + PixmapPtr src_pix[3]; /* y, u, v for planar */ + int src_pix_w, src_pix_h; +} glamor_port_private; + +extern XvAttributeRec glamor_xv_attributes[]; +extern int glamor_xv_num_attributes; +extern XvImageRec glamor_xv_images[]; +extern int glamor_xv_num_images; + +void glamor_xv_init_port(glamor_port_private *port_priv); +void glamor_xv_stop_video(glamor_port_private *port_priv); +int glamor_xv_set_port_attribute(glamor_port_private *port_priv, + Atom attribute, INT32 value); +int glamor_xv_get_port_attribute(glamor_port_private *port_priv, + Atom attribute, INT32 *value); +int glamor_xv_query_image_attributes(int id, + unsigned short *w, unsigned short *h, + int *pitches, int *offsets); +int glamor_xv_put_image(glamor_port_private *port_priv, + DrawablePtr pDrawable, + short src_x, short src_y, + short drw_x, short drw_y, + short src_w, short src_h, + short drw_w, short drw_h, + int id, + unsigned char *buf, + short width, + short height, + Bool sync, + RegionPtr clipBoxes); +void glamor_xv_core_init(ScreenPtr screen); +void glamor_xv_render(glamor_port_private *port_priv); + +#endif /* GLAMOR_XV_H */ diff --git a/hw/kdrive/ephyr/ephyr_glamor_xv.c b/hw/kdrive/ephyr/ephyr_glamor_xv.c index 4dd15cf41..8a0653eaf 100644 --- a/hw/kdrive/ephyr/ephyr_glamor_xv.c +++ b/hw/kdrive/ephyr/ephyr_glamor_xv.c @@ -28,7 +28,7 @@ #include "kdrive.h" #include "kxv.h" #include "ephyr.h" -#include "glamor_priv.h" +#include "glamor_xv.h" #include <X11/extensions/Xv.h> #include "fourcc.h" diff --git a/hw/xfree86/glamor_egl/glamor_xf86_xv.c b/hw/xfree86/glamor_egl/glamor_xf86_xv.c index 8535fa0c9..5302ca06b 100644 --- a/hw/xfree86/glamor_egl/glamor_xf86_xv.c +++ b/hw/xfree86/glamor_egl/glamor_xf86_xv.c @@ -39,7 +39,7 @@ #endif #define GLAMOR_FOR_XORG -#include "glamor_priv.h" +#include "glamor_xv.h" #include <X11/extensions/Xv.h> #include "fourcc.h" diff --git a/hw/xwayland/xwayland-glamor-xv.c b/hw/xwayland/xwayland-glamor-xv.c index 8e0f8da94..a13e1181b 100644 --- a/hw/xwayland/xwayland-glamor-xv.c +++ b/hw/xwayland/xwayland-glamor-xv.c @@ -31,7 +31,7 @@ */ #include "xwayland.h" -#include "glamor_priv.h" +#include "glamor_xv.h" #include <X11/extensions/Xv.h> -- 2.14.3 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel