GstCUDA: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
*'''''cudadebayer:''''' Video filter element that executes a CUDA based bayer to RGB conversion algorithm. cudadebayer is a complete example showing the GstCUDA framework in action. | *'''''cudadebayer:''''' Video filter element that executes a CUDA based bayer to RGB conversion algorithm. cudadebayer is a complete example showing the GstCUDA framework in action. | ||
*'''''cudafilter:''''' Filter element that allows video frames to be processed by the GPU using a custom CUDA library algorithm. cudafilter is flexible and adaptable to many project requirements, making it ideal for quick prototyping. Users develop their own CUDA processing library, pass the library into cudafilter, which executes the library on the GPU, passing upstream frames from the GStreamer pipeline and passing the modified frames downstream to the next element in the GStreamer pipeline. | *'''''cudafilter:''''' Filter element that allows video frames to be processed by the GPU using a custom CUDA library algorithm. cudafilter is flexible and adaptable to many project requirements, making it ideal for quick prototyping. Users develop their own CUDA processing library, pass the library into cudafilter, which executes the library on the GPU, passing upstream frames from the GStreamer pipeline to the GPU and passing the modified frames downstream to the next element in the GStreamer pipeline. | ||
Revision as of 19:15, 22 September 2017
Overview
GstCUDA is a RidgeRun developed GStreamer plug-in enabling CUDA algorithm easy integration into GStreamer pipelines. GstCUDA offers a framework allowing users to develop custom elements executing different CUDA algorithms. The GstCUDA framework is a series of base classes abstracting the complexity of both CUDA and GStreamer. With GstCUDA, developers avoid writing elements from scratch, allowing the developer to focus on the algorithm logic, and accelerating time to market.
One remarkable feature of GstCUDA is that it provides a zero memory copy interface between CUDA and GStreamer on TEGRA X1/X2 platforms. This enables heavy algorithms and big amounts of data to be processed on CUDA without affecting the performance due to copies or memory conversions. GstCUDA provides the necessary APIs to directly handle NVMM buffers types to achieve the best possible performance on the Tegra platforms. It provides a series of base classes and utilities that abstract the complexity of handle memory interface between GStreamer and CUDA, so the developer can focus on what actually gives value to the end product. GstCuda ensures the best performance for GStreamer/CUDA applications on Tegra platforms.
As per now, GstCUDA offers two example elements along with the API: cudadebayer and cudafilter.
- cudadebayer: Video filter element that executes a CUDA based bayer to RGB conversion algorithm. cudadebayer is a complete example showing the GstCUDA framework in action.
- cudafilter: Filter element that allows video frames to be processed by the GPU using a custom CUDA library algorithm. cudafilter is flexible and adaptable to many project requirements, making it ideal for quick prototyping. Users develop their own CUDA processing library, pass the library into cudafilter, which executes the library on the GPU, passing upstream frames from the GStreamer pipeline to the GPU and passing the modified frames downstream to the next element in the GStreamer pipeline.
The following table of contents offers all you need to know about GstCUDA project.
|
Template:Eval SDK Download, Demo Image download and Contact Us buttons |
Promo/Demo Video
Under Construction!
Getting Started
Start navigating this wiki by going to the Supported Platforms page in the table of contents.