NVIDIA DeepStream SDK API Reference

9.0 Release
sources/gst-plugins/gst-nvinfer/gstnvinfer.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef __GST_NVINFER_H__
14 #define __GST_NVINFER_H__
15 
16 #include <gst/base/gstbasetransform.h>
17 #include <gst/video/video.h>
18 
19 #include <set>
20 #include <unordered_map>
21 #include <vector>
22 #include <memory>
23 
24 #include "cuda_runtime_api.h"
25 #include "nvbufsurftransform.h"
26 #include <nvdsinfer_context.h>
27 
28 #include "gstnvdsinfer.h"
29 
30 #include "gstnvdsmeta.h"
31 
32 #include "nvtx3/nvToolsExt.h"
33 
34 /* Package and library details required for plugin_init */
35 #define PACKAGE "nvinfer"
36 #define VERSION "1.0"
37 #define LICENSE "Proprietary"
38 #define DESCRIPTION "NVIDIA DeepStreamSDK TensorRT plugin"
39 #define BINARY_PACKAGE "NVIDIA DeepStreamSDK TensorRT plugin"
40 #define URL "http://nvidia.com/"
41 
42 
43 G_BEGIN_DECLS
44 /* Standard GStreamer boilerplate */
45 typedef struct _GstNvInfer GstNvInfer;
47 typedef struct _GstNvInferImpl GstNvInferImpl;
48 
49 /* Standard GStreamer boilerplate */
50 #define GST_TYPE_NVINFER (gst_nvinfer_get_type())
51 #define GST_NVINFER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVINFER,GstNvInfer))
52 #define GST_NVINFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVINFER,GstNvInferClass))
53 #define GST_NVINFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_NVINFER, GstNvInferClass))
54 #define GST_IS_NVINFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVINFER))
55 #define GST_IS_NVINFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVINFER))
56 #define GST_NVINFER_CAST(obj) ((GstNvInfer *)(obj))
57 
61 enum
62 {
85 };
86 
87 /* nvinfer signals */
88 enum {
89  /* Signal emitted to notify app about model update completion with
90  * success/error messages. */
93 };
94 
95 extern guint gst_nvinfer_signals[LAST_SIGNAL];
96 
100 typedef struct
101 {
109 
113 typedef struct
114 {
117 
118  gboolean have_bg_color;
121 
125  std::vector<NvDsInferAttribute> attributes;
127  std::string label;
128 
130  GstNvInferObjectInfo() = default;
132  for (auto &attr : attributes) {
133  if (attr.attributeLabel)
134  free (attr.attributeLabel);
135  }
136  }
137 };
138 
144 {
146  gboolean under_inference;
158 
160 typedef std::unordered_map<guint64, std::shared_ptr<GstNvInferObjectHistory>> GstNvInferObjectHistoryMap;
161 
165 typedef struct
166 {
174 
179 {
181  GstBaseTransform base_trans;
182 
185 
188 
196  guint unique_id;
197 
201  GstBufferPool *pool;
202 
204  GQueue *process_queue;
205  GMutex process_lock;
207  GQueue *input_queue;
208 
210  GThread *output_thread;
212 
214  gboolean stop;
215 
219 
223 
226 
228  GstFlowReturn last_flow_ret;
229 
231  guint gpu_id;
232 
235 
237 
240 
244 
249 
251  std::vector<GstNvInferDetectionFilterParams> *perClassDetectionFilterParams;
252 
254  std::vector<GstNvInferColorParams> *perClassColorParams;
255 
257  guint interval;
259 
262 
268 
271  std::vector<gboolean> *operate_on_class_ids;
272  std::set<uint> *filter_out_class_ids;
273 
275  std::unordered_map<gint, GstNvInferSourceInfo> *source_info;
277 
280 
283 
286 
289 
291  std::vector<NvDsInferLayerInfo> *layers_info;
292 
294  std::vector<NvDsInferLayerInfo> *output_layers_info;
295 
298 
301 
306 
309  std::vector<gboolean> *is_prop_set;
310 
313 
316 
319 
323 
327 
331 
333  nvtxDomainHandle_t nvtx_domain;
334 
335  /*Clip the object bounding-box which lies outside the roi boundary. */
337 
340 
344 
346 };
347 
348 /* GStreamer boilerplate. */
350  GstBaseTransformClass parent_class;
351 
357  void (*model_updated) (GstNvInfer *, gint err, const gchar *cfg_file);
358 };
359 
360 GType gst_nvinfer_get_type (void);
361 
362 G_END_DECLS
363 
364 #endif /* __GST_INFER_H__ */
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition: sources/includes/nvbufsurftransform.h:35
GstNvInferSourceInfo::last_cleanup_frame_num
gulong last_cleanup_frame_num
Frame number of the buffer when the history map was last cleaned up.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:170
_GstNvInfer::min_input_object_width
guint min_input_object_width
Input object size-based filtering parameters for object processing mode.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:264
GstNvInferColorParams::have_bg_color
gboolean have_bg_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:118
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:140
_GstNvInfer::perClassDetectionFilterParams
std::vector< GstNvInferDetectionFilterParams > * perClassDetectionFilterParams
Vector for per-class detection filtering parameters.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:251
_GstNvInfer::perClassColorParams
std::vector< GstNvInferColorParams > * perClassColorParams
Vector for per-class color parameters.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:254
_GstNvInfer::process_full_frame
gboolean process_full_frame
Boolean indicating if entire frame should be inferred or crop objects based on metadata recieved from...
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:222
_GstNvInfer::output_instance_mask
gboolean output_instance_mask
Boolean indicating if instance masks are expected in output and has to be attached in metadata.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:326
_GstNvInfer::operate_on_class_ids
std::vector< gboolean > * operate_on_class_ids
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:271
_GstNvInfer::process_cond
GCond process_cond
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:206
_GstNvInferObjectHistory
Holds the inference information/history for one object based on it's tracking id.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:143
_GstNvInfer::classifier_type
gchar * classifier_type
String containing the type of classifier.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:285
PROP_INTERVAL
@ PROP_INTERVAL
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:72
_GstNvInfer::impl
GstNvInferImpl * impl
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:345
_GstNvInfer::stabilize_buffer_count
guint stabilize_buffer_count
Number of initial buffers to pass through without inference (pipeline stabilization).
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:343
GstNvInferDetectionFilterParams::detectionMaxHeight
guint detectionMaxHeight
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:107
_NvBufSurfaceTransformParams
Holds transform parameters for a transform call.
Definition: sources/includes/nvbufsurftransform.h:196
_GstNvInferClass::model_updated
void(* model_updated)(GstNvInfer *, gint err, const gchar *cfg_file)
Signals.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:357
_GstNvInfer::base_trans
GstBaseTransform base_trans
Should be the first member when extending from GstBaseTransform.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:181
NvBufSurface
Holds information about batched buffers.
Definition: sources/includes/nvbufsurface.h:597
GstNvInferObjectHistory
struct _GstNvInferObjectHistory GstNvInferObjectHistory
Holds the inference information/history for one object based on it's tracking id.
_GstNvInfer::transform_params
NvBufSurfTransformParams transform_params
Parameters to use for transforming buffers.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:315
PROP_OUTPUT_CALLBACK_USERDATA
@ PROP_OUTPUT_CALLBACK_USERDATA
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:76
_GstNvInfer::network_info
NvDsInferNetworkInfo network_info
Network input information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:288
_GstNvInfer::convertStream
cudaStream_t convertStream
Cuda Stream to launch npp operations on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:234
GstNvInferColorParams
Holds the bounding box coloring information for one class;.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:113
PROP_GPU_DEVICE_ID
@ PROP_GPU_DEVICE_ID
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:73
PROP_LAST
@ PROP_LAST
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:84
_GstNvInfer::max_input_object_width
guint max_input_object_width
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:266
PROP_0
@ PROP_0
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:63
PROP_OUTPUT_WRITE_TO_FILE
@ PROP_OUTPUT_WRITE_TO_FILE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:74
_GstNvInfer::network_width
gint network_width
Network input resolution.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:217
_GstNvInferObjectHistory::under_inference
gboolean under_inference
Boolean indicating if the object is already being inferred on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:146
_GstNvInfer::config_file_path
gchar * config_file_path
Path to the configuration file for this instance of gst-nvinfer.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:225
_GstNvInfer::config_file_parse_successful
gboolean config_file_parse_successful
Boolean indicating if the config parsing was successful.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:184
PROP_DYNAMIC_PROPERTIES
@ PROP_DYNAMIC_PROPERTIES
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:83
_GstNvInfer::output_layers_info
std::vector< NvDsInferLayerInfo > * output_layers_info
Vector of bound output layers information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:294
LAST_SIGNAL
@ LAST_SIGNAL
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:92
_GstNvInfer::process_lock
GMutex process_lock
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:205
GstNvInferObjectInfo::label
std::string label
Cached string label.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:127
_GstNvInfer::write_raw_buffers_to_file
gboolean write_raw_buffers_to_file
Boolean indicating if the bound buffer contents should be written to file.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:297
_GstNvInfer::transform_config_params
NvBufSurfTransformConfigParams transform_config_params
Config params required by NvBufSurfTransform API.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:312
GstNvInferObjectHistoryMap
std::unordered_map< guint64, std::shared_ptr< GstNvInferObjectHistory > > GstNvInferObjectHistoryMap
Map type for maintaing inference history for objects based on their tracking ids.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:160
_GstNvInfer::current_batch_num
gulong current_batch_num
Current batch number of the input batch.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:279
GstNvInferDetectionFilterParams::detectionMinHeight
guint detectionMinHeight
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:105
_GstNvInfer::input_tensor_from_meta
gboolean input_tensor_from_meta
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:236
PROP_CLIP_OBJECT_OUTSIDE_ROI
@ PROP_CLIP_OBJECT_OUTSIDE_ROI
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:80
_GstNvInfer::clip_object_outside_roi
gboolean clip_object_outside_roi
Clip the object bounding-box which lies outside the roi specified by nvdspreprosess plugin.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:239
_NvBufSurfTransformConfigParams
Holds configuration parameters for a transform/composite session.
Definition: sources/includes/nvbufsurftransform.h:175
PROP_BATCH_SIZE
@ PROP_BATCH_SIZE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:71
_GstNvInfer::input_queue
GQueue * input_queue
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:207
_GstNvInfer::output_generated_callback
gst_nvinfer_raw_output_generated_callback output_generated_callback
Pointer to the callback function and userdata for application access to the bound buffer contents.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:304
GstNvInferColorParams::bg_color
NvOSD_ColorParams bg_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:119
_GstNvInferObjectHistory::last_inferred_coords
NvOSD_RectParams last_inferred_coords
Bounding box co-ordinates of the object when it was last inferred on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:148
_GstNvInferClass
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:349
_GstNvInfer::process_queue
GQueue * process_queue
Processing Queue and related synchronization structures.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:204
PROP_OPERATE_ON_GIE_ID
@ PROP_OPERATE_ON_GIE_ID
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:67
GstNvInferDetectionFilterParams::roiTopOffset
guint roiTopOffset
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:102
PROP_OUTPUT_TENSOR_META
@ PROP_OUTPUT_TENSOR_META
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:77
_GstNvInfer::operate_on_gie_id
gint operate_on_gie_id
Source GIE ID and class-id based filtering parameters for object processing mode.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:270
_GstNvInfer::source_info
std::unordered_map< gint, GstNvInferSourceInfo > * source_info
Per source information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:275
NvDsInferNetworkInfo
Holds information about the model network.
Definition: sources/includes/nvdsinfer.h:114
_GstNvInfer::classifier_async_mode
gboolean classifier_async_mode
Boolean indicating if the secondary classifier should run in asynchronous mode.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:282
GstNvInferSourceInfo::last_seen_frame_num
gulong last_seen_frame_num
Frame number of the frame which .
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:172
_GstNvInferObjectHistory::last_accessed_frame_num
gulong last_accessed_frame_num
Number of the frame in the stream when the object was last accessed.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:154
_GstNvInfer::max_batch_size
guint max_batch_size
Maximum batch size.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:187
_GstNvInfer::interval_counter
guint interval_counter
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:258
_GstNvInfer::pool
GstBufferPool * pool
Internal buffer pool for memory required for scaling input frames and cropping object.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:201
_GstNvInfer::last_map_cleanup_frame_num
gulong last_map_cleanup_frame_num
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:276
PROP_FILTER_OUT_CLASS_IDS
@ PROP_FILTER_OUT_CLASS_IDS
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:69
_GstNvInfer::output_generated_userdata
gpointer output_generated_userdata
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:305
GstNvInferDetectionFilterParams::detectionMinWidth
guint detectionMinWidth
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:104
_GstNvInfer::input_queue_thread
GThread * input_queue_thread
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:211
_GstNvInfer::layers_info
std::vector< NvDsInferLayerInfo > * layers_info
Vector of bound layers information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:291
PROP_OUTPUT_INSTANCE_MASK
@ PROP_OUTPUT_INSTANCE_MASK
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:78
gst_nvinfer_signals
guint gst_nvinfer_signals[LAST_SIGNAL]
_GstNvInfer::untracked_object_warn_pts
GstClockTime untracked_object_warn_pts
PTS of input buffer when nvinfer last posted the warning about untracked object.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:330
_GstNvInfer::unique_id
guint unique_id
Unique ID of the element.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:196
_GstNvInfer::network_height
gint network_height
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:218
_GstNvInfer::file_write_batch_num
guint64 file_write_batch_num
Batch counter for writing buffer contents to file.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:300
PROP_INPUT_TENSOR_META
@ PROP_INPUT_TENSOR_META
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:79
_GstNvInfer::last_flow_ret
GstFlowReturn last_flow_ret
GstFlowReturn returned by the latest buffer pad push.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:228
GstNvInferObjectInfo::attributes
std::vector< NvDsInferAttribute > attributes
Vector of cached classification attributes.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:125
GstNvInferSourceInfo
Holds source-specific information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:165
_GstNvInfer::is_prop_set
std::vector< gboolean > * is_prop_set
Vector of booleans indicating if properties have been set through GObject set method.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:309
_GstNvInfer::output_thread
GThread * output_thread
Output thread.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:210
SIGNAL_MODEL_UPDATED
@ SIGNAL_MODEL_UPDATED
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:91
PROP_STRONGLY_TYPED
@ PROP_STRONGLY_TYPED
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:82
GstNvInferObjectInfo::~GstNvInferObjectInfo
~GstNvInferObjectInfo()
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:131
GstNvInferDetectionFilterParams::detectionMaxWidth
guint detectionMaxWidth
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:106
_GstNvInfer::dynamic_properties_string
gchar * dynamic_properties_string
Dynamic properties storage as string for flexible parameter passing.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:339
_GstNvInfer::min_input_object_height
guint min_input_object_height
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:265
GstNvInferColorParams::have_border_color
gboolean have_border_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:115
GstNvInferObjectInfo::GstNvInferObjectInfo
GstNvInferObjectInfo()=default
PROP_CONFIG_FILE_PATH
@ PROP_CONFIG_FILE_PATH
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:66
_NvOSD_ColorParams
Holds the color parameters of the box or text to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:81
PROP_MODEL_ENGINEFILE
@ PROP_MODEL_ENGINEFILE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:70
GstNvInferDetectionFilterParams::roiBottomOffset
guint roiBottomOffset
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:103
_GstNvInfer::tmp_surf
NvBufSurface tmp_surf
Temporary NvBufSurface for batched transformations.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:318
GstNvInfer
typedefG_BEGIN_DECLS struct _GstNvInfer GstNvInfer
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:45
_GstNvInfer::stop
gboolean stop
Boolean to signal output thread to stop.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:214
_GstNvInfer::symmetric_padding
gboolean symmetric_padding
Boolean indicating which padding to be used when scaling to network resolution.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:248
_GstNvInfer::filter_out_class_ids
std::set< uint > * filter_out_class_ids
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:272
_GstNvInfer::max_input_object_height
guint max_input_object_height
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:267
gst_nvinfer_raw_output_generated_callback
G_BEGIN_DECLS typedef void(* gst_nvinfer_raw_output_generated_callback)(GstBuffer *buf, NvDsInferNetworkInfo *network_info, NvDsInferLayerInfo *layers_info, guint num_layers, guint batch_size, gpointer user_data)
Function definition for the inference raw output generated callback of Gst-NvInfer plugin.
Definition: sources/includes/gstnvdsinfer.h:58
_GstNvInferObjectHistory::cached_info
GstNvInferObjectInfo cached_info
Cached object information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:156
_GstNvInfer
GstNvInfer element structure.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:178
GstNvInferSourceInfo::object_history_map
GstNvInferObjectHistoryMap object_history_map
Map of object tracking ID and the object infer history.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:168
_GstNvInfer::secondary_reinfer_interval
guint secondary_reinfer_interval
Frame interval after which objects should be reinferred on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:261
PROP_OUTPUT_CALLBACK
@ PROP_OUTPUT_CALLBACK
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:75
_GstNvInfer::nvtx_domain
nvtxDomainHandle_t nvtx_domain
NVTX Domain.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:333
PROP_PROCESS_MODE
@ PROP_PROCESS_MODE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:65
PROP_UNIQUE_ID
@ PROP_UNIQUE_ID
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:64
PROP_CROP_OBJECTS_TO_ROI_BOUNDARY
@ PROP_CROP_OBJECTS_TO_ROI_BOUNDARY
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:81
_GstNvInfer::interval
guint interval
Batch interval for full-frame processing.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:257
_GstNvInferObjectHistory::last_inferred_frame_num
gulong last_inferred_frame_num
Number of the frame in the stream when the object was last inferred on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:150
GstNvInferObjectInfo
Holds the cached information of an object.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:123
_GstNvInfer::output_tensor_meta
gboolean output_tensor_meta
Boolean indicating if tensor outputs should be attached as meta on GstBuffers.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:322
_GstNvInfer::crop_objects_to_roi_boundary
gboolean crop_objects_to_roi_boundary
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:336
GstNvInferDetectionFilterParams
Holds the bounding box/object detection filtering parameters per class.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:100
GstNvInferImpl
struct _GstNvInferImpl GstNvInferImpl
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:47
_GstNvInfer::maintain_aspect_ratio
gboolean maintain_aspect_ratio
Boolean indicating if aspect ratio should be maintained when scaling to network resolution.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:243
GstNvInferColorParams::border_color
NvOSD_ColorParams border_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:116
PROP_OPERATE_ON_CLASS_IDS
@ PROP_OPERATE_ON_CLASS_IDS
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:68
gst_nvinfer_get_type
GType gst_nvinfer_get_type(void)
_GstNvInfer::gpu_id
guint gpu_id
ID of the GPU this element uses for conversions / inference.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:231
_GstNvInferClass::parent_class
GstBaseTransformClass parent_class
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:350