plugins: re-indent all GstVaapiVideo* related source code.

This commit is contained in:
Gwenole Beauchesne 2014-08-21 10:45:31 +02:00
parent 97d7f21575
commit 038d56bdca
16 changed files with 1561 additions and 1572 deletions

View file

@ -49,17 +49,20 @@ gst_surface_buffer_new(void)
((GstVaapiSurfaceMeta *) (obj)) ((GstVaapiSurfaceMeta *) (obj))
typedef struct _GstVaapiSurfaceMeta GstVaapiSurfaceMeta; typedef struct _GstVaapiSurfaceMeta GstVaapiSurfaceMeta;
struct _GstVaapiSurfaceMeta { struct _GstVaapiSurfaceMeta
{
GstSurfaceMeta base; GstSurfaceMeta base;
GstBuffer *buffer; GstBuffer *buffer;
}; };
#define GST_VAAPI_SURFACE_META_INFO gst_vaapi_surface_meta_get_info() #define GST_VAAPI_SURFACE_META_INFO \
gst_vaapi_surface_meta_get_info ()
static const GstMetaInfo * static const GstMetaInfo *
gst_vaapi_surface_meta_get_info (void); gst_vaapi_surface_meta_get_info (void);
typedef GstSurfaceConverter *(*GstSurfaceConverterCreateFunc)( typedef GstSurfaceConverter *(*GstSurfaceConverterCreateFunc) (GstSurfaceMeta *
GstSurfaceMeta *meta, const gchar *type, GValue *dest); meta, const gchar * type, GValue * dest);
#if USE_X11 #if USE_X11
static GstSurfaceConverter * static GstSurfaceConverter *
@ -131,8 +134,9 @@ gst_vaapi_surface_meta_transform(GstBuffer *dst_buffer, GstMeta *meta,
gst_buffer_get_vaapi_video_meta (src_buffer); gst_buffer_get_vaapi_video_meta (src_buffer);
if (GST_META_TRANSFORM_IS_COPY (type)) { if (GST_META_TRANSFORM_IS_COPY (type)) {
GstVaapiSurfaceMeta * const dst_smeta = GST_VAAPI_SURFACE_META_CAST( GstVaapiSurfaceMeta *const dst_smeta =
gst_buffer_add_meta(dst_buffer, GST_VAAPI_SURFACE_META_INFO, NULL)); GST_VAAPI_SURFACE_META_CAST (gst_buffer_add_meta (dst_buffer,
GST_VAAPI_SURFACE_META_INFO, NULL));
/* Note: avoid meta lookups in gst_vaapi_surface_create_converter() /* Note: avoid meta lookups in gst_vaapi_surface_create_converter()
by directly calling the GstVaapiVideoMeta::surface_converter hook */ by directly calling the GstVaapiVideoMeta::surface_converter hook */
@ -149,8 +153,8 @@ gst_vaapi_surface_meta_get_info(void)
static gsize g_meta_info; static gsize g_meta_info;
if (g_once_init_enter (&g_meta_info)) { if (g_once_init_enter (&g_meta_info)) {
gsize meta_info = GPOINTER_TO_SIZE(gst_meta_register( gsize meta_info =
GST_SURFACE_META_API_TYPE, GPOINTER_TO_SIZE (gst_meta_register (GST_SURFACE_META_API_TYPE,
"GstVaapiSurfaceMeta", sizeof (GstVaapiSurfaceMeta), "GstVaapiSurfaceMeta", sizeof (GstVaapiSurfaceMeta),
(GstMetaInitFunction) gst_vaapi_surface_meta_init, (GstMetaInitFunction) gst_vaapi_surface_meta_init,
(GstMetaFreeFunction) gst_vaapi_surface_meta_free, (GstMetaFreeFunction) gst_vaapi_surface_meta_free,
@ -174,26 +178,18 @@ gst_surface_buffer_new(void)
#define GST_VAAPI_TYPE_VIDEO_BUFFER \ #define GST_VAAPI_TYPE_VIDEO_BUFFER \
(gst_vaapi_video_buffer_get_type ()) (gst_vaapi_video_buffer_get_type ())
#define GST_VAAPI_VIDEO_BUFFER(obj) \ #define GST_VAAPI_VIDEO_BUFFER(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER, \
GST_VAAPI_TYPE_VIDEO_BUFFER, \
GstVaapiVideoBuffer)) GstVaapiVideoBuffer))
#define GST_VAAPI_VIDEO_BUFFER_CLASS(klass) \ #define GST_VAAPI_VIDEO_BUFFER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \ (G_TYPE_CHECK_CLASS_CAST ((klass), GST_VAAPI_TYPE_VIDEO_BUFFER, \
GST_VAAPI_TYPE_VIDEO_BUFFER, \
GstVaapiVideoBufferClass)) GstVaapiVideoBufferClass))
#define GST_VAAPI_IS_VIDEO_BUFFER(obj) \ #define GST_VAAPI_IS_VIDEO_BUFFER(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER))
#define GST_VAAPI_IS_VIDEO_BUFFER_CLASS(klass) \ #define GST_VAAPI_IS_VIDEO_BUFFER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_BUFFER)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_BUFFER))
#define GST_VAAPI_VIDEO_BUFFER_GET_CLASS(obj) \ #define GST_VAAPI_VIDEO_BUFFER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER, \
GST_VAAPI_TYPE_VIDEO_BUFFER, \
GstVaapiVideoBufferClass)) GstVaapiVideoBufferClass))
typedef struct _GstVaapiVideoBufferClass GstVaapiVideoBufferClass; typedef struct _GstVaapiVideoBufferClass GstVaapiVideoBufferClass;
@ -203,7 +199,8 @@ typedef struct _GstVaapiVideoBufferClass GstVaapiVideoBufferClass;
* *
* A #GstBuffer holding video objects (#GstVaapiSurface and #GstVaapiImage). * A #GstBuffer holding video objects (#GstVaapiSurface and #GstVaapiImage).
*/ */
struct _GstVaapiVideoBuffer { struct _GstVaapiVideoBuffer
{
/*< private >*/ /*< private >*/
GstSurfaceBuffer parent_instance; GstSurfaceBuffer parent_instance;
}; };
@ -213,7 +210,8 @@ struct _GstVaapiVideoBuffer {
* *
* A #GstBuffer holding video objects * A #GstBuffer holding video objects
*/ */
struct _GstVaapiVideoBufferClass { struct _GstVaapiVideoBufferClass
{
/*< private >*/ /*< private >*/
GstSurfaceBufferClass parent_class; GstSurfaceBufferClass parent_class;
}; };
@ -222,11 +220,11 @@ GType
gst_vaapi_video_buffer_get_type (void) G_GNUC_CONST; gst_vaapi_video_buffer_get_type (void) G_GNUC_CONST;
G_DEFINE_TYPE (GstVaapiVideoBuffer, G_DEFINE_TYPE (GstVaapiVideoBuffer,
gst_vaapi_video_buffer, gst_vaapi_video_buffer, GST_TYPE_SURFACE_BUFFER);
GST_TYPE_SURFACE_BUFFER)
typedef GstSurfaceConverter *(*GstSurfaceConverterCreateFunc)( typedef GstSurfaceConverter *
GstSurfaceBuffer *surface, const gchar *type, GValue *dest); (*GstSurfaceConverterCreateFunc) (GstSurfaceBuffer * surface,
const gchar * type, GValue * dest);
static GstSurfaceConverter * static GstSurfaceConverter *
gst_vaapi_video_buffer_create_converter (GstSurfaceBuffer * surface, gst_vaapi_video_buffer_create_converter (GstSurfaceBuffer * surface,
@ -247,8 +245,7 @@ gst_vaapi_video_buffer_create_converter(GstSurfaceBuffer *surface,
static void static void
gst_vaapi_video_buffer_class_init (GstVaapiVideoBufferClass * klass) gst_vaapi_video_buffer_class_init (GstVaapiVideoBufferClass * klass)
{ {
GstSurfaceBufferClass * const surface_class = GstSurfaceBufferClass *const surface_class = GST_SURFACE_BUFFER_CLASS (klass);
GST_SURFACE_BUFFER_CLASS(klass);
surface_class->create_converter = gst_vaapi_video_buffer_create_converter; surface_class->create_converter = gst_vaapi_video_buffer_create_converter;
} }

View file

@ -32,16 +32,17 @@ GST_DEBUG_CATEGORY_STATIC(gst_debug_vaapivideopool);
#define GST_CAT_DEFAULT gst_debug_vaapivideopool #define GST_CAT_DEFAULT gst_debug_vaapivideopool
G_DEFINE_TYPE (GstVaapiVideoBufferPool, G_DEFINE_TYPE (GstVaapiVideoBufferPool,
gst_vaapi_video_buffer_pool, gst_vaapi_video_buffer_pool, GST_TYPE_BUFFER_POOL);
GST_TYPE_BUFFER_POOL)
enum { enum
{
PROP_0, PROP_0,
PROP_DISPLAY, PROP_DISPLAY,
}; };
struct _GstVaapiVideoBufferPoolPrivate { struct _GstVaapiVideoBufferPoolPrivate
{
GstVideoInfo video_info[2]; GstVideoInfo video_info[2];
guint video_info_index; guint video_info_index;
GstAllocator *allocator; GstAllocator *allocator;
@ -52,8 +53,7 @@ struct _GstVaapiVideoBufferPoolPrivate {
}; };
#define GST_VAAPI_VIDEO_BUFFER_POOL_GET_PRIVATE(obj) \ #define GST_VAAPI_VIDEO_BUFFER_POOL_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE((obj), \ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL, \
GST_VAAPI_TYPE_VIDEO_BUFFER_POOL, \
GstVaapiVideoBufferPoolPrivate)) GstVaapiVideoBufferPoolPrivate))
static void static void
@ -125,6 +125,7 @@ gst_vaapi_video_buffer_pool_get_options(GstBufferPool *pool)
GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT, GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT,
NULL, NULL,
}; };
return g_options; return g_options;
} }
@ -178,8 +179,9 @@ gst_vaapi_video_buffer_pool_set_config(GstBufferPool *pool,
priv->has_texture_upload_meta = gst_buffer_pool_config_has_option (config, priv->has_texture_upload_meta = gst_buffer_pool_config_has_option (config,
GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META); GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META);
return GST_BUFFER_POOL_CLASS(gst_vaapi_video_buffer_pool_parent_class)-> return
set_config(pool, config); GST_BUFFER_POOL_CLASS
(gst_vaapi_video_buffer_pool_parent_class)->set_config (pool, config);
/* ERRORS */ /* ERRORS */
error_invalid_config: error_invalid_config:
@ -244,7 +246,6 @@ gst_vaapi_video_buffer_pool_alloc_buffer(GstBufferPool *pool,
vmeta->map = gst_video_meta_map_vaapi_memory; vmeta->map = gst_video_meta_map_vaapi_memory;
vmeta->unmap = gst_video_meta_unmap_vaapi_memory; vmeta->unmap = gst_video_meta_unmap_vaapi_memory;
} }
#if GST_CHECK_VERSION(1,1,0) && USE_GLX #if GST_CHECK_VERSION(1,1,0) && USE_GLX
if (priv->has_texture_upload_meta) if (priv->has_texture_upload_meta)
gst_buffer_add_texture_upload_meta (buffer); gst_buffer_add_texture_upload_meta (buffer);
@ -280,15 +281,16 @@ error_create_memory:
} }
static void static void
gst_vaapi_video_buffer_pool_reset_buffer(GstBufferPool *pool, GstBuffer *buffer) gst_vaapi_video_buffer_pool_reset_buffer (GstBufferPool * pool,
GstBuffer * buffer)
{ {
GstMemory *const mem = gst_buffer_peek_memory (buffer, 0); GstMemory *const mem = gst_buffer_peek_memory (buffer, 0);
/* Release the underlying surface proxy */ /* Release the underlying surface proxy */
gst_vaapi_video_memory_reset_surface (GST_VAAPI_VIDEO_MEMORY_CAST (mem)); gst_vaapi_video_memory_reset_surface (GST_VAAPI_VIDEO_MEMORY_CAST (mem));
GST_BUFFER_POOL_CLASS(gst_vaapi_video_buffer_pool_parent_class)-> GST_BUFFER_POOL_CLASS (gst_vaapi_video_buffer_pool_parent_class)->reset_buffer
reset_buffer(pool, buffer); (pool, buffer);
} }
static void static void

