NVIDIA DeepStream SDK API Reference

9.1 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: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef __GST_NVINFER_H__
19 #define __GST_NVINFER_H__
20 
21 #include <gst/base/gstbasetransform.h>
22 #include <gst/video/video.h>
23 
24 #include <set>
25 #include <unordered_map>
26 #include <vector>
27 #include <memory>
28 
29 #include "cuda_runtime_api.h"
30 #include "nvbufsurftransform.h"
31 #include <nvdsinfer_context.h>
32 
33 #include "gstnvdsinfer.h"
34 
35 #include "gstnvdsmeta.h"
36 
37 #include "nvtx3/nvToolsExt.h"
38 
39 /* Package and library details required for plugin_init */
40 #define PACKAGE "nvinfer"
41 #define VERSION "1.0"
42 #define LICENSE "Proprietary"
43 #define DESCRIPTION "NVIDIA DeepStreamSDK TensorRT plugin"
44 #define BINARY_PACKAGE "NVIDIA DeepStreamSDK TensorRT plugin"
45 #define URL "http://nvidia.com/"
46 
47 
48 G_BEGIN_DECLS
49 /* Standard GStreamer boilerplate */
50 typedef struct _GstNvInfer GstNvInfer;
52 typedef struct _GstNvInferImpl GstNvInferImpl;
53 
54 /* Standard GStreamer boilerplate */
55 #define GST_TYPE_NVINFER (gst_nvinfer_get_type())
56 #define GST_NVINFER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVINFER,GstNvInfer))
57 #define GST_NVINFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVINFER,GstNvInferClass))
58 #define GST_NVINFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_NVINFER, GstNvInferClass))
59 #define GST_IS_NVINFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVINFER))
60 #define GST_IS_NVINFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVINFER))
61 #define GST_NVINFER_CAST(obj) ((GstNvInfer *)(obj))
62 
66 enum
67 {
90 };
91 
92 /* nvinfer signals */
93 enum {
94  /* Signal emitted to notify app about model update completion with
95  * success/error messages. */
98 };
99 
100 extern guint gst_nvinfer_signals[LAST_SIGNAL];
101 
105 typedef struct
106 {
114 
118 typedef struct
119 {
122 
123  gboolean have_bg_color;
126 
130  std::vector<NvDsInferAttribute> attributes;
132  std::string label;
133 
135  GstNvInferObjectInfo() = default;
137  for (auto &attr : attributes) {
138  if (attr.attributeLabel)
139  free (attr.attributeLabel);
140  }
141  }
142 };
143 
149 {
151  gboolean under_inference;
163 
165 typedef std::unordered_map<guint64, std::shared_ptr<GstNvInferObjectHistory>> GstNvInferObjectHistoryMap;
166 
170 typedef struct
171 {
179 
184 {
186  GstBaseTransform base_trans;
187 
190 
193 
201  guint unique_id;
202 
206  GstBufferPool *pool;
207 
209  GQueue *process_queue;
210  GMutex process_lock;
212  GQueue *input_queue;
213 
215  GThread *output_thread;
217 
219  gboolean stop;
220 
224 
228 
231 
233  GstFlowReturn last_flow_ret;
234 
236  guint gpu_id;
237 
240 
242 
245 
249 
254 
256  std::vector<GstNvInferDetectionFilterParams> *perClassDetectionFilterParams;
257 
259  std::vector<GstNvInferColorParams> *perClassColorParams;
260 
262  guint interval;
264 
267 
273 
276  std::vector<gboolean> *operate_on_class_ids;
277  std::set<uint> *filter_out_class_ids;
278 
280  std::unordered_map<gint, GstNvInferSourceInfo> *source_info;
282 
285 
288 
291 
294 
296  std::vector<NvDsInferLayerInfo> *layers_info;
297 
299  std::vector<NvDsInferLayerInfo> *output_layers_info;
300 
303 
306 
311 
314  std::vector<gboolean> *is_prop_set;
315 
318 
321 
324 
328 
332 
336 
338  nvtxDomainHandle_t nvtx_domain;
339 
340  /*Clip the object bounding-box which lies outside the roi boundary. */
342 
345 
349 
351 };
352 
353 /* GStreamer boilerplate. */
355  GstBaseTransformClass parent_class;
356 
362  void (*model_updated) (GstNvInfer *, gint err, const gchar *cfg_file);
363 };
364 
365 GType gst_nvinfer_get_type (void);
366 
367 G_END_DECLS
368 
369 #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:175
_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:269
GstNvInferColorParams::have_bg_color
gboolean have_bg_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:123
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:145
_GstNvInfer::perClassDetectionFilterParams
std::vector< GstNvInferDetectionFilterParams > * perClassDetectionFilterParams
Vector for per-class detection filtering parameters.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:256
_GstNvInfer::perClassColorParams
std::vector< GstNvInferColorParams > * perClassColorParams
Vector for per-class color parameters.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:259
_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:227
_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:331
_GstNvInfer::operate_on_class_ids
std::vector< gboolean > * operate_on_class_ids
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:276
_GstNvInfer::process_cond
GCond process_cond
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:211
_GstNvInferObjectHistory
Holds the inference information/history for one object based on it's tracking id.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:148
_GstNvInfer::classifier_type
gchar * classifier_type
String containing the type of classifier.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:290
PROP_INTERVAL
@ PROP_INTERVAL
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:77
_GstNvInfer::impl
GstNvInferImpl * impl
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:350
_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:348
GstNvInferDetectionFilterParams::detectionMaxHeight
guint detectionMaxHeight
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:112
_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:362
_GstNvInfer::base_trans
GstBaseTransform base_trans
Should be the first member when extending from GstBaseTransform.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:186
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:320
PROP_OUTPUT_CALLBACK_USERDATA
@ PROP_OUTPUT_CALLBACK_USERDATA
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:81
_GstNvInfer::network_info
NvDsInferNetworkInfo network_info
Network input information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:293
_GstNvInfer::convertStream
cudaStream_t convertStream
Cuda Stream to launch npp operations on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:239
GstNvInferColorParams
Holds the bounding box coloring information for one class;.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:118
PROP_GPU_DEVICE_ID
@ PROP_GPU_DEVICE_ID
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:78
PROP_LAST
@ PROP_LAST
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:89
_GstNvInfer::max_input_object_width
guint max_input_object_width
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:271
PROP_0
@ PROP_0
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:68
PROP_OUTPUT_WRITE_TO_FILE
@ PROP_OUTPUT_WRITE_TO_FILE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:79
_GstNvInfer::network_width
gint network_width
Network input resolution.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:222
_GstNvInferObjectHistory::under_inference
gboolean under_inference
Boolean indicating if the object is already being inferred on.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:151
_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:230
_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:189
PROP_DYNAMIC_PROPERTIES
@ PROP_DYNAMIC_PROPERTIES
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:88
_GstNvInfer::output_layers_info
std::vector< NvDsInferLayerInfo > * output_layers_info
Vector of bound output layers information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:299
LAST_SIGNAL
@ LAST_SIGNAL
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:97
_GstNvInfer::process_lock
GMutex process_lock
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:210
GstNvInferObjectInfo::label
std::string label
Cached string label.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:132
_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:302
_GstNvInfer::transform_config_params
NvBufSurfTransformConfigParams transform_config_params
Config params required by NvBufSurfTransform API.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:317
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:165
_GstNvInfer::current_batch_num
gulong current_batch_num
Current batch number of the input batch.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:284
GstNvInferDetectionFilterParams::detectionMinHeight
guint detectionMinHeight
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:110
_GstNvInfer::input_tensor_from_meta
gboolean input_tensor_from_meta
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:241
PROP_CLIP_OBJECT_OUTSIDE_ROI
@ PROP_CLIP_OBJECT_OUTSIDE_ROI
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:85
_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:244
_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:76
_GstNvInfer::input_queue
GQueue * input_queue
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:212
_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:309
GstNvInferColorParams::bg_color
NvOSD_ColorParams bg_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:124
_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:153
_GstNvInferClass
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:354
_GstNvInfer::process_queue
GQueue * process_queue
Processing Queue and related synchronization structures.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:209
PROP_OPERATE_ON_GIE_ID
@ PROP_OPERATE_ON_GIE_ID
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:72
GstNvInferDetectionFilterParams::roiTopOffset
guint roiTopOffset
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:107
PROP_OUTPUT_TENSOR_META
@ PROP_OUTPUT_TENSOR_META
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:82
_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:275
_GstNvInfer::source_info
std::unordered_map< gint, GstNvInferSourceInfo > * source_info
Per source information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:280
NvDsInferNetworkInfo
Holds information about the model network.
Definition: sources/includes/nvdsinfer.h:119
_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:287
GstNvInferSourceInfo::last_seen_frame_num
gulong last_seen_frame_num
Frame number of the frame which .
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:177
_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:159
_GstNvInfer::max_batch_size
guint max_batch_size
Maximum batch size.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:192
_GstNvInfer::interval_counter
guint interval_counter
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:263
_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:206
_GstNvInfer::last_map_cleanup_frame_num
gulong last_map_cleanup_frame_num
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:281
PROP_FILTER_OUT_CLASS_IDS
@ PROP_FILTER_OUT_CLASS_IDS
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:74
_GstNvInfer::output_generated_userdata
gpointer output_generated_userdata
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:310
GstNvInferDetectionFilterParams::detectionMinWidth
guint detectionMinWidth
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:109
_GstNvInfer::input_queue_thread
GThread * input_queue_thread
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:216
_GstNvInfer::layers_info
std::vector< NvDsInferLayerInfo > * layers_info
Vector of bound layers information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:296
PROP_OUTPUT_INSTANCE_MASK
@ PROP_OUTPUT_INSTANCE_MASK
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:83
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:335
_GstNvInfer::unique_id
guint unique_id
Unique ID of the element.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:201
_GstNvInfer::network_height
gint network_height
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:223
_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:305
PROP_INPUT_TENSOR_META
@ PROP_INPUT_TENSOR_META
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:84
_GstNvInfer::last_flow_ret
GstFlowReturn last_flow_ret
GstFlowReturn returned by the latest buffer pad push.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:233
GstNvInferObjectInfo::attributes
std::vector< NvDsInferAttribute > attributes
Vector of cached classification attributes.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:130
GstNvInferSourceInfo
Holds source-specific information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:170
_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:314
_GstNvInfer::output_thread
GThread * output_thread
Output thread.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:215
SIGNAL_MODEL_UPDATED
@ SIGNAL_MODEL_UPDATED
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:96
PROP_STRONGLY_TYPED
@ PROP_STRONGLY_TYPED
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:87
GstNvInferObjectInfo::~GstNvInferObjectInfo
~GstNvInferObjectInfo()
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:136
GstNvInferDetectionFilterParams::detectionMaxWidth
guint detectionMaxWidth
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:111
_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:344
_GstNvInfer::min_input_object_height
guint min_input_object_height
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:270
GstNvInferColorParams::have_border_color
gboolean have_border_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:120
GstNvInferObjectInfo::GstNvInferObjectInfo
GstNvInferObjectInfo()=default
PROP_CONFIG_FILE_PATH
@ PROP_CONFIG_FILE_PATH
Definition: 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:86
PROP_MODEL_ENGINEFILE
@ PROP_MODEL_ENGINEFILE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:75
GstNvInferDetectionFilterParams::roiBottomOffset
guint roiBottomOffset
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:108
_GstNvInfer::tmp_surf
NvBufSurface tmp_surf
Temporary NvBufSurface for batched transformations.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:323
GstNvInfer
typedefG_BEGIN_DECLS struct _GstNvInfer GstNvInfer
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:50
_GstNvInfer::stop
gboolean stop
Boolean to signal output thread to stop.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:219
_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:253
_GstNvInfer::filter_out_class_ids
std::set< uint > * filter_out_class_ids
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:277
_GstNvInfer::max_input_object_height
guint max_input_object_height
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:272
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:63
_GstNvInferObjectHistory::cached_info
GstNvInferObjectInfo cached_info
Cached object information.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:161
_GstNvInfer
GstNvInfer element structure.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:183
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:173
_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:266
PROP_OUTPUT_CALLBACK
@ PROP_OUTPUT_CALLBACK
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:80
_GstNvInfer::nvtx_domain
nvtxDomainHandle_t nvtx_domain
NVTX Domain.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:338
PROP_PROCESS_MODE
@ PROP_PROCESS_MODE
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:70
PROP_UNIQUE_ID
@ PROP_UNIQUE_ID
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:69
PROP_CROP_OBJECTS_TO_ROI_BOUNDARY
@ PROP_CROP_OBJECTS_TO_ROI_BOUNDARY
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:86
_GstNvInfer::interval
guint interval
Batch interval for full-frame processing.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:262
_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:155
GstNvInferObjectInfo
Holds the cached information of an object.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:128
_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:327
_GstNvInfer::crop_objects_to_roi_boundary
gboolean crop_objects_to_roi_boundary
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:341
GstNvInferDetectionFilterParams
Holds the bounding box/object detection filtering parameters per class.
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:105
GstNvInferImpl
struct _GstNvInferImpl GstNvInferImpl
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:52
_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:248
GstNvInferColorParams::border_color
NvOSD_ColorParams border_color
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:121
PROP_OPERATE_ON_CLASS_IDS
@ PROP_OPERATE_ON_CLASS_IDS
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:73
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:236
_GstNvInferClass::parent_class
GstBaseTransformClass parent_class
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:355