NVIDIA VPI GStreamer Plug-in - NVIDIA VPI GStreamer Plug-in Basics

From RidgeRun Developer Wiki


  Index Next: Getting Started






GstVPI basic pipeline structure

GstVPI algorithm elements take data in form of a VPIImage as input, perform its operations, and return the resulting VPIImage as output. Therefore, it is necessary to use a vpiupload element to feed the buffer to a GstVPI pipeline and a vpidownload element to convert back the resulting VPIImage into a buffer that regular GStreamer elements can handle.

The following figure shows a diagram of a basic GstVPI pipeline. Elements colored gray and green are GstVPI elements, whereas the blue elements represent regular GStreamer elements in the diagram. Note the use of a vpiupload as the first element of the sequence of GstVPI elements and vpidownload as the last. The vpiupload element moves the buffers from the regular GStreamer context to the VPI context, and the vpidownload element moves buffers from the VPI context back to the regular GStreamer context, therefore, providing an interface between regular GStreamer elements and VPI elements to interact with each other. As shown in the diagram, you can have a series of GstVPI algorithm elements operating one after the other over a VPIImage, without requiring the use of the vpidownload and vpiupload elements in between.

diagram describing pipeline structure using GstVPI
GstVPI basic pipeline diagram


  Index Next: Getting Started