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

a GstGLMemoryPBO

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

Returns

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:

tex_id (Number)

the destination texture id

target (GstGL.GLTextureTarget)

the destination GstGL.GLTextureTarget

tex_format (GstGL.GLFormat)

the destination GstGL.GLFormat

width (Number)

width of tex_id

height (Number)

height of tex_id

stride (Number)

stride of the backing texture data

respecify (Number)

whether to copy the data or copy per texel

Returns (Number)

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:

tex_id (int)

the destination texture id

target (GstGL.GLTextureTarget)

the destination GstGL.GLTextureTarget

tex_format (GstGL.GLFormat)

the destination GstGL.GLFormat

width (int)

width of tex_id

height (int)

height of tex_id

stride (int)

stride of the backing texture data

respecify (bool)

whether to copy the data or copy per texel

Returns (bool)

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

a GstGLMemoryPBO

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

a GstGLMemoryPBO

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) –
No description available

Class structure

GstGLMemoryPBOAllocatorClass

Only contains private data

Fields
parent_class (GstGLMemoryAllocatorClass) –
No description available

GstGL.GLMemoryPBOAllocatorClass

Only contains private data

Attributes
parent_class (GstGL.GLMemoryAllocatorClass) –
No description available

GstGL.GLMemoryPBOAllocatorClass

Only contains private data

Attributes
parent_class (GstGL.GLMemoryAllocatorClass) –
No description available

GstGL.GLMemoryPBOAllocator

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Allocator
                ╰──GstGL.GLBaseMemoryAllocator
                    ╰──GstGL.GLMemoryAllocator
                        ╰──GstGL.GLMemoryPBOAllocator

Members

No description available

GstGL.GLMemoryPBOAllocator

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Allocator
                ╰──GstGL.GLBaseMemoryAllocator
                    ╰──GstGL.GLMemoryAllocator
                        ╰──GstGL.GLMemoryPBOAllocator

Members

No description available

Functions

gst_is_gl_memory_pbo

gboolean
gst_is_gl_memory_pbo (GstMemory * mem)

Parameters:

mem

a GstMemory

Returns

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:

mem (Gst.Memory)

a Gst.Memory

Returns (Number)

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:

mem (Gst.Memory)

a Gst.Memory

Returns (bool)

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())

The results of the search are