Understanding GLBuffer and appsink

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Understanding GLBuffer and appsink

Avishay Orpaz
Hi
I have a pipeline in which an nvdec element feeds an appsink element. The nvdec element does its data processing on the GPU and emits GLBuffers. Downstream, I only need a fraction of the frames decoded by the GPU, so I don't want them to be copied into the CPU memory at all. How do I accomplish this? Are the buffers received by appsink GL or CPU buffers? What is the exact point the buffers get copied from the GPU into the CPU?

Avishay

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Understanding GLBuffer and appsink

Matthew Waters
Hi,

The answer is it depends on your pipeline :)

If your appsink is receiving caps with video/x-raw(memory:GLMemory), then appsink is receiving OpenGL textures.  OpenGL textures are only mapped to the CPU when mapped with gst_memory_map() and friends without the GST_MAP_GL map flag.

Cheers
-Matt

On 9/6/20 12:49 am, Avishay Orpaz wrote:
Hi
I have a pipeline in which an nvdec element feeds an appsink element. The nvdec element does its data processing on the GPU and emits GLBuffers. Downstream, I only need a fraction of the frames decoded by the GPU, so I don't want them to be copied into the CPU memory at all. How do I accomplish this? Are the buffers received by appsink GL or CPU buffers? What is the exact point the buffers get copied from the GPU into the CPU?

Avishay

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (499 bytes) Download Attachment