[Bug 759358] Add GST_CAPS_FEATURE_MEMORY_DMABUF "memory:DMABuf"

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Dec 14 08:16:00 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=759358

--- Comment #6 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> ---
> It is useful to force dmabuf usage in order to avoid any conversion between
> exporter and importer. The elements that cannot handle this caps feature
> will just put themself in passthrough mode (videobalance, videoscale,
> videoconvert ...)
> Same idea as between omxvideodec and glimagesin when using memory:EGLImage.
> 
> For example if the exporter is gstvaapidecodebin and importer is glimagesink
> then the decoder may want to set GST_CAPS_FEATURE_MEMORY_DMABUF to ensure to
> terminate the pipeline if importation fails.

For EGLImage, where you can't map to CPU, that make sense, for for mappable
dmabuf, I'm not so sure. The idea for EGLImage was that it would fail at
negotiation because it would otherwise mail on memory map. For DMABuf, it won't
fail in memory map.

So this feature is just to help developer to find missing color formats and/or
features in their display sink element. To me, this is not a good reason, we
could improve the CAT_PERFORMANCE instead.

(In reply to Julien Isorce from comment #5)
> So in addition to 
> 
> + * It helps pipeline negotiation when the exporter is the upstream element
> from
> + * the importer point of view.

I'm still unclear upon why upstream would propose memory pointers when dmabuf
is available. My view might be limited to V4L2, but in V4L2, there is very low
cost of always exporting. This is the solution I see. Both the downstream and
upstream model can mimic the GL uploader, where you actually introspect the
caps/buffers/memory choose the best method.

What I'd like to see, is proper instructions on how this meta shall be used,
with understandable examples rather then supposition. The use case I have in
mind, is the text overlays. Unless you have CompositionMeta overlay support in
your sink, you can no longer render the overlay if the DMABuf meta is enabled.
As of today's ARM CPUs, you may get more then acceptable performances. But
then, if you add DMABuf meta support to the text overlay, you loose the ability
to prevent any kind of SW rasterization to happen.

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