GstGLMemoryPBO
GstGLMemoryPBO is created or wrapped through gst_gl_base_memory_alloc with GstGLVideoAllocationParams.
Data is uploaded or downloaded from the GPU as is necessary.
GstGLMemoryPBO
Private instance
GstGL.GLMemoryPBO
Private instance
GstGL.GLMemoryPBO
Private instance
Methods
gst_gl_memory_pbo_copy_into_texture
gboolean gst_gl_memory_pbo_copy_into_texture (GstGLMemoryPBO * gl_mem, guint tex_id, GstGLTextureTarget target, GstGLFormat tex_format, gint width, gint height, gint stride, gboolean respecify)
Copies gl_mem into the texture specified by tex_id. The format of tex_id is specified by tex_format, width and height.
If respecify is TRUE, then the copy is performed in terms of the texture data. This is useful for splitting RGBA textures into RG or R textures or vice versa. The requirement for this to succeed is that the backing texture data must be the same size, i.e. say a RGBA8 texture is converted into a RG8 texture, then the RG texture must have twice as many pixels available for output as the RGBA texture.
Otherwise, if respecify is FALSE, then the copy is performed per texel using glCopyTexImage. See the OpenGL specification for details on the mappings between texture formats.
Parameters:
gl_mem
–
tex_id
–
the destination texture id
target
–
the destination GstGLTextureTarget
tex_format
–
the destination GstGLFormat
width
–
width of tex_id
height
–
height of tex_id
stride
–
stride of the backing texture data
respecify
–
whether to copy the data or copy per texel
Whether the copy succeeded
Since : 1.8
GstGL.GLMemoryPBO.prototype.copy_into_texture
function GstGL.GLMemoryPBO.prototype.copy_into_texture(tex_id: Number, target: GstGL.GLTextureTarget, tex_format: GstGL.GLFormat, width: Number, height: Number, stride: Number, respecify: Number): {
// javascript wrapper for 'gst_gl_memory_pbo_copy_into_texture'
}
Copies gl_mem into the texture specified by tex_id. The format of tex_id is specified by tex_format, width and height.
If respecify is true, then the copy is performed in terms of the texture data. This is useful for splitting RGBA textures into RG or R textures or vice versa. The requirement for this to succeed is that the backing texture data must be the same size, i.e. say a RGBA8 texture is converted into a RG8 texture, then the RG texture must have twice as many pixels available for output as the RGBA texture.
Otherwise, if respecify is false, then the copy is performed per texel using glCopyTexImage. See the OpenGL specification for details on the mappings between texture formats.
Parameters:
the destination texture id
the destination GstGL.GLTextureTarget
the destination GstGL.GLFormat
width of tex_id
height of tex_id
stride of the backing texture data
whether to copy the data or copy per texel
Whether the copy succeeded
Since : 1.8
GstGL.GLMemoryPBO.copy_into_texture
def GstGL.GLMemoryPBO.copy_into_texture (self, tex_id, target, tex_format, width, height, stride, respecify):
#python wrapper for 'gst_gl_memory_pbo_copy_into_texture'
Copies gl_mem into the texture specified by tex_id. The format of tex_id is specified by tex_format, width and height.
If respecify is True, then the copy is performed in terms of the texture data. This is useful for splitting RGBA textures into RG or R textures or vice versa. The requirement for this to succeed is that the backing texture data must be the same size, i.e. say a RGBA8 texture is converted into a RG8 texture, then the RG texture must have twice as many pixels available for output as the RGBA texture.
Otherwise, if respecify is False, then the copy is performed per texel using glCopyTexImage. See the OpenGL specification for details on the mappings between texture formats.
Parameters:
the destination texture id
the destination GstGL.GLTextureTarget
the destination GstGL.GLFormat
width of tex_id
height of tex_id
stride of the backing texture data
whether to copy the data or copy per texel
Whether the copy succeeded
Since : 1.8
gst_gl_memory_pbo_download_transfer
gst_gl_memory_pbo_download_transfer (GstGLMemoryPBO * gl_mem)
Transfer the texture data from the texture into the PBO if necessary.
Parameters:
gl_mem
–
Since : 1.8
GstGL.GLMemoryPBO.prototype.download_transfer
function GstGL.GLMemoryPBO.prototype.download_transfer(): {
// javascript wrapper for 'gst_gl_memory_pbo_download_transfer'
}
Transfer the texture data from the texture into the PBO if necessary.
Parameters:
Since : 1.8
GstGL.GLMemoryPBO.download_transfer
def GstGL.GLMemoryPBO.download_transfer (self):
#python wrapper for 'gst_gl_memory_pbo_download_transfer'
Transfer the texture data from the texture into the PBO if necessary.
Parameters:
Since : 1.8
gst_gl_memory_pbo_upload_transfer
gst_gl_memory_pbo_upload_transfer (GstGLMemoryPBO * gl_mem)
Transfer the texture data from the PBO into the texture if necessary.
Parameters:
gl_mem
–
Since : 1.8
GstGL.GLMemoryPBO.prototype.upload_transfer
function GstGL.GLMemoryPBO.prototype.upload_transfer(): {
// javascript wrapper for 'gst_gl_memory_pbo_upload_transfer'
}
Transfer the texture data from the PBO into the texture if necessary.
Parameters:
Since : 1.8
GstGL.GLMemoryPBO.upload_transfer
def GstGL.GLMemoryPBO.upload_transfer (self):
#python wrapper for 'gst_gl_memory_pbo_upload_transfer'
Transfer the texture data from the PBO into the texture if necessary.
Parameters:
Since : 1.8
Functions
gst_gl_memory_pbo_init_once
gst_gl_memory_pbo_init_once ()
GstGL.prototype.gl_memory_pbo_init_once
function GstGL.prototype.gl_memory_pbo_init_once(): {
// javascript wrapper for 'gst_gl_memory_pbo_init_once'
}
GstGL.gl_memory_pbo_init_once
def GstGL.gl_memory_pbo_init_once ():
#python wrapper for 'gst_gl_memory_pbo_init_once'
GstGLMemoryPBOAllocator
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstAllocator ╰──GstGLBaseMemoryAllocator ╰──GstGLMemoryAllocator ╰──GstGLMemoryPBOAllocator
Opaque GstGLMemoryPBOAllocator struct
Members
parent
(GstGLMemoryAllocator)
–
Class structure
GstGLMemoryPBOAllocatorClass
Only contains private data
Fields
parent_class
(GstGLMemoryAllocatorClass)
–
GstGL.GLMemoryPBOAllocatorClass
Only contains private data
Attributes
parent_class
(GstGL.GLMemoryAllocatorClass)
–
GstGL.GLMemoryPBOAllocatorClass
Only contains private data
Attributes
parent_class
(GstGL.GLMemoryAllocatorClass)
–
GstGL.GLMemoryPBOAllocator
GObject.Object ╰──GObject.InitiallyUnowned ╰──Gst.Object ╰──Gst.Allocator ╰──GstGL.GLBaseMemoryAllocator ╰──GstGL.GLMemoryAllocator ╰──GstGL.GLMemoryPBOAllocator
Opaque GstGL.GLMemoryPBOAllocator struct
Members
parent
(GstGL.GLMemoryAllocator)
–
GstGL.GLMemoryPBOAllocator
GObject.Object ╰──GObject.InitiallyUnowned ╰──Gst.Object ╰──Gst.Allocator ╰──GstGL.GLBaseMemoryAllocator ╰──GstGL.GLMemoryAllocator ╰──GstGL.GLMemoryPBOAllocator
Opaque GstGL.GLMemoryPBOAllocator struct
Members
parent
(GstGL.GLMemoryAllocator)
–
Functions
gst_is_gl_memory_pbo
gboolean gst_is_gl_memory_pbo (GstMemory * mem)
Parameters:
mem
–
whether the memory at mem is a GstGLMemoryPBO
Since : 1.8
GstGL.prototype.is_gl_memory_pbo
function GstGL.prototype.is_gl_memory_pbo(mem: Gst.Memory): {
// javascript wrapper for 'gst_is_gl_memory_pbo'
}
Parameters:
whether the memory at mem is a GstGL.GLMemoryPBO
Since : 1.8
GstGL.is_gl_memory_pbo
def GstGL.is_gl_memory_pbo (mem):
#python wrapper for 'gst_is_gl_memory_pbo'
Parameters:
whether the memory at mem is a GstGL.GLMemoryPBO
Since : 1.8
Function Macros
GST_GL_MEMORY_PBO_ALLOCATOR_CAST
#define GST_GL_MEMORY_PBO_ALLOCATOR_CAST(obj) ((GstGLMemoryPBOAllocator *)(obj))
Constants
GST_GL_MEMORY_PBO_ALLOCATOR_NAME
#define GST_GL_MEMORY_PBO_ALLOCATOR_NAME "GLMemoryPBO"
The name of the GL Memory PBO allocator
GstGL.GL_MEMORY_PBO_ALLOCATOR_NAME
The name of the GL Memory PBO allocator
GstGL.GL_MEMORY_PBO_ALLOCATOR_NAME
The name of the GL Memory PBO allocator
GST_TYPE_GL_MEMORY_PBO
#define GST_TYPE_GL_MEMORY_PBO (gst_gl_memory_pbo_get_type())
Since : 1.20
deprecated : 1.22: This type has no use.
The results of the search are