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;