<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">The nvidia encoding elements nv*enc can
consume video/x-raw(memory:GLMemory) formatted buffers. The
restriction for them is that the GLMemory buffers you create must
be from the GstGLMemoryPBO allocator to allow for access to the
PBO object for the copy to the cuda memory.<br>
<br>
This of course only works from a nvenc element created from a cuda
context and as such may not work on windows.<br>
<br>
Cheers<br>
-Matt<br>
<br>
On 20/5/20 1:09 pm, F32 wrote:<br>
</div>
<blockquote type="cite"
cite="mid:60533a2e.2e24.172300e56ce.Coremail.feng32@163.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div
style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">
<div>Hi,</div>
<div><br>
</div>
<div>Suppose we have a video game based on OpenGL and we have
its source code. In order to capture game video, we can call
glReadPixels() before swapping buffer, and then send the
pixels to gstreamer's nvenc plugin. In this way, the frame is
first sent from GPU memory to system memory, and then to GPU
again, which seems to be unnecessary.<br>
</div>
<div><br>
</div>
<div>Is it possible to send the frame buffer direct to nvenc, so
that there's no extra glupload / gldownload?</div>
<div><br>
</div>
<div>Regards</div>
<div>Windy<br>
</div>
</div>
<br>
<br>
<span title="neteasefooter">
<p> </p>
</span><br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<br>
</body>
</html>