GstGLMemory

GstGLMemory is a #GstGLBaseMemory subclass providing support for the mapping of OpenGL textures.

#GstGLMemory is created or wrapped through gstgl.glbase_memory.GLBaseMemory.alloc with #GstGLVideoAllocationParams.

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

The #GstCaps that is used for #GstGLMemory based buffers should contain the GST_CAPS_FEATURE_MEMORY_GL_MEMORY as a #GstCapsFeatures and should contain a 'texture-target' field with one of the #GstGLTextureTarget values as a string, i.e. some combination of 'texture-target=(string){2D, rectangle, external-oes}'.

Members

Variables

Padding
void*[4] Padding;
info
GstVideoInfo info;

the texture's #GstVideoInfo

mem
GstGLBaseMemory mem;

the parent #GstGLBaseMemory object

plane
uint plane;

data plane in @info

texFormat
GstGLFormat texFormat;

the texture type

texId
uint texId;

the GL texture id for this memory

texScaling
float[2] texScaling;

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

texTarget
GstGLTextureTarget texTarget;

the GL texture target for this memory

texWidth
uint texWidth;
textureWrapped
bool textureWrapped;
unpackLength
uint unpackLength;
valign
GstVideoAlignment valign;

data alignment for system memory mapping