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.
the destination texture id
the destination #GstGLTextureTarget
the destination #GstGLFormat
width of tex_id
height of tex_id
stride of the backing texture data
whether to copy the data or copy per texel
Transfer the texture data from the texture into the PBO if necessary.
Transfer the texture data from the PBO into the texture if necessary.
#GstGLMemoryPBO is created or wrapped through gst_gl_base_memory_alloc() with #GstGLVideoAllocationParams.
Data is uploaded or downloaded from the GPU as is necessary.