Functions
GstGLAllocationParamsFreeFunc ()
void
(*GstGLAllocationParamsFreeFunc) (gpointer params);
gst_gl_allocation_params_init ()
gboolean
gst_gl_allocation_params_init (GstGLAllocationParams *params,
gsize struct_size,
guint alloc_flags,
GstGLAllocationParamsCopyFunc copy,
GstGLAllocationParamsFreeFunc free,
GstGLContext *context,
gsize alloc_size,
GstAllocationParams *alloc_params,
gpointer wrapped_data,
gpointer gl_handle,
gpointer user_data,
GDestroyNotify notify);
gst_gl_allocation_params_free_data ()
void
gst_gl_allocation_params_free_data (GstGLAllocationParams *params);
gst_gl_base_memory_init_once ()
void
gst_gl_base_memory_init_once (void);
GstGLBaseMemoryAllocatorUnmapFunction ()
void
(*GstGLBaseMemoryAllocatorUnmapFunction)
(GstGLBaseMemory *mem,
GstMapInfo *info);
GstGLBaseMemoryAllocatorDestroyFunction ()
void
(*GstGLBaseMemoryAllocatorDestroyFunction)
(GstGLBaseMemory *mem);
Types and Values
GstGLBaseMemoryAllocator
typedef struct _GstGLBaseMemoryAllocator GstGLBaseMemoryAllocator;
GstGLBaseMemoryAllocatorClass
typedef struct {
GstAllocatorClass parent_class;
GstGLBaseMemoryAllocatorAllocFunction alloc;
GstGLBaseMemoryAllocatorCreateFunction create;
GstGLBaseMemoryAllocatorMapFunction map;
#if 0
GstGLBaseMemoryAllocatorFlushFunction flush; /* make CPU writes visible to the GPU */
GstGLBaseMemoryAllocatorInvalidateFunction invalidate; /* make GPU writes visible to the CPU */
#endif
GstGLBaseMemoryAllocatorUnmapFunction unmap;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorDestroyFunction destroy;
} GstGLBaseMemoryAllocatorClass;
GST_GL_BASE_MEMORY_ALLOCATOR_NAME
#define GST_GL_BASE_MEMORY_ALLOCATOR_NAME "GLBaseMemory"
GST_MAP_GL
#define GST_MAP_GL (GST_MAP_FLAG_LAST << 1)
enum GstGLBaseMemoryError
GST_GL_BASE_MEMORY_ERROR
#define GST_GL_BASE_MEMORY_ERROR (gst_gl_base_memory_error_quark ())
enum GstGLBaseMemoryTransfer
struct GstGLAllocationParams
struct GstGLAllocationParams {
gsize struct_size;
GstGLAllocationParamsCopyFunc copy;
GstGLAllocationParamsFreeFunc free;
guint alloc_flags;
gsize alloc_size;
GstAllocationParams *alloc_params;
GstGLContext *context;
GDestroyNotify notify;
gpointer user_data;
/* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM only */
gpointer wrapped_data;
/* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */
gpointer gl_handle;
};
GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC (1 << 0)
GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM (1 << 1)
GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE (1 << 2)
GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER (1 << 16)
GstGLBaseMemory
typedef struct {
GstMemory mem;
GstGLContext *context;
} GstGLBaseMemory;