[Bug 727886] GstVideoGLTextureUploadMeta assumes no color conversion is done during upload

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Apr 17 03:03:50 PDT 2014


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

--- Comment #29 from George Kiagiadakis <kiagiadakis.george at gmail.com> 2014-04-17 10:03:46 UTC ---
Hmm, I was just looking at the upload code in cogl and I noticed something
else...

GstVideoGLTextureUploadMeta has a n_textures variable, which specifies how many
textures there are going to be. This normally aligns with how many planes there
are for the given format, so for example in eglglessink if n_textures !=
n_planes, it errors out. I have added exactly the same check in coglsink and I
don't see a reason why this assertion could not hold true, so it looks like
n_textures duplicates information from the format info. 

Similarly, I am not sure what exactly one should do with the texture_type of
the upload meta. It looks like it duplicates format info again.

Finally, I was wondering what should happen with the width/height of the other
textures in case the upload meta produces more than one texture. At the moment
in coglsink I am using GST_VIDEO_INFO_COMP_WIDTH (&video_info, i) for each
plane to find what the texture size is for that plane, but this is obviously
wrong with what vivante does with the texture size. And if I add just one
width/height variable in the upload meta, then I don't know what the size of
the other textures is...

All this makes me wonder... maybe the upload meta should have a full
GstVideoInfo in there, or it should require an extra GstVideoMeta with a
special id? And get rid of the rest duplicated information...?


Hehe, and (unrelated) I just also found this in glimagesink:

  gl_context =
      gst_structure_new ("GstVideoGLTextureUploadMeta", "gst.gl.GstGLContext",
      GST_GL_TYPE_CONTEXT, glimage_sink->context, "gst.gl.context.handle",
      G_TYPE_POINTER, handle, "gst.gl.context.type", G_TYPE_STRING, platform,
      "gst.gl.context.apis", G_TYPE_STRING, gl_apis, NULL);
  gst_query_add_allocation_meta (query,
      GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE, gl_context);

This means that my patches are wrong.

-- 
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