GstGLMemory

GstGLMemory — memory subclass for GL textures

Functions

Types and Values

Description

GstGLMemory is a GstGLBaseBuffer subclass providing support for the mapping of GL textures.

GstGLMemory is created through gst_gl_memory_alloc() or system memory can be wrapped through gst_gl_memory_wrapped().

Data is uploaded or downloaded from the GPU as is necessary.

Functions

GST_GL_MEMORY_ALLOCATOR()

#define GST_GL_MEMORY_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GL_MEMORY_ALLOCATOR, GstGLMemoryAllocator))

gst_gl_memory_init ()

void
gst_gl_memory_init (GstGLMemory *mem,
                    GstAllocator *allocator,
                    GstMemory *parent,
                    GstGLContext *context,
                    GstGLTextureTarget target,
                    GstAllocationParams *params,
                    GstVideoInfo *info,
                    guint plane,
                    GstVideoAlignment *valign,
                    gpointer user_data,
                    GDestroyNotify notify);

Initializes mem with the required parameters

Parameters

mem

the GstGLBaseMemory to initialize

 

allocator

the GstAllocator to initialize with

 

parent

the parent GstMemory to initialize with.

[allow-none]

context

the GstGLContext to initialize with

 

params

the GstAllocationParams to initialize with.

[allow-none]

size

the number of bytes to be allocated

 

notify

a GDestroyNotify.

[allow-none]

user_data

user data to call notify with.

[allow-none]

gst_gl_memory_setup_buffer ()

gboolean
gst_gl_memory_setup_buffer (GstGLMemoryAllocator *allocator,
                            GstBuffer *buffer,
                            GstGLVideoAllocationParams *params);

Parameters

allocator

the GstGLMemoryAllocator to allocate from

 

buffer

a GstBuffer to setup

 

params

the GstGLVideoAllocationParams to allocate with

 

Returns

whether the buffer was correctly setup


gst_gl_texture_type_from_format ()

GstVideoGLTextureType
gst_gl_texture_type_from_format (GstGLContext *context,
                                 GstVideoFormat v_format,
                                 guint plane);

gst_is_gl_memory ()

gboolean
gst_is_gl_memory (GstMemory *mem);

Parameters

mem

a GstMemory

 

Returns

whether the memory at mem is a GstGLMemory

Types and Values

GstGLMemory

typedef struct {
  GstGLBaseMemory           mem;

  guint                     tex_id;
  GstGLTextureTarget        tex_target;
  GstVideoGLTextureType     tex_type;
  GstVideoInfo              info;
  GstVideoAlignment         valign;
  guint                     plane;
  gfloat                    tex_scaling[2];
} GstGLMemory;

Represents information about a GL texture

Members

GstGLBaseMemory mem;

the parent object

 

guint tex_id;

the GL texture id for this memory

 

GstGLTextureTarget tex_target;

the GL texture target for this memory

 

GstVideoGLTextureType tex_type;

the texture type

 

GstVideoInfo info;

the texture's GstVideoInfo

 

GstVideoAlignment valign;

data alignment for system memory mapping

 

guint plane;

data plane in info

 

gfloat tex_scaling[2];

GL shader scaling parameters for valign and/or width/height

 

See Also

GstMemory, GstAllocator, GstGLBufferPool