[gst-devel] How to fit in a GPU accelerated rendering plugin

Simon Holm Thøgersen odie at cs.aau.dk
Sat Dec 15 16:13:33 CET 2007

fre, 14 12 2007 kl. 17:45 +0100, skrev Wladimir van der Laan:
> Hello,
> I have created a GPU-accelerated plugin to playback Dirac video
> streams. This currently, like the software implementation it is based
> on (Schrodinger) uses the gst framework. To do this, it downloads back
> the rendered frame from GPU to CPU memory, after which it passes the
> raw YUV output to gst, which uploads the frame to the screen again. 
> This generates a lot of superfluous traffic on the bus. Is there
> infrastructure in place to pass the output of a plugin as a GL
> texture, for direct rendering? Or some other recommended way to do
> this?
I think you could augment the capabilities for your plugin with a
property that says this is an opengl handle for a texture, and write
your own sink that accepts capabilities correspondingly and actually
shows the texture somehow. To allow for still downloading the rendered
frame from GPU to CPU memory you could write a plugin that does exactly
that conversion. I could also be just completely rambling though :)

> I realize I've probably written the first video rendering plugin for
> Linux that is accelerated on graphics hardware, so this might get
> interesting. 

It is indeed interesting and you should post your source code
somewhere :)

Simon Holm Thøgersen

More information about the gstreamer-devel mailing list