[gst-devel] plugin opengl multiplatform

Julien Isorce julien.isorce at gmail.com
Mon Apr 21 19:56:56 CEST 2008


Some news about the plugin I am working on my spare time:

The plugin uses the opengl API. It uses also glew to automatically manage
For now there is two elements (implementation is finished)
The first one is named glimagesink (as the current plugin-gl from David A.
Schleef). It handles every RGB-like. It also handles I420, YV12, YUY2, UYVY
and AYUV, trough GLSL (OpenGL shading language). (this is done and tested on
an ATI 9800 pro, an ATI X800 GTO and an recent NVIDIA card (I can search the
exact name if needed) )
The second element is named glgraphicmaker, it handles the same video format
inputs as the glimagesink. The output has the type video/x-raw-gl (as in the
current plugin-gl from David A. Schleef). I prefer to name it
"glgraphicmaker" instead of "glupload" because it is possible to define
reshape and draw callback from a gstreamer client code (usefull when someone
want to have a complex opengl scene without making an other filter). The
most important thing is that the graphic FPS can be synchronised or bigger
(I mean as fast as your graphic card can) than the input video framerate
(the client code can to turn on or off it). The glimagesink can be connected
to the glgraphicmaker in order to see the opengl scene.

Now I am currently working on the symectric element that it is named
"glvideomaker". I prefer this name instead of "gldownload" for the same

The other thing that I want to talk about is the "freeglut" part in this
plugin. I use it to create the windows easily but there is a limitation.
It's not possible to implement the gstxoverlay interface because freeglut
cannot receive winId from an existing window. So, there is two solutions to
resolve this problem. The first one is to extract the small part I used in
freeglut and just put it into the plugin. The second solution is to use an
other opengl toolkit (glut-like) that could permit to implement the
gstxoverlay interface.
The second solution is possible because the deep mecanism of this plugin
will be the same (just by replacing freeglut fucntions by the identicals
functions from an other library)
What solution do you expect to be the best? If it's the second one, which
library are you thinking ?


Julien I.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080421/9a3ccdbd/attachment.htm>

More information about the gstreamer-devel mailing list