NVIDIA DeepStream SDK API Reference

9.0 Release
9.0/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 {
102  guint roiTopOffset;
103  guint roiBottomOffset;
104  guint detectionMinWidth;
105  guint detectionMinHeight;
106  guint detectionMaxWidth;
107  guint detectionMaxHeight;
109 
113 typedef struct
114 {
115  gboolean have_border_color;
116  NvOSD_ColorParams border_color;
117 
118  gboolean have_bg_color;
119  NvOSD_ColorParams bg_color;
121 
123 struct GstNvInferObjectInfo {
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 
143 typedef struct _GstNvInferObjectHistory
144 {
146  gboolean under_inference;
158 
160 typedef std::unordered_map<guint64, std::shared_ptr<GstNvInferObjectHistory>> GstNvInferObjectHistoryMap;
161 
165 typedef struct
166 {
168  GstNvInferObjectHistoryMap object_history_map;
170  gulong last_cleanup_frame_num;
172  gulong last_seen_frame_num;
174 
178 struct _GstNvInfer
179 {
181  GstBaseTransform base_trans;
182 
185 
187  guint max_batch_size;
188 
196  guint unique_id;
197 
201  GstBufferPool *pool;
202 
204  GQueue *process_queue;
205  GMutex process_lock;
206  GCond process_cond;
207  GQueue *input_queue;
208 
210  GThread *output_thread;
211  GThread *input_queue_thread;
212 
214  gboolean stop;
215 
217  gint network_width;
218  gint network_height;
219 
222  gboolean process_full_frame;
223 
225  gchar *config_file_path;
226 
228  GstFlowReturn last_flow_ret;
229 
231  guint gpu_id;
232 
235 
236  gboolean input_tensor_from_meta;
237 
239  gboolean clip_object_outside_roi;
240 
243  gboolean maintain_aspect_ratio;
244 
248  gboolean symmetric_padding;
249 
251  std::vector<GstNvInferDetectionFilterParams> *perClassDetectionFilterParams;
252 
254  std::vector<GstNvInferColorParams> *perClassColorParams;
255 
257  guint interval;
258  guint interval_counter;
259 
262 
268 
270  gint operate_on_gie_id;
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 
279  gulong current_batch_num;
280 
282  gboolean classifier_async_mode;
283 
285  gchar *classifier_type;
286 
289 
291  std::vector<NvDsInferLayerInfo> *layers_info;
292 
294  std::vector<NvDsInferLayerInfo> *output_layers_info;
295 
297  gboolean write_raw_buffers_to_file;
298 
300  guint64 file_write_batch_num;
301 
305  gpointer output_generated_userdata;
306 
309  std::vector<gboolean> *is_prop_set;
310 
313 
316 
319 
322  gboolean output_tensor_meta;
323 
326  gboolean output_instance_mask;
327 
330  GstClockTime untracked_object_warn_pts;
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. */
349 struct _GstNvInferClass {
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
_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
_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: 9.0/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
PROP_PROCESS_MODE
@ PROP_PROCESS_MODE
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:65
_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
gst_nvinfer_signals
guint gst_nvinfer_signals[LAST_SIGNAL]
_GstNvInfer::transform_params
NvBufSurfTransformParams transform_params
Parameters to use for transforming buffers.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:315
_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
_GstNvInfer::max_input_object_width
guint max_input_object_width
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:266
_GstNvInfer::network_width
gint network_width
Network input resolution.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:217
GstNvInferObjectHistory
struct _GstNvInferObjectHistory GstNvInferObjectHistory
Holds the inference information/history for one object based on it's tracking id.
_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
_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
PROP_OUTPUT_WRITE_TO_FILE
@ PROP_OUTPUT_WRITE_TO_FILE
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:74
_GstNvInfer::process_lock
GMutex process_lock
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:205
SIGNAL_MODEL_UPDATED
@ SIGNAL_MODEL_UPDATED
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:91
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
PROP_OPERATE_ON_CLASS_IDS
@ PROP_OPERATE_ON_CLASS_IDS
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:68
_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
PROP_FILTER_OUT_CLASS_IDS
@ PROP_FILTER_OUT_CLASS_IDS
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:69
PROP_GPU_DEVICE_ID
@ PROP_GPU_DEVICE_ID
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:73
_GstNvInfer::input_tensor_from_meta
gboolean input_tensor_from_meta
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:236
LAST_SIGNAL
@ LAST_SIGNAL
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:92
_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
_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
PROP_DYNAMIC_PROPERTIES
@ PROP_DYNAMIC_PROPERTIES
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:83
_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
PROP_LAST
@ PROP_LAST
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:84
_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
_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
PROP_OUTPUT_INSTANCE_MASK
@ PROP_OUTPUT_INSTANCE_MASK
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:78
_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
_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
PROP_STRONGLY_TYPED
@ PROP_STRONGLY_TYPED
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:82
PROP_CLIP_OBJECT_OUTSIDE_ROI
@ PROP_CLIP_OBJECT_OUTSIDE_ROI
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:80
_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
PROP_CONFIG_FILE_PATH
@ PROP_CONFIG_FILE_PATH
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:66
_GstNvInfer::last_map_cleanup_frame_num
gulong last_map_cleanup_frame_num
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:276
_GstNvInfer::output_generated_userdata
gpointer output_generated_userdata
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:305
gst_nvinfer_get_type
GType gst_nvinfer_get_type(void)
_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
_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
PROP_CROP_OBJECTS_TO_ROI_BOUNDARY
@ PROP_CROP_OBJECTS_TO_ROI_BOUNDARY
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:81
_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
_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
PROP_INPUT_TENSOR_META
@ PROP_INPUT_TENSOR_META
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:79
GstNvInferObjectInfo::~GstNvInferObjectInfo
~GstNvInferObjectInfo()
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:131
_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
PROP_OUTPUT_TENSOR_META
@ PROP_OUTPUT_TENSOR_META
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:77
GstNvInferObjectInfo::GstNvInferObjectInfo
GstNvInferObjectInfo()=default
PROP_0
@ PROP_0
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:63
PROP_BATCH_SIZE
@ PROP_BATCH_SIZE
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:71
_NvOSD_ColorParams
Holds the color parameters of the box or text to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:81
_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
PROP_OPERATE_ON_GIE_ID
@ PROP_OPERATE_ON_GIE_ID
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:67
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
_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
_GstNvInfer::nvtx_domain
nvtxDomainHandle_t nvtx_domain
NVTX Domain.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:333
PROP_OUTPUT_CALLBACK
@ PROP_OUTPUT_CALLBACK
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:75
_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
PROP_MODEL_ENGINEFILE
@ PROP_MODEL_ENGINEFILE
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:70
PROP_UNIQUE_ID
@ PROP_UNIQUE_ID
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:64
_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
GstNvInferObjectHistoryMap
std::unordered_map< guint64, std::shared_ptr< GstNvInferObjectHistory > > GstNvInferObjectHistoryMap
Map type for maintaing inference history for objects based on their tracking ids.
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:160
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
PROP_OUTPUT_CALLBACK_USERDATA
@ PROP_OUTPUT_CALLBACK_USERDATA
Definition: 9.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.h:76
_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