<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 25, 2015 at 4:38 AM, Julien Isorce <span dir="ltr"><<a href="mailto:julien.isorce@gmail.com" target="_blank">julien.isorce@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">For further optimisation, <br>
with clCreateFromGLTexture2D it is possible to create a cl image2d object from a previously created gl texture.</p>
<p dir="ltr">You could use that to feed directly a gl textures that come from the glimagesink 's GstGLBufferPool. It avoids the frame round trip to CPU memory.</p>
<p dir="ltr">Indeed your decoder will use this downstream pool and writes a cl object at each iteration. Then glimagesink can draw the corresponding gl texture.</p>
<p dir="ltr">Similar mechanism can be find in vtdec. For decoders that use EGLImage it is a bit different because eglCreateImage is used in libgstgl directly.</p>
<p dir="ltr">It could be useful to have a GstCLVideoDecoder base class that does this setup and it could be reused with other compressed formats.</p>
<p dir="ltr">Also I would suggest to have a look at software decoders like jpegdec and pngdec. They contain fewer code. Also the bottom page of GstVideoDecoder where the doc explain the functions.</p></blockquote><div><br></div><div>Thanks so much, Julien.  Right now, I am focusing on encoding. When I get to the decoder phase, I will look into opencl-opengl<br></div><div>interop as you suggest, and I may have more questions at that time.<br><br></div><div>Aaron<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
<p dir="ltr">Julien</p></font></span><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On 24 Feb 2015 13:42, "Aaron Boxer" <<a href="mailto:boxerab@gmail.com" target="_blank">boxerab@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Excellent, thanks guys. The link is very helpful, and makes me feel confident that I can stand on the <br></div>"shoulders of giants" and get my plugin working.<br><br><br><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 24, 2015 at 3:06 AM, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On Mo, 2015-02-23 at 10:12 -0500, Aaron Boxer wrote:<br>
> Hello!<br>
><br>
> I am working on a jpeg 2000 video compression library written in OpenCL,<br>
> and I'm looking into gstreamer as way of streaming the compressed video.<br>
><br>
> I have never used gstreamer before, but I understand that it supports GPU<br>
> codecs.<br>
> Any advice or comments on how to do this with gstreamer would be greatly<br>
> appreciated.<br>
<br>
</div></div>You could take a look at the code of many of the existing non-software<br>
based codec elements, e.g. gst-omx, v4l2viddec, androidmedia,<br>
gstreamer-vaapi. For a high level view of what features are available to<br>
make integration of hardware codecs easier you can also take a look<br>
here:<br>
<a href="https://coaxion.net/blog/2013/10/the-never-ending-story-gstreamer-and-hardware-integration/" target="_blank">https://coaxion.net/blog/2013/10/the-never-ending-story-gstreamer-and-hardware-integration/</a><br>
<span><font color="#888888"><br>
--<br>
Sebastian Dröge, Centricular Ltd · <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
</font></span><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div>
</div></div><br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div></div>