diff options
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapidisplay_x11.c | 9 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h | 12 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapipixmap.c | 263 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapipixmap.h | 98 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapipixmap_priv.h | 113 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapipixmap_x11.c | 251 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapipixmap_x11.h | 61 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiwindow.c | 54 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiwindow.h | 5 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiwindow_egl.c | 22 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiwindow_priv.h | 2 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiwindow_x11.c | 118 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h | 4 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/meson.build | 6 |
14 files changed, 6 insertions, 1012 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapidisplay_x11.c b/gst-libs/gst/vaapi/gstvaapidisplay_x11.c index a1c82e68..50300b87 100644 --- a/gst-libs/gst/vaapi/gstvaapidisplay_x11.c +++ b/gst-libs/gst/vaapi/gstvaapidisplay_x11.c @@ -38,10 +38,6 @@ # include <X11/extensions/Xrandr.h> #endif -#if HAVE_XRENDER -# include <X11/extensions/Xrender.h> -#endif - #define DEBUG_VAAPI_DISPLAY 1 #include "gstvaapidebug.h" @@ -114,10 +110,6 @@ check_extensions (GstVaapiDisplayX11 * display) priv->use_xrandr = XRRQueryExtension (priv->x11_display, &evt_base, &err_base); #endif -#if HAVE_XRENDER - priv->has_xrender = XRenderQueryExtension (priv->x11_display, - &evt_base, &err_base); -#endif } static gboolean @@ -132,7 +124,6 @@ gst_vaapi_display_x11_bind_display (GstVaapiDisplay * base_display, priv->use_foreign_display = TRUE; check_extensions (display); - if (!set_display_name (display, XDisplayString (priv->x11_display))) return FALSE; return TRUE; diff --git a/gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h b/gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h index 9a26e8a4..2f2cc7af 100644 --- a/gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h +++ b/gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h @@ -66,17 +66,6 @@ typedef struct _GstVaapiDisplayX11Class GstVaapiDisplayX11Class; #define GST_VAAPI_DISPLAY_XSCREEN(display) \ GST_VAAPI_DISPLAY_X11_PRIVATE(display)->x11_screen -/** - * GST_VAAPI_DISPLAY_HAS_XRENDER: - * @display: a #GstVaapiDisplay - * - * Macro that evaluates to the existence of the XRender extension on - * @display server. - */ -#undef GST_VAAPI_DISPLAY_HAS_XRENDER -#define GST_VAAPI_DISPLAY_HAS_XRENDER(display) \ - (GST_VAAPI_DISPLAY_X11_PRIVATE(display)->has_xrender) - struct _GstVaapiDisplayX11Private { gchar *display_name; @@ -85,7 +74,6 @@ struct _GstVaapiDisplayX11Private GArray *pixmap_formats; guint use_foreign_display:1; // Foreign native_display? guint use_xrandr:1; - guint has_xrender:1; // Has XRender extension? guint synchronous:1; }; diff --git a/gst-libs/gst/vaapi/gstvaapipixmap.c b/gst-libs/gst/vaapi/gstvaapipixmap.c deleted file mode 100644 index ebbfdd5b..00000000 --- a/gst-libs/gst/vaapi/gstvaapipixmap.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - * gstvaapipixmap.c - Pixmap abstraction - * - * Copyright (C) 2013 Intel Corporation - * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -/** - * SECTION:gstvaapipixmap - * @short_description: Pixmap abstraction - */ - -#include "sysdeps.h" -#include "gstvaapipixmap.h" -#include "gstvaapipixmap_priv.h" -#include "gstvaapisurface_priv.h" - -#define DEBUG 1 -#include "gstvaapidebug.h" - -static inline GstVaapiPixmap * -gst_vaapi_pixmap_new_internal (const GstVaapiPixmapClass * pixmap_class, - GstVaapiDisplay * display) -{ - g_assert (pixmap_class->create != NULL); - g_assert (pixmap_class->render != NULL); - - return gst_vaapi_object_new (GST_VAAPI_OBJECT_CLASS (pixmap_class), display); -} - -GstVaapiPixmap * -gst_vaapi_pixmap_new (const GstVaapiPixmapClass * pixmap_class, - GstVaapiDisplay * display, GstVideoFormat format, guint width, guint height) -{ - GstVaapiPixmap *pixmap; - - g_return_val_if_fail (format != GST_VIDEO_FORMAT_UNKNOWN && - format != GST_VIDEO_FORMAT_ENCODED, NULL); - g_return_val_if_fail (width > 0, NULL); - g_return_val_if_fail (height > 0, NULL); - - pixmap = gst_vaapi_pixmap_new_internal (pixmap_class, display); - if (!pixmap) - return NULL; - - pixmap->format = format; - pixmap->width = width; - pixmap->height = height; - if (!pixmap_class->create (pixmap)) - goto error; - return pixmap; - - /* ERRORS */ -error: - { - gst_vaapi_pixmap_unref (pixmap); - return NULL; - } -} - -GstVaapiPixmap * -gst_vaapi_pixmap_new_from_native (const GstVaapiPixmapClass * pixmap_class, - GstVaapiDisplay * display, gpointer native_pixmap) -{ - GstVaapiPixmap *pixmap; - - pixmap = gst_vaapi_pixmap_new_internal (pixmap_class, display); - if (!pixmap) - return NULL; - - GST_VAAPI_OBJECT_ID (pixmap) = GPOINTER_TO_SIZE (native_pixmap); - pixmap->use_foreign_pixmap = TRUE; - if (!pixmap_class->create (pixmap)) - goto error; - return pixmap; - - /* ERRORS */ -error: - { - gst_vaapi_pixmap_unref (pixmap); - return NULL; - } -} - -/** - * gst_vaapi_pixmap_ref: - * @pixmap: a #GstVaapiPixmap - * - * Atomically increases the reference count of the given @pixmap by one. - * - * Returns: The same @pixmap argument - */ -GstVaapiPixmap * -gst_vaapi_pixmap_ref (GstVaapiPixmap * pixmap) -{ - return gst_vaapi_object_ref (GST_VAAPI_OBJECT (pixmap)); -} - -/** - * gst_vaapi_pixmap_unref: - * @pixmap: a #GstVaapiPixmap - * - * Atomically decreases the reference count of the @pixmap by one. If - * the reference count reaches zero, the pixmap will be free'd. - */ -void -gst_vaapi_pixmap_unref (GstVaapiPixmap * pixmap) -{ - gst_vaapi_object_unref (GST_VAAPI_OBJECT (pixmap)); -} - -/** - * gst_vaapi_pixmap_replace: - * @old_pixmap_ptr: a pointer to a #GstVaapiPixmap - * @new_pixmap: a #GstVaapiPixmap - * - * Atomically replaces the pixmap pixmap held in @old_pixmap_ptr with - * @new_pixmap. This means that @old_pixmap_ptr shall reference a - * valid pixmap. However, @new_pixmap can be NULL. - */ -void -gst_vaapi_pixmap_replace (GstVaapiPixmap ** old_pixmap_ptr, - GstVaapiPixmap * new_pixmap) -{ - gst_vaapi_object_replace ((GstVaapiObject **) (old_pixmap_ptr), - GST_VAAPI_OBJECT (new_pixmap)); -} - -/** - * gst_vaapi_pixmap_get_display: - * @pixmap: a #GstVaapiPixmap - * - * Returns the #GstVaapiDisplay this @pixmap is bound to. - * - * Return value: the parent #GstVaapiDisplay object - */ -GstVaapiDisplay * -gst_vaapi_pixmap_get_display (GstVaapiPixmap * pixmap) -{ - g_return_val_if_fail (pixmap != NULL, NULL); - - return GST_VAAPI_OBJECT_DISPLAY (pixmap); -} - -/** - * gst_vaapi_pixmap_get_format: - * @pixmap: a #GstVaapiPixmap - * - * Retrieves the format of a #GstVaapiPixmap. - * - * Return value: the format of the @pixmap - */ -GstVideoFormat -gst_vaapi_pixmap_get_format (GstVaapiPixmap * pixmap) -{ - g_return_val_if_fail (pixmap != NULL, GST_VIDEO_FORMAT_UNKNOWN); - - return GST_VAAPI_PIXMAP_FORMAT (pixmap); -} - -/** - * gst_vaapi_pixmap_get_width: - * @pixmap: a #GstVaapiPixmap - * - * Retrieves the width of a #GstVaapiPixmap. - * - * Return value: the width of the @pixmap, in pixels - */ -guint -gst_vaapi_pixmap_get_width (GstVaapiPixmap * pixmap) -{ - g_return_val_if_fail (pixmap != NULL, 0); - - return GST_VAAPI_PIXMAP_WIDTH (pixmap); -} - -/** - * gst_vaapi_pixmap_get_height: - * @pixmap: a #GstVaapiPixmap - * - * Retrieves the height of a #GstVaapiPixmap - * - * Return value: the height of the @pixmap, in pixels - */ -guint -gst_vaapi_pixmap_get_height (GstVaapiPixmap * pixmap) -{ - g_return_val_if_fail (pixmap != NULL, 0); - - return GST_VAAPI_PIXMAP_HEIGHT (pixmap); -} - -/** - * gst_vaapi_pixmap_get_size: - * @pixmap: a #GstVaapiPixmap - * @width: return location for the width, or %NULL - * @height: return location for the height, or %NULL - * - * Retrieves the dimensions of a #GstVaapiPixmap. - */ -void -gst_vaapi_pixmap_get_size (GstVaapiPixmap * pixmap, guint * width, - guint * height) -{ - g_return_if_fail (pixmap != NULL); - - if (width) - *width = GST_VAAPI_PIXMAP_WIDTH (pixmap); - - if (height) - *height = GST_VAAPI_PIXMAP_HEIGHT (pixmap); -} - -/** - * gst_vaapi_pixmap_put_surface: - * @pixmap: a #GstVaapiPixmap - * @surface: a #GstVaapiSurface - * @crop_rect: the video cropping rectangle, or %NULL if the entire - * surface is to be used. - * @flags: postprocessing flags. See #GstVaapiSurfaceRenderFlags - * - * Renders the whole @surface, or a cropped region defined with - * @crop_rect, into the @pixmap, while scaling to fit the target - * pixmap. The @flags specify how de-interlacing (if needed), color - * space conversion, scaling and other postprocessing transformations - * are performed. - * - * Return value: %TRUE on success - */ -gboolean -gst_vaapi_pixmap_put_surface (GstVaapiPixmap * pixmap, - GstVaapiSurface * surface, const GstVaapiRectangle * crop_rect, guint flags) -{ - GstVaapiRectangle src_rect; - - g_return_val_if_fail (pixmap != NULL, FALSE); - g_return_val_if_fail (surface != NULL, FALSE); - - if (!crop_rect) { - src_rect.x = 0; - src_rect.y = 0; - src_rect.width = GST_VAAPI_SURFACE_WIDTH (surface); - src_rect.height = GST_VAAPI_SURFACE_HEIGHT (surface); - crop_rect = &src_rect; - } - return GST_VAAPI_PIXMAP_GET_CLASS (pixmap)->render (pixmap, surface, - crop_rect, flags); -} diff --git a/gst-libs/gst/vaapi/gstvaapipixmap.h b/gst-libs/gst/vaapi/gstvaapipixmap.h deleted file mode 100644 index 037a72f3..00000000 --- a/gst-libs/gst/vaapi/gstvaapipixmap.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * gstvaapipixmap.h - Pixmap abstraction - * - * Copyright (C) 2013 Intel Corporation - * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -#ifndef GST_VAAPI_PIXMAP_H -#define GST_VAAPI_PIXMAP_H - -#include <gst/vaapi/gstvaapitypes.h> -#include <gst/vaapi/gstvaapiobject.h> -#include <gst/vaapi/gstvaapidisplay.h> -#include <gst/vaapi/gstvaapisurface.h> -#include <gst/vaapi/video-format.h> - -G_BEGIN_DECLS - -#define GST_VAAPI_PIXMAP(obj) \ - ((GstVaapiPixmap *)(obj)) - -typedef struct _GstVaapiPixmap GstVaapiPixmap; -typedef struct _GstVaapiPixmapClass GstVaapiPixmapClass; - -/** - * GST_VAAPI_PIXMAP_FORMAT: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the format in pixels of the @pixmap. - */ -#define GST_VAAPI_PIXMAP_FORMAT(pixmap) \ - gst_vaapi_pixmap_get_format(GST_VAAPI_PIXMAP(pixmap)) - -/** - * GST_VAAPI_PIXMAP_WIDTH: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the width in pixels of the @pixmap. - */ -#define GST_VAAPI_PIXMAP_WIDTH(pixmap) \ - gst_vaapi_pixmap_get_width(GST_VAAPI_PIXMAP(pixmap)) - -/** - * GST_VAAPI_PIXMAP_HEIGHT: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the height in pixels of the @pixmap. - */ -#define GST_VAAPI_PIXMAP_HEIGHT(pixmap) \ - gst_vaapi_pixmap_get_height(GST_VAAPI_PIXMAP(pixmap)) - -GstVaapiPixmap * -gst_vaapi_pixmap_ref(GstVaapiPixmap *pixmap); - -void -gst_vaapi_pixmap_unref(GstVaapiPixmap *pixmap); - -void -gst_vaapi_pixmap_replace(GstVaapiPixmap **old_pixmap_ptr, - GstVaapiPixmap *new_pixmap); - -GstVaapiDisplay * -gst_vaapi_pixmap_get_display(GstVaapiPixmap *pixmap); - -GstVideoFormat -gst_vaapi_pixmap_get_format(GstVaapiPixmap *pixmap); - -guint -gst_vaapi_pixmap_get_width(GstVaapiPixmap *pixmap); - -guint -gst_vaapi_pixmap_get_height(GstVaapiPixmap *pixmap); - -void -gst_vaapi_pixmap_get_size(GstVaapiPixmap *pixmap, guint *width, guint *height); - -gboolean -gst_vaapi_pixmap_put_surface(GstVaapiPixmap *pixmap, GstVaapiSurface *surface, - const GstVaapiRectangle *crop_rect, guint flags); - -G_END_DECLS - -#endif /* GST_VAAPI_PIXMAP_H */ diff --git a/gst-libs/gst/vaapi/gstvaapipixmap_priv.h b/gst-libs/gst/vaapi/gstvaapipixmap_priv.h deleted file mode 100644 index a99d91f5..00000000 --- a/gst-libs/gst/vaapi/gstvaapipixmap_priv.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * gstvaapipixmap_priv.h - Pixmap abstraction (private definitions) - * - * Copyright (C) 2013 Intel Corporation - * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -#ifndef GST_VAAPI_PIXMAP_PRIV_H -#define GST_VAAPI_PIXMAP_PRIV_H - -#include "gstvaapiobject_priv.h" - -G_BEGIN_DECLS - -#define GST_VAAPI_PIXMAP_CLASS(klass) \ - ((GstVaapiPixmapClass *)(klass)) - -#define GST_VAAPI_PIXMAP_GET_CLASS(obj) \ - GST_VAAPI_PIXMAP_CLASS(GST_VAAPI_OBJECT_GET_CLASS(obj)) - -/** - * GST_VAAPI_PIXMAP_FORMAT: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the format in pixels of the @pixmap. - */ -#undef GST_VAAPI_PIXMAP_FORMAT -#define GST_VAAPI_PIXMAP_FORMAT(pixmap) \ - (GST_VAAPI_PIXMAP(pixmap)->format) - -/** - * GST_VAAPI_PIXMAP_WIDTH: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the width in pixels of the @pixmap. - */ -#undef GST_VAAPI_PIXMAP_WIDTH -#define GST_VAAPI_PIXMAP_WIDTH(pixmap) \ - (GST_VAAPI_PIXMAP(pixmap)->width) - -/** - * GST_VAAPI_PIXMAP_HEIGHT: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the height in pixels of the @pixmap. - */ -#undef GST_VAAPI_PIXMAP_HEIGHT -#define GST_VAAPI_PIXMAP_HEIGHT(pixmap) \ - (GST_VAAPI_PIXMAP(pixmap)->height) - -/* GstVaapiPixmapClass hooks */ -typedef gboolean (*GstVaapiPixmapCreateFunc) (GstVaapiPixmap *pixmap); -typedef gboolean (*GstVaapiPixmapRenderFunc) (GstVaapiPixmap *pixmap, - GstVaapiSurface *surface, const GstVaapiRectangle *crop_rect, guint flags); - -/** - * GstVaapiPixmap: - * - * Base class for system-dependent pixmaps. - */ -struct _GstVaapiPixmap { - /*< private >*/ - GstVaapiObject parent_instance; - - /*< protected >*/ - GstVideoFormat format; - guint width; - guint height; - guint use_foreign_pixmap : 1; -}; - -/** - * GstVaapiPixmapClass: - * @create: virtual function to create a pixmap with width and height - * @render: virtual function to render a #GstVaapiSurface into a pixmap - * - * Base class for system-dependent pixmaps. - */ -struct _GstVaapiPixmapClass { - /*< private >*/ - GstVaapiObjectClass parent_class; - - /*< protected >*/ - GstVaapiPixmapCreateFunc create; - GstVaapiPixmapRenderFunc render; -}; - -GstVaapiPixmap * -gst_vaapi_pixmap_new(const GstVaapiPixmapClass *pixmap_class, - GstVaapiDisplay *display, GstVideoFormat format, guint width, guint height); - -GstVaapiPixmap * -gst_vaapi_pixmap_new_from_native(const GstVaapiPixmapClass *pixmap_class, - GstVaapiDisplay *display, gpointer native_pixmap); - -G_END_DECLS - -#endif /* GST_VAAPI_PIXMAP_PRIV_H */ diff --git a/gst-libs/gst/vaapi/gstvaapipixmap_x11.c b/gst-libs/gst/vaapi/gstvaapipixmap_x11.c deleted file mode 100644 index 43a1710d..00000000 --- a/gst-libs/gst/vaapi/gstvaapipixmap_x11.c +++ /dev/null @@ -1,251 +0,0 @@ -/* - * gstvaapipixmap_x11.c - X11 pixmap abstraction - * - * Copyright (C) 2013-2014 Intel Corporation - * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -/** - * SECTION:gstvaapipixmap_x11 - * @short_description: X11 pixmap abstraction - */ - -#include "sysdeps.h" -#include "gstvaapicompat.h" -#include "gstvaapipixmap_x11.h" -#include "gstvaapipixmap_priv.h" -#include "gstvaapidisplay_x11.h" -#include "gstvaapidisplay_x11_priv.h" -#include "gstvaapiutils.h" -#include "gstvaapiutils_x11.h" -#include "gstvaapisurface_priv.h" - -#define DEBUG 1 -#include "gstvaapidebug.h" - -typedef struct _GstVaapiPixmapX11Class GstVaapiPixmapX11Class; - -struct _GstVaapiPixmapX11 -{ - GstVaapiPixmap parent_instance; -}; - -struct _GstVaapiPixmapX11Class -{ - GstVaapiPixmapClass parent_class; -}; - -static gboolean -gst_vaapi_pixmap_x11_create_from_xid (GstVaapiPixmap * pixmap, Pixmap xid) -{ - guint depth; - gboolean success; - - if (!xid) - return FALSE; - - GST_VAAPI_OBJECT_LOCK_DISPLAY (pixmap); - success = x11_get_geometry (GST_VAAPI_OBJECT_NATIVE_DISPLAY (pixmap), xid, - NULL, NULL, &pixmap->width, &pixmap->height, &depth); - GST_VAAPI_OBJECT_UNLOCK_DISPLAY (pixmap); - if (!success) - return FALSE; - - pixmap->format = - gst_vaapi_display_x11_get_pixmap_format (GST_VAAPI_OBJECT_DISPLAY_X11 - (pixmap), depth); - if (pixmap->format == GST_VIDEO_FORMAT_UNKNOWN) - return FALSE; - return TRUE; -} - -static gboolean -gst_vaapi_pixmap_x11_create (GstVaapiPixmap * pixmap) -{ - GstVaapiDisplayX11 *const display = - GST_VAAPI_DISPLAY_X11 (GST_VAAPI_OBJECT_DISPLAY (pixmap)); - Display *const dpy = GST_VAAPI_DISPLAY_NATIVE (display); - Window rootwin; - Pixmap xid; - guint depth; - - if (pixmap->use_foreign_pixmap) - return gst_vaapi_pixmap_x11_create_from_xid (pixmap, - GST_VAAPI_OBJECT_ID (pixmap)); - - depth = gst_vaapi_display_x11_get_pixmap_depth (display, pixmap->format); - if (!depth) - return FALSE; - - GST_VAAPI_OBJECT_LOCK_DISPLAY (pixmap); - rootwin = RootWindow (dpy, DefaultScreen (dpy)); - xid = XCreatePixmap (dpy, rootwin, pixmap->width, pixmap->height, depth); - GST_VAAPI_OBJECT_UNLOCK_DISPLAY (pixmap); - - GST_DEBUG ("xid %" GST_VAAPI_ID_FORMAT, GST_VAAPI_ID_ARGS (xid)); - GST_VAAPI_OBJECT_ID (pixmap) = xid; - return xid != None; -} - -static void -gst_vaapi_pixmap_x11_destroy (GstVaapiPixmap * pixmap) -{ - const Pixmap xid = GST_VAAPI_OBJECT_ID (pixmap); - - if (xid) { - if (!pixmap->use_foreign_pixmap) { - GST_VAAPI_OBJECT_LOCK_DISPLAY (pixmap); - XFreePixmap (GST_VAAPI_OBJECT_NATIVE_DISPLAY (pixmap), xid); - GST_VAAPI_OBJECT_UNLOCK_DISPLAY (pixmap); - } - GST_VAAPI_OBJECT_ID (pixmap) = None; - } -} - -static gboolean -gst_vaapi_pixmap_x11_render (GstVaapiPixmap * pixmap, GstVaapiSurface * surface, - const GstVaapiRectangle * crop_rect, guint flags) -{ - VASurfaceID surface_id; - VAStatus status; - - surface_id = GST_VAAPI_SURFACE_ID (surface); - if (surface_id == VA_INVALID_ID) - return FALSE; - - GST_VAAPI_OBJECT_LOCK_DISPLAY (pixmap); - status = vaPutSurface (GST_VAAPI_OBJECT_VADISPLAY (pixmap), - surface_id, - GST_VAAPI_OBJECT_ID (pixmap), - crop_rect->x, crop_rect->y, - crop_rect->width, crop_rect->height, - 0, 0, - GST_VAAPI_PIXMAP_WIDTH (pixmap), - GST_VAAPI_PIXMAP_HEIGHT (pixmap), - NULL, 0, from_GstVaapiSurfaceRenderFlags (flags) - ); - GST_VAAPI_OBJECT_UNLOCK_DISPLAY (pixmap); - if (!vaapi_check_status (status, "vaPutSurface() [pixmap]")) - return FALSE; - return TRUE; -} - -void -gst_vaapi_pixmap_x11_class_init (GstVaapiPixmapX11Class * klass) -{ - GstVaapiObjectClass *const object_class = GST_VAAPI_OBJECT_CLASS (klass); - GstVaapiPixmapClass *const pixmap_class = GST_VAAPI_PIXMAP_CLASS (klass); - - object_class->finalize = (GstVaapiObjectFinalizeFunc) - gst_vaapi_pixmap_x11_destroy; - - pixmap_class->create = gst_vaapi_pixmap_x11_create; - pixmap_class->render = gst_vaapi_pixmap_x11_render; -} - -#define gst_vaapi_pixmap_x11_finalize \ - gst_vaapi_pixmap_x11_destroy - -GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiPixmapX11, - gst_vaapi_pixmap_x11, gst_vaapi_pixmap_x11_class_init (&g_class)) - -/** - * gst_vaapi_pixmap_x11_new: - * @display: a #GstVaapiDisplay - * @format: the requested pixmap format - * @width: the requested pixmap width, in pixels - * @height: the requested windo height, in pixels - * - * Creates a pixmap with the specified @format, @width and - * @height. The pixmap will be attached to the @display. - * - * Return value: the newly allocated #GstVaapiPixmap object - */ - GstVaapiPixmap *gst_vaapi_pixmap_x11_new (GstVaapiDisplay * display, - GstVideoFormat format, guint width, guint height) -{ - GST_DEBUG ("new pixmap, format %s, size %ux%u", - gst_vaapi_video_format_to_string (format), width, height); - - g_return_val_if_fail (GST_VAAPI_IS_DISPLAY_X11 (display), NULL); - - return - gst_vaapi_pixmap_new (GST_VAAPI_PIXMAP_CLASS (gst_vaapi_pixmap_x11_class - ()), display, format, width, height); -} - -/** - * gst_vaapi_pixmap_x11_new_with_xid: - * @display: a #GstVaapiDisplay - * @xid: an X11 #Pixmap id - * - * Creates a #GstVaapiPixmap using the X11 Pixmap @xid. The caller - * still owns the pixmap and must call XFreePixmap() when all - * #GstVaapiPixmap references are released. Doing so too early can - * yield undefined behaviour. - * - * Return value: the newly allocated #GstVaapiPixmap object - */ -GstVaapiPixmap * -gst_vaapi_pixmap_x11_new_with_xid (GstVaapiDisplay * display, Pixmap xid) -{ - GST_DEBUG ("new pixmap from xid 0x%08x", (guint) xid); - - g_return_val_if_fail (GST_VAAPI_IS_DISPLAY_X11 (display), NULL); - g_return_val_if_fail (xid != None, NULL); - - return - gst_vaapi_pixmap_new_from_native (GST_VAAPI_PIXMAP_CLASS - (gst_vaapi_pixmap_x11_class ()), display, GSIZE_TO_POINTER (xid)); -} - -/** - * gst_vaapi_pixmap_x11_get_xid: - * @pixmap: a #GstVaapiPixmapX11 - * - * Returns the underlying X11 Pixmap that was created by - * gst_vaapi_pixmap_x11_new() or that was bound with - * gst_vaapi_pixmap_x11_new_with_xid(). - * - * Return value: the underlying X11 Pixmap bound to @pixmap. - */ -Pixmap -gst_vaapi_pixmap_x11_get_xid (GstVaapiPixmapX11 * pixmap) -{ - g_return_val_if_fail (pixmap != NULL, None); - - return GST_VAAPI_OBJECT_ID (pixmap); -} - -/** - * gst_vaapi_pixmap_x11_is_foreign_xid: - * @pixmap: a #GstVaapiPixmapX11 - * - * Checks whether the @pixmap XID was created by gst_vaapi_pixmap_x11_new() - * or was bound with gst_vaapi_pixmap_x11_new_with_xid(). - * - * Return value: %TRUE if the underlying X pixmap is owned by the - * caller (foreign pixmap) - */ -gboolean -gst_vaapi_pixmap_x11_is_foreign_xid (GstVaapiPixmapX11 * pixmap) -{ - g_return_val_if_fail (pixmap != NULL, FALSE); - - return GST_VAAPI_PIXMAP (pixmap)->use_foreign_pixmap; -} diff --git a/gst-libs/gst/vaapi/gstvaapipixmap_x11.h b/gst-libs/gst/vaapi/gstvaapipixmap_x11.h deleted file mode 100644 index 814823b1..00000000 --- a/gst-libs/gst/vaapi/gstvaapipixmap_x11.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * gstvaapipixmap_x11.h - X11 pixmap abstraction - * - * Copyright (C) 2013 Intel Corporation - * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 - * of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -#ifndef GST_VAAPI_PIXMAP_X11_H -#define GST_VAAPI_PIXMAP_X11_H - -#include <X11/Xlib.h> -#include <gst/vaapi/gstvaapidisplay.h> -#include <gst/vaapi/gstvaapipixmap.h> - -G_BEGIN_DECLS - -#define GST_VAAPI_PIXMAP_X11(obj) \ - ((GstVaapiPixmapX11 *)(obj)) - -/** - * GST_VAAPI_PIXMAP_XPIXMAP: - * @pixmap: a #GstVaapiPixmap - * - * Macro that evaluates to the underlying X11 #Pixmap of @pixmap - */ -#define GST_VAAPI_PIXMAP_XPIXMAP(pixmap) \ - gst_vaapi_pixmap_x11_get_xid(GST_VAAPI_PIXMAP_X11(pixmap)) - -typedef struct _GstVaapiPixmapX11 GstVaapiPixmapX11; - -GstVaapiPixmap * -gst_vaapi_pixmap_x11_new(GstVaapiDisplay *display, GstVideoFormat format, - guint width, guint height); - -GstVaapiPixmap * -gst_vaapi_pixmap_x11_new_with_xid(GstVaapiDisplay *display, Pixmap xid); - -Pixmap -gst_vaapi_pixmap_x11_get_xid(GstVaapiPixmapX11 *pixmap); - -gboolean -gst_vaapi_pixmap_x11_is_foreign_xid(GstVaapiPixmapX11 *pixmap); - -G_END_DECLS - -#endif /* GST_VAAPI_PIXMAP_X11_H */ diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.c b/gst-libs/gst/vaapi/gstvaapiwindow.c index 1af80377..35ba42cf 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow.c @@ -602,60 +602,6 @@ gst_vaapi_window_put_surface (GstVaapiWindow * window, return klass->render (window, surface, src_rect, dst_rect, flags); } -static inline void -get_pixmap_rect (GstVaapiPixmap * pixmap, GstVaapiRectangle * rect) -{ - guint width, height; - - gst_vaapi_pixmap_get_size (pixmap, &width, &height); - rect->x = 0; - rect->y = 0; - rect->width = width; - rect->height = height; -} - -/** - * gst_vaapi_window_put_pixmap: - * @window: a #GstVaapiWindow - * @pixmap: a #GstVaapiPixmap - * @src_rect: the sub-rectangle of the source pixmap to - * extract and process. If %NULL, the entire pixmap will be used. - * @dst_rect: the sub-rectangle of the destination - * window into which the pixmap is rendered. If %NULL, the entire - * window will be used. - * - * Renders the @pixmap region specified by @src_rect into the @window - * region specified by @dst_rect. - * - * Return value: %TRUE on success - */ -gboolean -gst_vaapi_window_put_pixmap (GstVaapiWindow * window, - GstVaapiPixmap * pixmap, - const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect) -{ - const GstVaapiWindowClass *klass; - GstVaapiRectangle src_rect_default, dst_rect_default; - - g_return_val_if_fail (GST_VAAPI_IS_WINDOW (window), FALSE); - g_return_val_if_fail (pixmap != NULL, FALSE); - - klass = GST_VAAPI_WINDOW_GET_CLASS (window); - if (!klass->render_pixmap) - return FALSE; - - if (!src_rect) { - src_rect = &src_rect_default; - get_pixmap_rect (pixmap, &src_rect_default); - } - - if (!dst_rect) { - dst_rect = &dst_rect_default; - get_window_rect (window, &dst_rect_default); - } - return klass->render_pixmap (window, pixmap, src_rect, dst_rect); -} - /** * gst_vaapi_window_reconfigure: * @window: a #GstVaapiWindow diff --git a/gst-libs/gst/vaapi/gstvaapiwindow.h b/gst-libs/gst/vaapi/gstvaapiwindow.h index 0796d20d..a5385010 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow.h +++ b/gst-libs/gst/vaapi/gstvaapiwindow.h @@ -29,7 +29,6 @@ #include <gst/vaapi/gstvaapitypes.h> #include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapisurface.h> -#include <gst/vaapi/gstvaapipixmap.h> G_BEGIN_DECLS @@ -91,10 +90,6 @@ gst_vaapi_window_put_surface (GstVaapiWindow * window, GstVaapiSurface * surface, const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect, guint flags); -gboolean -gst_vaapi_window_put_pixmap (GstVaapiWindow * window, GstVaapiPixmap * pixmap, - const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect); - void gst_vaapi_window_reconfigure (GstVaapiWindow * window); diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_egl.c b/gst-libs/gst/vaapi/gstvaapiwindow_egl.c index 45f38691..1261fc1c 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_egl.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow_egl.c @@ -281,8 +281,11 @@ gst_vaapi_window_egl_finalize (GObject * object) { GstVaapiWindowEGL *const window = GST_VAAPI_WINDOW_EGL (object); - egl_context_run (window->egl_window->context, - (EglContextRunFunc) do_destroy_objects, window); + if (window->egl_window) { + egl_context_run (window->egl_window->context, + (EglContextRunFunc) do_destroy_objects, window); + } + gst_vaapi_window_replace (&window->window, NULL); gst_vaapi_texture_replace (&window->texture, NULL); @@ -505,20 +508,6 @@ gst_vaapi_window_egl_render (GstVaapiWindow * window, GstVaapiSurface * surface, (EglContextRunFunc) do_upload_surface, &args) && args.success; } -static gboolean -gst_vaapi_window_egl_render_pixmap (GstVaapiWindow * window, - GstVaapiPixmap * pixmap, const GstVaapiRectangle * src_rect, - const GstVaapiRectangle * dst_rect) -{ - const GstVaapiWindowClass *const klass = - GST_VAAPI_WINDOW_GET_CLASS (GST_VAAPI_WINDOW_EGL_GET_PROXY (window)); - - if (!klass->render_pixmap) - return FALSE; - return klass->render_pixmap (GST_VAAPI_WINDOW_EGL_GET_PROXY (window), pixmap, - src_rect, dst_rect); -} - static void gst_vaapi_window_egl_class_init (GstVaapiWindowEGLClass * klass) { @@ -534,7 +523,6 @@ gst_vaapi_window_egl_class_init (GstVaapiWindowEGLClass * klass) window_class->set_fullscreen = gst_vaapi_window_egl_set_fullscreen; window_class->resize = gst_vaapi_window_egl_resize; window_class->render = gst_vaapi_window_egl_render; - window_class->render_pixmap = gst_vaapi_window_egl_render_pixmap; } static void diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_priv.h b/gst-libs/gst/vaapi/gstvaapiwindow_priv.h index cd21d00c..09be19c3 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_priv.h +++ b/gst-libs/gst/vaapi/gstvaapiwindow_priv.h @@ -123,8 +123,6 @@ struct _GstVaapiWindowClass gboolean (*render) (GstVaapiWindow * window, GstVaapiSurface * surface, const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect, guint flags); - gboolean (*render_pixmap) (GstVaapiWindow * window, GstVaapiPixmap * pixmap, - const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect); guintptr (*get_visual_id) (GstVaapiWindow * window); guintptr (*get_colormap) (GstVaapiWindow * window); gboolean (*unblock) (GstVaapiWindow * window); diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_x11.c b/gst-libs/gst/vaapi/gstvaapiwindow_x11.c index bf0b65b3..38fed7a1 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_x11.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow_x11.c @@ -32,8 +32,6 @@ #include "gstvaapicompat.h" #include "gstvaapiwindow_x11.h" #include "gstvaapiwindow_x11_priv.h" -#include "gstvaapipixmap_x11.h" -#include "gstvaapipixmap_priv.h" #include "gstvaapidisplay_x11.h" #include "gstvaapidisplay_x11_priv.h" #include "gstvaapisurface_priv.h" @@ -232,9 +230,6 @@ gst_vaapi_window_x11_create (GstVaapiWindow * window, guint * width, "_NET_WM_STATE_FULLSCREEN", }; - priv->has_xrender = - GST_VAAPI_DISPLAY_HAS_XRENDER (GST_VAAPI_WINDOW_DISPLAY (window)); - if (window->use_foreign_window && xid) { GST_VAAPI_WINDOW_LOCK_DISPLAY (window); XGetWindowAttributes (dpy, xid, &wattr); @@ -291,17 +286,6 @@ gst_vaapi_window_x11_finalize (GObject * object) Display *const dpy = GST_VAAPI_WINDOW_NATIVE_DISPLAY (window); const Window xid = GST_VAAPI_WINDOW_ID (window); -#if HAVE_XRENDER - GstVaapiWindowX11Private *const priv = - GST_VAAPI_WINDOW_X11_GET_PRIVATE (window); - if (priv->picture) { - GST_VAAPI_WINDOW_LOCK_DISPLAY (window); - XRenderFreePicture (dpy, priv->picture); - GST_VAAPI_WINDOW_UNLOCK_DISPLAY (window); - priv->picture = None; - } -#endif - if (xid) { if (!window->use_foreign_window) { GST_VAAPI_WINDOW_LOCK_DISPLAY (window); @@ -500,107 +484,6 @@ conversion: return ret; } -static gboolean -gst_vaapi_window_x11_render_pixmap_xrender (GstVaapiWindow * window, - GstVaapiPixmap * pixmap, - const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect) -{ -#if HAVE_XRENDER - GstVaapiWindowX11Private *const priv = - GST_VAAPI_WINDOW_X11_GET_PRIVATE (window); - Display *const dpy = GST_VAAPI_WINDOW_NATIVE_DISPLAY (window); - const Window win = GST_VAAPI_WINDOW_ID (window); - const Pixmap pix = GST_VAAPI_OBJECT_ID (pixmap); - Picture picture; - XRenderPictFormat *pic_fmt; - XWindowAttributes wattr; - int fmt, op; - gboolean success = FALSE; - - /* Ensure Picture for window is created */ - if (!priv->picture) { - GST_VAAPI_WINDOW_LOCK_DISPLAY (window); - XGetWindowAttributes (dpy, win, &wattr); - pic_fmt = XRenderFindVisualFormat (dpy, wattr.visual); - if (pic_fmt) - priv->picture = XRenderCreatePicture (dpy, win, pic_fmt, 0, NULL); - GST_VAAPI_WINDOW_UNLOCK_DISPLAY (window); - if (!priv->picture) - return FALSE; - } - - /* Check pixmap format */ - switch (GST_VAAPI_PIXMAP_FORMAT (pixmap)) { - case GST_VIDEO_FORMAT_xRGB: - fmt = PictStandardRGB24; - op = PictOpSrc; - goto get_pic_fmt; - case GST_VIDEO_FORMAT_ARGB: - fmt = PictStandardARGB32; - op = PictOpOver; - get_pic_fmt: - GST_VAAPI_WINDOW_LOCK_DISPLAY (window); - pic_fmt = XRenderFindStandardFormat (dpy, fmt); - GST_VAAPI_WINDOW_UNLOCK_DISPLAY (window); - break; - default: - pic_fmt = NULL; - break; - } - if (!pic_fmt) - return FALSE; - - GST_VAAPI_WINDOW_LOCK_DISPLAY (window); - do { - const double sx = (double) src_rect->width / dst_rect->width; - const double sy = (double) src_rect->height / dst_rect->height; - XTransform xform; - - picture = XRenderCreatePicture (dpy, pix, pic_fmt, 0, NULL); - if (!picture) - break; - - xform.matrix[0][0] = XDoubleToFixed (sx); - xform.matrix[0][1] = XDoubleToFixed (0.0); - xform.matrix[0][2] = XDoubleToFixed (src_rect->x); - xform.matrix[1][0] = XDoubleToFixed (0.0); - xform.matrix[1][1] = XDoubleToFixed (sy); - xform.matrix[1][2] = XDoubleToFixed (src_rect->y); - xform.matrix[2][0] = XDoubleToFixed (0.0); - xform.matrix[2][1] = XDoubleToFixed (0.0); - xform.matrix[2][2] = XDoubleToFixed (1.0); - XRenderSetPictureTransform (dpy, picture, &xform); - - XRenderComposite (dpy, op, picture, None, priv->picture, - 0, 0, 0, 0, dst_rect->x, dst_rect->y, - dst_rect->width, dst_rect->height); - XSync (dpy, False); - success = TRUE; - } while (0); - if (picture) - XRenderFreePicture (dpy, picture); - GST_VAAPI_WINDOW_UNLOCK_DISPLAY (window); - return success; -#endif - return FALSE; -} - -static gboolean -gst_vaapi_window_x11_render_pixmap (GstVaapiWindow * window, - GstVaapiPixmap * pixmap, - const GstVaapiRectangle * src_rect, const GstVaapiRectangle * dst_rect) -{ - GstVaapiWindowX11Private *const priv = - GST_VAAPI_WINDOW_X11_GET_PRIVATE (window); - - if (priv->has_xrender) - return gst_vaapi_window_x11_render_pixmap_xrender (window, pixmap, - src_rect, dst_rect); - - /* XXX: only X RENDER extension is supported for now */ - return FALSE; -} - static void gst_vaapi_window_x11_class_init (GstVaapiWindowX11Class * klass) { @@ -616,7 +499,6 @@ gst_vaapi_window_x11_class_init (GstVaapiWindowX11Class * klass) window_class->set_fullscreen = gst_vaapi_window_x11_set_fullscreen; window_class->resize = gst_vaapi_window_x11_resize; window_class->render = gst_vaapi_window_x11_render; - window_class->render_pixmap = gst_vaapi_window_x11_render_pixmap; } static void diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h b/gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h index 06ce2e58..751647fe 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h +++ b/gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h @@ -47,12 +47,8 @@ struct _GstVaapiWindowX11Private { Atom atom_NET_WM_STATE; Atom atom_NET_WM_STATE_FULLSCREEN; -#if HAVE_XRENDER - Picture picture; -#endif guint is_mapped:1; guint fullscreen_on_map:1; - guint has_xrender:1; gboolean need_vpp; }; diff --git a/gst-libs/gst/vaapi/meson.build b/gst-libs/gst/vaapi/meson.build index 2630acd6..8a8d321a 100644 --- a/gst-libs/gst/vaapi/meson.build +++ b/gst-libs/gst/vaapi/meson.build @@ -22,7 +22,6 @@ gstlibvaapi_sources = [ 'gstvaapiminiobject.c', 'gstvaapiobject.c', 'gstvaapiparser_frame.c', - 'gstvaapipixmap.c', 'gstvaapiprofile.c', 'gstvaapiprofilecaps.c', 'gstvaapisubpicture.c', @@ -61,7 +60,6 @@ gstlibvaapi_headers = [ 'gstvaapiimage.h', 'gstvaapiimagepool.h', 'gstvaapiobject.h', - 'gstvaapipixmap.h', 'gstvaapiprofile.h', 'gstvaapiprofilecaps.h', 'gstvaapisubpicture.h', @@ -126,13 +124,11 @@ endif if USE_X11 gstlibvaapi_sources += [ 'gstvaapidisplay_x11.c', - 'gstvaapipixmap_x11.c', 'gstvaapiutils_x11.c', 'gstvaapiwindow_x11.c', ] gstlibvaapi_headers += [ 'gstvaapidisplay_x11.h', - 'gstvaapipixmap_x11.h', 'gstvaapiwindow_x11.h', ] endif @@ -212,7 +208,7 @@ if USE_WAYLAND gstlibvaapi_deps += [libva_wayland_dep, wayland_client_dep, wayland_protocols_dep] endif if USE_X11 - gstlibvaapi_deps += [libva_x11_dep, x11_dep, xrandr_dep, xrender_dep] + gstlibvaapi_deps += [libva_x11_dep, x11_dep, xrandr_dep] endif gstlibvaapi = static_library('gstlibvaapi-@0@'.format(api_version), |