[Bug 729278] gl: avoid using an extra FBO pass in some basic cases

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun May 25 04:17:33 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=729278
  GStreamer | gst-plugins-bad | git

--- Comment #5 from Matthew Waters <ystreet00 at gmail.com> 2014-05-25 11:17:27 UTC ---
Ok, all of these cases are as a result of glcolorconvert/glupload/gldownload
implementations/interoperability.  Also, case 1 and 3 are functionally the same
(avoiding the shader conversion).

The current process of say a glfilter is like so:

input buffer -> upload -> colorconvert -> filter transform -> colorconvert ->
download -> output buffer.

This is a list of changes I would do:

1. separate the colorconvert from upload and download objects
2. separate the different upload/download cases into different subobjects.
3. have upload/download/colorconvert allocate their own output buffers (from a
glbufferpool).
4. use GstBuffers everywhere

I believe these changes would solve the three cases.  Each object gets the
choice to reuse existing or allocate new buffers that are cached in a (possibly
shared) pool and thus can optimise the identity transformations away.  It would
also be easier to understand and maintain.

Doing it like this essentially makes the upload/colorconvert/download
essentially mini-GstElements and it might be prudent to upgrade them (or
provide wrappers) to normal GstElements and plug them inside a glfilter/glmixer
like bin as needed.

Thoughts?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list