<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">Le mer. 22 août 2018 07:26, Víctor Jáquez <<a href="mailto:vjaquez@igalia.com" target="_blank" rel="noreferrer">vjaquez@igalia.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 22 Aug 2018 at 14:03, Alexander Yanin wrote:<br>
> > I guess you could use glsrcbin or gldownload to convert a GLMemory based buffer<br>
> > (with a texture inside) into a dmabuf-based buffer and vaapipostproc would<br>
> > upload it into a VA surface and then encoding it.<br>
> <br>
> In 1.14 vaapipostproc only has 'video/x-raw(memory:VASurface)' and<br>
> 'video/x-raw' sink pads, so there is no DMAbuf. Was it added in later<br>
> versions of gstreamer?<br>
> In case of DMAbuf input, does DMAbuf -> vaapi conversion implies copy operation?<br>
> Is there any sense in adding DMAbuf sink pad directly to vaapi encoder<br>
> base class?<br>
<br>
Adding memory:DMABuf caps feature in vaapipostproc sink pad is not<br>
implemented. BUT, dmabuf-based buffers don't need to use that caps feature<br>
*if they are mappable to user-space*.<br>
<br>
gldownload can pass dmabuf-based buffers without memory:DMABuf caps feature, as<br>
far as I understand. And vaapipostproc can detect if that buffer is dmabuf-based<br>
and upload it onto a VA surface (no copy is involved).<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Sorry, atm it requires the caps feature and we have issues there since the dmabuf are tiled, event though the modifiers aren't set by mesa. The mesa dmabuf exporter is massively broken, so we'll have to disable this really soon in libgstgl. It worked till around Mesa 1.17, when the tiling and compression got activated by default for all internal texture backend.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
There is no need to duplicate the code in vaapipostroc in the encoders, when you<br>
can just prepend vaapiproc in the pipeline.<br>
<br>
vmjl<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div></div></div>