Gst-nvdspostprocess
The Gst-nvdspostprocess plugin is a customizable plugin which provides a custom library interface for post processing on Tensor output of inference plugins (nvinfer/nvinferserver).
Currently the plugin supports detection and classification models for parsing. The plugin connects to post processing lib provided as plugin parameter.
The parsing parameters can be specified via a config file.
Refer to section Gst-nvdspostprocess File Configuration Specifications below for more details.
For the plugin to perform parsing of inference tensor output, it is necessary to attach tensor output by setting output-tensor-meta as 1 in inference configuration file and disabling
parsing in the inference plugin by setting network-type as 100 i.e. network type other. Similarly, in Gst-nvinferserver we can enable the following configs in the configuration file.
output_control { output_tensor_meta : true } and to disable native post processing, update: infer_config { postprocess { other {} } }.
Default plugin implementation provides following functionalities.
- It parses the tensor meta attached to frame meta or object meta.
- Attaches the output of tensor parsing either to frame meta or object meta.
The default custom library (postprocesslib_impl) provided with the plugin implements these functionalities. It can be configured to parse detection and classification networks. For multiple inference plugins in pipeline require multiple post process plugin instances corresponding to them.

Inputs and Outputs
-
Inputs
- Input Video Gst Buffers
- Metadata (NvDsBatchMeta)
- Tensor Meta (NvDsInferTensorMeta)
-
Control parameters
- postprocesslib-config-file
- postprocesslib-name
- gpu-id
-
Output
- Output Video Gst Buffers
- Original Metadata (NvDsBatchMeta) (with addition of Object Meta/Classifier Meta)
Features
The following table summarizes the features of the plugin.
Gst-nvdspostprocess features
Gst-nvdspostprocess File Configuration Specifications
The Gst-nvdspreprocess configuration file uses a “YAML” format
Refer to examples like config_detector.yml, config_classifier_car_color.yml located at /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvdspostprocess/.
The property group configures the general behavior of the plugin.
The class-attrs-all group configures parameters for all classes for detector post processor.
The class-attrs-<id> group configures parameters <id> specific class for detector post processor.
The following two tables describes the keys supported for property groups and class-attrs-<id> groups respectively.
Gst-nvdspostprocess property Group Supported Keys
Gst-nvdspostprocess class-attr-<id> Group Supported Keys
Gst Properties
The following table describes the Gst properties of the Gst-nvdspostprocess plugin.
Gst-nvspostprocess gst properties
Sample pipelines
Given below are some sample pipelines, please set appropriate configuration file and library paths.
For multi-stream detector and classifier (dGPU):
For multi-stream detector and classifier (Jetson):