View file

@ -30,20 +30,14 @@ G_BEGIN_DECLS
#define GST_VAAPI_TYPE_VIDEO_BUFFER_POOL \ #define GST_VAAPI_TYPE_VIDEO_BUFFER_POOL \
(gst_vaapi_video_buffer_pool_get_type ()) (gst_vaapi_video_buffer_pool_get_type ())
#define GST_VAAPI_VIDEO_BUFFER_POOL(obj) \ #define GST_VAAPI_VIDEO_BUFFER_POOL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL, \
GST_VAAPI_TYPE_VIDEO_BUFFER_POOL, \
GstVaapiVideoBufferPool)) GstVaapiVideoBufferPool))
#define GST_VAAPI_VIDEO_BUFFER_POOL_CLASS(klass) \ #define GST_VAAPI_VIDEO_BUFFER_POOL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \ (G_TYPE_CHECK_CLASS_CAST ((klass), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL, \
GST_VAAPI_TYPE_VIDEO_BUFFER_POOL, \
GstVaapiVideoBufferPoolClass)) GstVaapiVideoBufferPoolClass))
#define GST_VAAPI_IS_VIDEO_BUFFER_POOL(obj) \ #define GST_VAAPI_IS_VIDEO_BUFFER_POOL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL))
#define GST_VAAPI_IS_VIDEO_BUFFER_POOL_CLASS(klass) \ #define GST_VAAPI_IS_VIDEO_BUFFER_POOL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_BUFFER_POOL))
@ -57,7 +51,8 @@ typedef struct _GstVaapiVideoBufferPoolPrivate GstVaapiVideoBufferPoolPrivate;
* An option that can be activated on bufferpool to request vaapi * An option that can be activated on bufferpool to request vaapi
* video metadata on buffers from the pool. * video metadata on buffers from the pool.
*/ */
#define GST_BUFFER_POOL_OPTION_VAAPI_VIDEO_META "GstBufferPoolOptionVaapiVideoMeta" #define GST_BUFFER_POOL_OPTION_VAAPI_VIDEO_META \
"GstBufferPoolOptionVaapiVideoMeta"
/** /**
* *
@ -79,7 +74,8 @@ typedef struct _GstVaapiVideoBufferPoolPrivate GstVaapiVideoBufferPoolPrivate;
* *
* A VA video buffer pool object. * A VA video buffer pool object.
*/ */
struct _GstVaapiVideoBufferPool { struct _GstVaapiVideoBufferPool
{
GstBufferPool parent_instance; GstBufferPool parent_instance;
/*< private >*/ /*< private >*/
@ -91,7 +87,8 @@ struct _GstVaapiVideoBufferPool {
* *
* A VA video buffer pool class. * A VA video buffer pool class.
*/ */
struct _GstVaapiVideoBufferPoolClass { struct _GstVaapiVideoBufferPoolClass
{
GstBufferPoolClass parent_class; GstBufferPoolClass parent_class;
}; };

View file

@ -34,15 +34,15 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
gst_vaapi_display_get_type () gst_vaapi_display_get_type ()
GType GType
gst_vaapi_display_get_type (void) gst_vaapi_display_get_type (void) G_GNUC_CONST;
G_GNUC_CONST;
G_DEFINE_BOXED_TYPE (GstVaapiDisplay, gst_vaapi_display, G_DEFINE_BOXED_TYPE (GstVaapiDisplay, gst_vaapi_display,
(GBoxedCopyFunc) gst_vaapi_display_ref, (GBoxedCopyFunc) gst_vaapi_display_ref,
(GBoxedFreeFunc) gst_vaapi_display_unref) (GBoxedFreeFunc) gst_vaapi_display_unref);
GstContext *gst_vaapi_video_context_new_with_display (GstVaapiDisplay * GstContext *
display, gboolean persistent) gst_vaapi_video_context_new_with_display (GstVaapiDisplay * display,
gboolean persistent)
{ {
GstContext *context; GstContext *context;
GstStructure *structure; GstStructure *structure;

View file

@ -40,19 +40,18 @@ typedef gboolean (*GstSurfaceUploadFunction)(GstSurfaceConverter *,
static void static void
gst_vaapi_video_converter_glx_iface_init (GstSurfaceConverterInterface * iface); gst_vaapi_video_converter_glx_iface_init (GstSurfaceConverterInterface * iface);
G_DEFINE_TYPE_WITH_CODE( G_DEFINE_TYPE_WITH_CODE (GstVaapiVideoConverterGLX,
GstVaapiVideoConverterGLX,
gst_vaapi_video_converter_glx, gst_vaapi_video_converter_glx,
G_TYPE_OBJECT, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GST_TYPE_SURFACE_CONVERTER, G_IMPLEMENT_INTERFACE (GST_TYPE_SURFACE_CONVERTER,
gst_vaapi_video_converter_glx_iface_init)) gst_vaapi_video_converter_glx_iface_init));
#define GST_VAAPI_VIDEO_CONVERTER_GLX_GET_PRIVATE(obj) \ #define GST_VAAPI_VIDEO_CONVERTER_GLX_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE((obj), \ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GstVaapiVideoConverterGLXPrivate)) GstVaapiVideoConverterGLXPrivate))
struct _GstVaapiVideoConverterGLXPrivate { struct _GstVaapiVideoConverterGLXPrivate
{
GstVaapiTexture *texture; GstVaapiTexture *texture;
}; };
@ -72,7 +71,8 @@ gst_vaapi_video_converter_glx_dispose(GObject *object)
} }
static void static void
gst_vaapi_video_converter_glx_class_init(GstVaapiVideoConverterGLXClass *klass) gst_vaapi_video_converter_glx_class_init (GstVaapiVideoConverterGLXClass *
klass)
{ {
GObjectClass *const object_class = G_OBJECT_CLASS (klass); GObjectClass *const object_class = G_OBJECT_CLASS (klass);
@ -119,9 +119,9 @@ gst_vaapi_video_converter_glx_new(GstBuffer *buffer, const gchar *type,
return gst_vaapi_video_converter_x11_new (buffer, type, dest); return gst_vaapi_video_converter_x11_new (buffer, type, dest);
/* FIXME Should we assume target and format ? */ /* FIXME Should we assume target and format ? */
texture = gst_vaapi_texture_new_with_texture( texture =
gst_vaapi_video_meta_get_display(meta), gst_vaapi_texture_new_with_texture (gst_vaapi_video_meta_get_display
g_value_get_uint(dest), GL_TEXTURE_2D, GL_BGRA); (meta), g_value_get_uint (dest), GL_TEXTURE_2D, GL_BGRA);
if (!texture) if (!texture)
return NULL; return NULL;

View file

@ -32,30 +32,23 @@ G_BEGIN_DECLS
#define GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX \ #define GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX \
(gst_vaapi_video_converter_glx_get_type ()) (gst_vaapi_video_converter_glx_get_type ())
#define GST_VAAPI_VIDEO_CONVERTER_GLX(obj) \ #define GST_VAAPI_VIDEO_CONVERTER_GLX(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GstVaapiVideoConverterGLX)) GstVaapiVideoConverterGLX))
#define GST_VAAPI_VIDEO_CONVERTER_GLX_CLASS(klass) \ #define GST_VAAPI_VIDEO_CONVERTER_GLX_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \ (G_TYPE_CHECK_CLASS_CAST ((klass), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GstVaapiVideoConverterGLXClass)) GstVaapiVideoConverterGLXClass))
#define GST_VAAPI_IS_VIDEO_CONVERTER_GLX(obj) \ #define GST_VAAPI_IS_VIDEO_CONVERTER_GLX(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX))
#define GST_VAAPI_IS_VIDEO_CONVERTER_GLX_CLASS(klass) \ #define GST_VAAPI_IS_VIDEO_CONVERTER_GLX_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX))
#define GST_VAAPI_VIDEO_CONVERTER_GLX_GET_CLASS(obj) \ #define GST_VAAPI_VIDEO_CONVERTER_GLX_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_GLX, \
GstVaapiVideoConverterGLXClass)) GstVaapiVideoConverterGLXClass))
typedef struct _GstVaapiVideoConverterGLX GstVaapiVideoConverterGLX; typedef struct _GstVaapiVideoConverterGLX GstVaapiVideoConverterGLX;
typedef struct _GstVaapiVideoConverterGLXPrivate GstVaapiVideoConverterGLXPrivate; typedef struct _GstVaapiVideoConverterGLXPrivate
GstVaapiVideoConverterGLXPrivate;
typedef struct _GstVaapiVideoConverterGLXClass GstVaapiVideoConverterGLXClass; typedef struct _GstVaapiVideoConverterGLXClass GstVaapiVideoConverterGLXClass;
/** /**
@ -63,7 +56,8 @@ typedef struct _GstVaapiVideoConverterGLXClass GstVaapiVideoConverterGLXClass;
* *
* Converter to transform VA buffers into GL textures. * Converter to transform VA buffers into GL textures.
*/ */
struct _GstVaapiVideoConverterGLX { struct _GstVaapiVideoConverterGLX
{
/*< private >*/ /*< private >*/
GObject parent_instance; GObject parent_instance;
@ -75,7 +69,8 @@ struct _GstVaapiVideoConverterGLX {
* *
* Converter class to transform VA buffers into GL textures. * Converter class to transform VA buffers into GL textures.
*/ */
struct _GstVaapiVideoConverterGLXClass { struct _GstVaapiVideoConverterGLXClass
{
/*< private >*/ /*< private >*/
GObjectClass parent_class; GObjectClass parent_class;
}; };

View file

@ -37,19 +37,18 @@ typedef gboolean (*GstSurfaceUploadFunction)(GstSurfaceConverter *,
static void static void
gst_vaapi_video_converter_x11_iface_init (GstSurfaceConverterInterface * iface); gst_vaapi_video_converter_x11_iface_init (GstSurfaceConverterInterface * iface);
G_DEFINE_TYPE_WITH_CODE( G_DEFINE_TYPE_WITH_CODE (GstVaapiVideoConverterX11,
GstVaapiVideoConverterX11,
gst_vaapi_video_converter_x11, gst_vaapi_video_converter_x11,
G_TYPE_OBJECT, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GST_TYPE_SURFACE_CONVERTER, G_IMPLEMENT_INTERFACE (GST_TYPE_SURFACE_CONVERTER,
gst_vaapi_video_converter_x11_iface_init)) gst_vaapi_video_converter_x11_iface_init));
#define GST_VAAPI_VIDEO_CONVERTER_X11_GET_PRIVATE(obj) \ #define GST_VAAPI_VIDEO_CONVERTER_X11_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE((obj), \ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GstVaapiVideoConverterX11Private)) GstVaapiVideoConverterX11Private))
struct _GstVaapiVideoConverterX11Private { struct _GstVaapiVideoConverterX11Private
{
GstVaapiPixmap *pixmap; GstVaapiPixmap *pixmap;
XID pixmap_id; XID pixmap_id;
}; };
@ -70,7 +69,8 @@ gst_vaapi_video_converter_x11_dispose(GObject *object)
} }
static void static void
gst_vaapi_video_converter_x11_class_init(GstVaapiVideoConverterX11Class *klass) gst_vaapi_video_converter_x11_class_init (GstVaapiVideoConverterX11Class *
klass)
{ {
GObjectClass *const object_class = G_OBJECT_CLASS (klass); GObjectClass *const object_class = G_OBJECT_CLASS (klass);

View file

@ -30,30 +30,23 @@ G_BEGIN_DECLS
#define GST_VAAPI_TYPE_VIDEO_CONVERTER_X11 \ #define GST_VAAPI_TYPE_VIDEO_CONVERTER_X11 \
(gst_vaapi_video_converter_x11_get_type ()) (gst_vaapi_video_converter_x11_get_type ())
#define GST_VAAPI_VIDEO_CONVERTER_X11(obj) \ #define GST_VAAPI_VIDEO_CONVERTER_X11(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GstVaapiVideoConverterX11)) GstVaapiVideoConverterX11))
#define GST_VAAPI_VIDEO_CONVERTER_X11_CLASS(klass) \ #define GST_VAAPI_VIDEO_CONVERTER_X11_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \ (G_TYPE_CHECK_CLASS_CAST ((klass), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GstVaapiVideoConverterX11Class)) GstVaapiVideoConverterX11Class))
#define GST_VAAPI_IS_VIDEO_CONVERTER_X11(obj) \ #define GST_VAAPI_IS_VIDEO_CONVERTER_X11(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11))
#define GST_VAAPI_IS_VIDEO_CONVERTER_X11_CLASS(klass) \ #define GST_VAAPI_IS_VIDEO_CONVERTER_X11_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11))
#define GST_VAAPI_VIDEO_CONVERTER_X11_GET_CLASS(obj) \ #define GST_VAAPI_VIDEO_CONVERTER_X11_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GST_VAAPI_TYPE_VIDEO_CONVERTER_X11, \
GstVaapiVideoConverterX11Class)) GstVaapiVideoConverterX11Class))
typedef struct _GstVaapiVideoConverterX11 GstVaapiVideoConverterX11; typedef struct _GstVaapiVideoConverterX11 GstVaapiVideoConverterX11;
typedef struct _GstVaapiVideoConverterX11Private GstVaapiVideoConverterX11Private; typedef struct _GstVaapiVideoConverterX11Private
GstVaapiVideoConverterX11Private;
typedef struct _GstVaapiVideoConverterX11Class GstVaapiVideoConverterX11Class; typedef struct _GstVaapiVideoConverterX11Class GstVaapiVideoConverterX11Class;
/** /**
@ -61,7 +54,8 @@ typedef struct _GstVaapiVideoConverterX11Class GstVaapiVideoConverterX11Class;
* *
* Converter to transform VA buffers into GL textures. * Converter to transform VA buffers into GL textures.
*/ */
struct _GstVaapiVideoConverterX11 { struct _GstVaapiVideoConverterX11
{
/*< private >*/ /*< private >*/
GObject parent_instance; GObject parent_instance;
@ -73,7 +67,8 @@ struct _GstVaapiVideoConverterX11 {
* *
* Converter class to transform VA buffers into GL textures. * Converter class to transform VA buffers into GL textures.
*/ */
struct _GstVaapiVideoConverterX11Class { struct _GstVaapiVideoConverterX11Class
{
/*< private >*/ /*< private >*/
GObjectClass parent_class; GObjectClass parent_class;
}; };

View file

@ -72,8 +72,7 @@ ensure_image(GstVaapiVideoMemory *mem)
if (!mem->image) { if (!mem->image) {
GST_WARNING ("failed to derive image, fallbacking to copy"); GST_WARNING ("failed to derive image, fallbacking to copy");
mem->use_direct_rendering = FALSE; mem->use_direct_rendering = FALSE;
} } else if (gst_vaapi_surface_get_format (mem->surface) !=
else if (gst_vaapi_surface_get_format(mem->surface) !=
GST_VIDEO_INFO_FORMAT (mem->image_info)) { GST_VIDEO_INFO_FORMAT (mem->image_info)) {
gst_vaapi_object_replace (&mem->image, NULL); gst_vaapi_object_replace (&mem->image, NULL);
mem->use_direct_rendering = FALSE; mem->use_direct_rendering = FALSE;
@ -109,8 +108,8 @@ new_surface(GstVaapiDisplay *display, const GstVideoInfo *vip)
} }
/* Try to pick something compatible, i.e. with same chroma type */ /* Try to pick something compatible, i.e. with same chroma type */
chroma_type = gst_vaapi_video_format_get_chroma_type( chroma_type =
GST_VIDEO_INFO_FORMAT(vip)); gst_vaapi_video_format_get_chroma_type (GST_VIDEO_INFO_FORMAT (vip));
if (!chroma_type) if (!chroma_type)
return NULL; return NULL;
return gst_vaapi_surface_new (display, chroma_type, return gst_vaapi_surface_new (display, chroma_type,
@ -123,8 +122,9 @@ new_surface_proxy(GstVaapiVideoMemory *mem)
GstVaapiVideoAllocator *const allocator = GstVaapiVideoAllocator *const allocator =
GST_VAAPI_VIDEO_ALLOCATOR_CAST (GST_MEMORY_CAST (mem)->allocator); GST_VAAPI_VIDEO_ALLOCATOR_CAST (GST_MEMORY_CAST (mem)->allocator);
return gst_vaapi_surface_proxy_new_from_pool( return
GST_VAAPI_SURFACE_POOL(allocator->surface_pool)); gst_vaapi_surface_proxy_new_from_pool (GST_VAAPI_SURFACE_POOL
(allocator->surface_pool));
} }
static gboolean static gboolean
@ -157,8 +157,7 @@ gst_video_meta_map_vaapi_memory(GstVideoMeta *meta, guint plane,
allocator), FALSE); allocator), FALSE);
g_return_val_if_fail (mem->meta, FALSE); g_return_val_if_fail (mem->meta, FALSE);
if (mem->map_type && if (mem->map_type && mem->map_type != GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_PLANAR)
mem->map_type != GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_PLANAR)
goto error_incompatible_map; goto error_incompatible_map;
/* Map for writing */ /* Map for writing */
@ -324,7 +323,8 @@ gst_vaapi_video_memory_reset_surface(GstVaapiVideoMemory *mem)
} }
static gpointer static gpointer
gst_vaapi_video_memory_map(GstVaapiVideoMemory *mem, gsize maxsize, guint flags) gst_vaapi_video_memory_map (GstVaapiVideoMemory * mem, gsize maxsize,
guint flags)
{ {
gpointer data; gpointer data;
@ -472,16 +472,14 @@ gst_vaapi_video_memory_is_span(GstVaapiVideoMemory *mem1,
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
#define GST_VAAPI_VIDEO_ALLOCATOR_CLASS(klass) \ #define GST_VAAPI_VIDEO_ALLOCATOR_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \ (G_TYPE_CHECK_CLASS_CAST ((klass), GST_VAAPI_TYPE_VIDEO_ALLOCATOR, \
GST_VAAPI_TYPE_VIDEO_ALLOCATOR, \
GstVaapiVideoAllocatorClass)) GstVaapiVideoAllocatorClass))
#define GST_VAAPI_IS_VIDEO_ALLOCATOR_CLASS(klass) \ #define GST_VAAPI_IS_VIDEO_ALLOCATOR_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_ALLOCATOR)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_VAAPI_TYPE_VIDEO_ALLOCATOR))
G_DEFINE_TYPE (GstVaapiVideoAllocator, G_DEFINE_TYPE (GstVaapiVideoAllocator,
gst_vaapi_video_allocator, gst_vaapi_video_allocator, GST_TYPE_ALLOCATOR);
GST_TYPE_ALLOCATOR)
static GstMemory * static GstMemory *
gst_vaapi_video_allocator_alloc (GstAllocator * allocator, gsize size, gst_vaapi_video_allocator_alloc (GstAllocator * allocator, gsize size,
@ -574,15 +572,15 @@ gst_video_info_update_from_image(GstVideoInfo *vip, GstVaapiImage *image)
for (i = 0; i < num_planes; i++) { for (i = 0; i < num_planes; i++) {
const guchar *const plane = gst_vaapi_image_get_plane (image, i); const guchar *const plane = gst_vaapi_image_get_plane (image, i);
GST_VIDEO_INFO_PLANE_OFFSET (vip, i) = plane - data; GST_VIDEO_INFO_PLANE_OFFSET (vip, i) = plane - data;
GST_VIDEO_INFO_PLANE_STRIDE(vip, i) = GST_VIDEO_INFO_PLANE_STRIDE (vip, i) = gst_vaapi_image_get_pitch (image, i);
gst_vaapi_image_get_pitch(image, i);
} }
GST_VIDEO_INFO_SIZE (vip) = data_size; GST_VIDEO_INFO_SIZE (vip) = data_size;
return TRUE; return TRUE;
} }
GstAllocator * GstAllocator *
gst_vaapi_video_allocator_new(GstVaapiDisplay *display, const GstVideoInfo *vip) gst_vaapi_video_allocator_new (GstVaapiDisplay * display,
const GstVideoInfo * vip)
{ {
GstVaapiVideoAllocator *allocator; GstVaapiVideoAllocator *allocator;
GstVaapiSurface *surface; GstVaapiSurface *surface;
@ -610,8 +608,8 @@ gst_vaapi_video_allocator_new(GstVaapiDisplay *display, const GstVideoInfo *vip)
break; break;
if (!gst_vaapi_image_map (image)) if (!gst_vaapi_image_map (image))
break; break;
allocator->has_direct_rendering = gst_video_info_update_from_image( allocator->has_direct_rendering =
&allocator->surface_info, image); gst_video_info_update_from_image (&allocator->surface_info, image);
if (GST_VAAPI_IMAGE_FORMAT (image) != GST_VIDEO_INFO_FORMAT (vip)) if (GST_VAAPI_IMAGE_FORMAT (image) != GST_VIDEO_INFO_FORMAT (vip))
allocator->has_direct_rendering = FALSE; allocator->has_direct_rendering = FALSE;
if (USE_NATIVE_FORMATS) if (USE_NATIVE_FORMATS)

View file

@ -59,7 +59,8 @@ typedef struct _GstVaapiVideoAllocatorClass GstVaapiVideoAllocatorClass;
* *
* The set of all #GstVaapiVideoMemory map types. * The set of all #GstVaapiVideoMemory map types.
*/ */
typedef enum { typedef enum
{
GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_SURFACE = 1, GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_SURFACE = 1,
GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_PLANAR, GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_PLANAR,
GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_LINEAR GST_VAAPI_VIDEO_MEMORY_MAP_TYPE_LINEAR
@ -71,7 +72,8 @@ typedef enum {
* A VA video memory object holder, including VA surfaces, images and * A VA video memory object holder, including VA surfaces, images and
* proxies. * proxies.
*/ */
struct _GstVaapiVideoMemory { struct _GstVaapiVideoMemory
{
GstMemory parent_instance; GstMemory parent_instance;
/*< private >*/ /*< private >*/
@ -113,12 +115,9 @@ gst_vaapi_video_memory_reset_surface(GstVaapiVideoMemory *mem);
#define GST_VAAPI_TYPE_VIDEO_ALLOCATOR \ #define GST_VAAPI_TYPE_VIDEO_ALLOCATOR \
(gst_vaapi_video_allocator_get_type ()) (gst_vaapi_video_allocator_get_type ())
#define GST_VAAPI_VIDEO_ALLOCATOR(obj) \ #define GST_VAAPI_VIDEO_ALLOCATOR(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_VAAPI_TYPE_VIDEO_ALLOCATOR, \
GST_VAAPI_TYPE_VIDEO_ALLOCATOR, \
GstVaapiVideoAllocator)) GstVaapiVideoAllocator))
#define GST_VAAPI_IS_VIDEO_ALLOCATOR(obj) \ #define GST_VAAPI_IS_VIDEO_ALLOCATOR(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_ALLOCATOR)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_VAAPI_TYPE_VIDEO_ALLOCATOR))
@ -129,7 +128,8 @@ gst_vaapi_video_memory_reset_surface(GstVaapiVideoMemory *mem);
* *
* A VA video memory allocator object. * A VA video memory allocator object.
*/ */
struct _GstVaapiVideoAllocator { struct _GstVaapiVideoAllocator
{
GstAllocator parent_instance; GstAllocator parent_instance;
/*< private >*/ /*< private >*/
@ -146,7 +146,8 @@ struct _GstVaapiVideoAllocator {
* *
* A VA video memory allocator class. * A VA video memory allocator class.
*/ */
struct _GstVaapiVideoAllocatorClass { struct _GstVaapiVideoAllocatorClass
{
GstAllocatorClass parent_class; GstAllocatorClass parent_class;
}; };

View file

@ -34,11 +34,11 @@
#define GST_VAAPI_VIDEO_META(obj) \ #define GST_VAAPI_VIDEO_META(obj) \
((GstVaapiVideoMeta *) (obj)) ((GstVaapiVideoMeta *) (obj))
#define GST_VAAPI_IS_VIDEO_META(obj) \ #define GST_VAAPI_IS_VIDEO_META(obj) \
(GST_VAAPI_VIDEO_META (obj) != NULL) (GST_VAAPI_VIDEO_META (obj) != NULL)
struct _GstVaapiVideoMeta { struct _GstVaapiVideoMeta
{
gint ref_count; gint ref_count;
GstVaapiDisplay *display; GstVaapiDisplay *display;
GstVaapiVideoPool *image_pool; GstVaapiVideoPool *image_pool;
@ -226,8 +226,7 @@ gst_vaapi_video_meta_copy(GstVaapiVideoMeta *meta)
copy->display = gst_vaapi_display_ref (meta->display); copy->display = gst_vaapi_display_ref (meta->display);
copy->image_pool = NULL; copy->image_pool = NULL;
copy->image = meta->image ? gst_vaapi_object_ref (meta->image) : NULL; copy->image = meta->image ? gst_vaapi_object_ref (meta->image) : NULL;
copy->proxy = meta->proxy ? copy->proxy = meta->proxy ? gst_vaapi_surface_proxy_copy (meta->proxy) : NULL;
gst_vaapi_surface_proxy_copy(meta->proxy) : NULL;
copy->converter = meta->converter; copy->converter = meta->converter;
copy->render_flags = meta->render_flags; copy->render_flags = meta->render_flags;
@ -606,7 +605,8 @@ gst_vaapi_video_meta_get_surface_converter(GstVaapiVideoMeta *meta)
* Sets the @meta surface converter function to @func. * Sets the @meta surface converter function to @func.
*/ */
void void
gst_vaapi_video_meta_set_surface_converter(GstVaapiVideoMeta *meta, GFunc func) gst_vaapi_video_meta_set_surface_converter (GstVaapiVideoMeta * meta,
GFunc func)
{ {
g_return_if_fail (GST_VAAPI_IS_VIDEO_META (meta)); g_return_if_fail (GST_VAAPI_IS_VIDEO_META (meta));
@ -688,7 +688,8 @@ gst_vaapi_video_meta_set_render_rect(GstVaapiVideoMeta *meta,
((GstVaapiVideoMetaHolder *) (meta)) ((GstVaapiVideoMetaHolder *) (meta))
typedef struct _GstVaapiVideoMetaHolder GstVaapiVideoMetaHolder; typedef struct _GstVaapiVideoMetaHolder GstVaapiVideoMetaHolder;
struct _GstVaapiVideoMetaHolder { struct _GstVaapiVideoMetaHolder
{
GstMeta base; GstMeta base;
GstVaapiVideoMeta *meta; GstVaapiVideoMeta *meta;
}; };
@ -713,8 +714,7 @@ static gboolean
gst_vaapi_video_meta_holder_transform (GstBuffer * dst_buffer, GstMeta * meta, gst_vaapi_video_meta_holder_transform (GstBuffer * dst_buffer, GstMeta * meta,
GstBuffer * src_buffer, GQuark type, gpointer data) GstBuffer * src_buffer, GQuark type, gpointer data)
{ {
GstVaapiVideoMetaHolder * const src_meta = GstVaapiVideoMetaHolder *const src_meta = GST_VAAPI_VIDEO_META_HOLDER (meta);
GST_VAAPI_VIDEO_META_HOLDER(meta);
if (GST_META_TRANSFORM_IS_COPY (type)) { if (GST_META_TRANSFORM_IS_COPY (type)) {
GstVaapiVideoMeta *const dst_meta = GstVaapiVideoMeta *const dst_meta =
@ -746,8 +746,8 @@ gst_vaapi_video_meta_info_get(void)
static gsize g_meta_info; static gsize g_meta_info;
if (g_once_init_enter (&g_meta_info)) { if (g_once_init_enter (&g_meta_info)) {
gsize meta_info = GPOINTER_TO_SIZE(gst_meta_register( gsize meta_info =
GST_VAAPI_VIDEO_META_API_TYPE, GPOINTER_TO_SIZE (gst_meta_register (GST_VAAPI_VIDEO_META_API_TYPE,
"GstVaapiVideoMeta", sizeof (GstVaapiVideoMetaHolder), "GstVaapiVideoMeta", sizeof (GstVaapiVideoMetaHolder),
(GstMetaInitFunction) gst_vaapi_video_meta_holder_init, (GstMetaInitFunction) gst_vaapi_video_meta_holder_init,
(GstMetaFreeFunction) gst_vaapi_video_meta_holder_free, (GstMetaFreeFunction) gst_vaapi_video_meta_holder_free,

View file

@ -87,7 +87,8 @@ gst_vaapi_video_meta_get_image(GstVaapiVideoMeta *meta);
G_GNUC_INTERNAL G_GNUC_INTERNAL
void void
gst_vaapi_video_meta_set_image(GstVaapiVideoMeta *meta, GstVaapiImage *image); gst_vaapi_video_meta_set_image (GstVaapiVideoMeta * meta,
GstVaapiImage * image);
G_GNUC_INTERNAL G_GNUC_INTERNAL
gboolean gboolean
@ -113,7 +114,8 @@ gst_vaapi_video_meta_get_surface_converter(GstVaapiVideoMeta *meta);
G_GNUC_INTERNAL G_GNUC_INTERNAL
void void
gst_vaapi_video_meta_set_surface_converter(GstVaapiVideoMeta *meta, GFunc func); gst_vaapi_video_meta_set_surface_converter (GstVaapiVideoMeta * meta,
GFunc func);
G_GNUC_INTERNAL G_GNUC_INTERNAL
guint guint

View file

@ -30,7 +30,8 @@
#include "gstvaapipluginutil.h" #include "gstvaapipluginutil.h"
#if GST_CHECK_VERSION(1,1,0) && USE_GLX #if GST_CHECK_VERSION(1,1,0) && USE_GLX
struct _GstVaapiVideoMetaTexture { struct _GstVaapiVideoMetaTexture
{
GstVaapiTexture *texture; GstVaapiTexture *texture;
}; };
@ -71,7 +72,8 @@ meta_texture_copy(GstVaapiVideoMetaTexture *meta)
} }
static gboolean static gboolean
gst_vaapi_texture_upload(GstVideoGLTextureUploadMeta *meta, guint texture_id[4]) gst_vaapi_texture_upload (GstVideoGLTextureUploadMeta * meta,
guint texture_id[4])
{ {
GstVaapiVideoMeta *const vmeta = GstVaapiVideoMeta *const vmeta =
gst_buffer_get_vaapi_video_meta (meta->buffer); gst_buffer_get_vaapi_video_meta (meta->buffer);