Gstreamer support for GPU codecs

Sebastian Dröge sebastian at centricular.com
Sat May 14 07:41:15 UTC 2016


On Fr, 2016-05-13 at 08:34 -0400, Aaron Boxer wrote:
> I have a question about how the streaming architecture works with GPU acceleration.
> 
> Since discrete cards are sitting on the PCI bus, best performance happens when data is
> moved to the card in a pipeline and the host gets notified when data has been processed
> and moved back to the host.
> 
> Also, it is sometimes more efficient to process N frames at a time.
> 
> So, for best perf, the flow would be:
> 
> A) host keeps a list of N host-side memory buffers
> B) host waits for a host buffer to become available
> C) when buffer is available, host copies memory into that buffer, and queues the buffer
> to be copied over to the card
> D) when N buffers have been processed, and copied back to host, the host receives an event
> E) host can use the processed buffers, and when it is finished, that buffers becomes available
> for another frame
> 
> Would this workflow work with GStreamer?  

Yes, you just need to ensure that latency is reported accordingly by
your element.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160514/7a0350fe/attachment.sig>


More information about the gstreamer-devel mailing list