GstCUDA - GstCUDA Framework

From RidgeRun Developer Connection
Revision as of 17:33, 4 October 2017 by Dgarbanzo (talk | contribs)
Jump to: navigation, search

Building and Installation Guide


Home

libGstCUDA API



This page offers a description of the GstCUDA framework.

Description

GstCUDA offers a framework that allows users to easily develop custom GStreamer elements that executes any CUDA algorithm. 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, thanks to the provided framework, allowing the developer to focus on the CUDA algorithm logic, and accelerating time to market.


Those base classes are based on the libGstCUDA API. It consists in a library that expose special structures and functions that abstracts the complexity of handle NVMM memory type buffers, extracts the data buffer to be processed and pass it to the GPU, and recover back the processed data from the GPU to the GStreamer element. Also, the methods implemented in the libGstCUDA API ensures an optimal performance, due to direct handling of NVMM memory type buffers and zero memory copy interface between GStreamer and CUDA.


There is a specific base class for each different filter element topology according to the number of sink and source pads required. This base classes are intended to help users in the develop of custom GStreamer/CUDA elements, by providing structures and functions that abstracts difficulty, avoids to replicate code, simplify and speeds the development process, and reduce product time to market. Below there is a list that briefly describes the purpose of each provided base class:

  • GstCUDABaseFilter: Single input/single output filter element topology.
  • GstCUDABaseMISO: Multiple input/single output filter element topology.
  • GstCUDABaseSIMO: Single input/multiple output filter element topology.
  • GstCUDABaseMIMO: Multiple input/multiple output filter element topology.


GstCUDA Framework Index

The following index gives a detailed description of the libGstCUDA API and each of the base classes provided in the GstCUDA framework.




Building and Installation Guide


Home

libGstCUDA API