<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">I believe NVIDIA elements may consume EGLStreams directly, avoiding the copy. You’ll have to add the support yourself though. In some platforms you’ll even need to deal with memory layouts, aka Block Linear vs Pitch Linear.<div><div dir="ltr"><br><blockquote type="cite">On May 19, 2020, at 21:24, F32 <feng32@163.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><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><span>_______________________________________________</span><br><span>gstreamer-devel mailing list</span><br><span>gstreamer-devel@lists.freedesktop.org</span><br><span>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</span><br></div></blockquote></div></body></html>