NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024-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 
26 #ifndef __GST_NVDSVISIONENCODER_H__
27 #define __GST_NVDSVISIONENCODER_H__
28 
29 #include <gst/gst.h>
30 #include <gst/base/gstbasetransform.h>
31 #include <gst/video/video.h>
32 
33 #include "nvbufsurface.h"
34 #include "nvbufsurftransform.h"
35 #include "nvdsmeta.h"
36 #include "gstnvdsmeta.h"
37 #include "nvds_tracker_meta.h"
38 #include "nvds_opticalflow_meta.h"
39 
40 #ifdef ENABLE_INSTRUMENTATION
41 #include <sys/time.h>
42 #endif
43 
44 #define DEFAULT_CACHE_REFRESH_INTERVAL 0
45 #define DEFAULT_CACHE_MAX_SIZE 1000
46 
47 /* OFA-based embedding prediction defaults */
48 #define DEFAULT_OFA_MOTION_THRESHOLD 8.0f
49 #define DEFAULT_OFA_HIGH_MOTION_THRESHOLD 25.0f
50 #define DEFAULT_OFA_PREDICT_ENABLED FALSE
51 #define OFA_MOTION_FEATURE_DIM 6
52 
53 /* DLA two-tier inference defaults */
54 #define DEFAULT_DLA_VALIDATOR_ENABLED FALSE
55 #define DEFAULT_DLA_CORE -1
56 #define DEFAULT_DLA_CHANGE_THRESHOLD 0.3f
57 
62 typedef struct {
63  float *embedding;
64  guint embedding_dim;
65  guint64 last_inferred_frame;
66 
67  /* Per-object motion history for OFA prediction */
68  float last_motion_magnitude;
69  float last_flow_dx;
70  float last_flow_dy;
71  guint64 accumulated_skip_frames;
73 
78 typedef struct {
79  void *trt_engine; /* TensorRT engine handle (ICudaEngine*) */
80  void *trt_context; /* TensorRT execution context (IExecutionContext*) */
81  float *d_input; /* Device input buffer for validator */
82  float *d_output; /* Device output: change probability [0,1] */
83  guint input_w;
84  guint input_h;
85  gboolean is_dla; /* TRUE if running on DLA, FALSE for GPU fallback */
86  gint dla_core;
88 
89 G_BEGIN_DECLS
90 
91 #define GST_TYPE_NVDSVISIONENCODER (gst_nvdsvisionencoder_get_type())
92 #define GST_NVDSVISIONENCODER(obj) \
93  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVDSVISIONENCODER,GstNvDsVisionEncoder))
94 #define GST_NVDSVISIONENCODER_CLASS(klass) \
95  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVDSVISIONENCODER,GstNvDsVisionEncoderClass))
96 #define GST_IS_NVDSVISIONENCODER(obj) \
97  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVDSVISIONENCODER))
98 #define GST_IS_NVDSVISIONENCODER_CLASS(klass) \
99  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVDSVISIONENCODER))
100 
103 
107 typedef enum {
111 
112 /* Runtime model update (OTA), as gst-nvinfer does it: setting the property
113  * queues the path, a loader thread builds a second handle while the live one
114  * serves, and the streaming thread swaps them.
115  * Prebuilt engine only, and same family only -- crossing families invalidates
116  * every embedding already emitted, so it is refused. */
117 typedef enum {
118  NVDS_VISION_ENCODER_LOAD_STOP = 0, // sentinel: stop the loader thread
119  NVDS_VISION_ENCODER_LOAD_FROM_ENGINE, // tensorrt-engine=<path.plan>
121 
122 /* A queued request: a full snapshot, so the loader never reads element config
123  * a property setter could free underneath it. */
124 typedef struct {
126  gchar *path; // the engine file being loaded
127  gchar *triton_url;
128  gchar *triton_model;
129  guint batch_size;
130  guint gpu_id;
132 
133 /* A built, validated encoder awaiting commit. Owns @client until it goes live
134  * or is discarded. */
135 typedef struct {
136  void *client;
137  guint input_width;
138  guint input_height;
139  guint embedding_dim;
140  gchar *path;
141  guint max_batch_size; // engine capacity, validated before commit
142  guint gpu_id; // device this client's memory belongs to
145 
149 struct _GstNvDsVisionEncoder {
150  GstBaseTransform base_trans;
151 
152  /* Configuration properties */
153  gboolean enable;
155  gchar *backend_str; // String version for property
156  gchar *triton_url;
157  gchar *triton_model;
158  gchar *model_variant; // For compatibility with Python plugin config
159  gchar *tensorrt_engine;
160  gchar *onnx_model; // Path to ONNX model for engine building
161  guint batch_size; // TensorRT batch size (for engine building/selection)
162  guint min_crop_size;
163  gboolean verbose;
164  guint gpu_id;
165  gchar *device; // For compatibility (cuda/cpu)
166  guint skip_interval; // Frame skip interval: 0=none, 1=every other, 2=every 3rd, etc.
167  gchar *embedding_classes; // Semicolon-separated list of classes to generate embeddings for (NULL = all classes)
168  gboolean query_only; // Init model but skip per-frame inference; REST queries still work
169 
170  /* Runtime state */
171  guint frame_count;
172  gchar **allowed_classes; // Parsed array of allowed class names
173  guint num_allowed_classes; // Number of allowed classes
174  gboolean is_initialized;
175 
176  /* Triton client handle (C++ object wrapped as void*) */
177  void *triton_client;
178 
179  /* Serializes triton_client across streaming, REST query and the OTA commit */
180  GMutex infer_mutex;
181 
182  /* Runtime model update (OTA). Lock order: replacement_lock -> infer_mutex */
183  GMutex config_lock; // guards the model config strings above
184  GMutex replacement_lock; // guards next_replacement / the flags below
185  GThread *model_load_thread; // background engine deserialize
186  GAsyncQueue *pending_models; // NvDsVisionEncoderLoadRequest*
187  gboolean loader_running; // FALSE once stop() begins
188  gboolean update_in_progress; // an update is in flight: reject new ones
189  NvDsVisionEncoderReplacement *next_replacement; // built, validated, not live
190  gchar *current_model_path; // what is serving now
191 
192  /* CUDA stream for async operations */
193  void *cuda_stream; // cudaStream_t
194 
195  /* Model info */
196  guint input_width;
197  guint input_height;
198  guint embedding_dim;
199  gboolean use_siglip_norm; // resolved at start(); immutable (no cross-family update)
200 
201  /* Pre-allocated buffers for preprocessing (like nvinfer SGIE) */
202  guint max_batch_size; // Maximum number of objects per transform call
203  NvBufSurfaceParams *prealloc_surf_list; // Pre-allocated surface list for src_batch
204  NvBufSurfTransformRect *prealloc_src_rect; // Pre-allocated source rectangles
205  NvBufSurfTransformRect *prealloc_dst_rect; // Pre-allocated destination rectangles
206  NvBufSurface *prealloc_output_surface; // Pre-allocated output surface (reused across calls)
207  float *d_preprocessed_pool; // Pre-allocated device tensor (max_batch_size) for GPU path
208  size_t d_preprocessed_pool_bytes; // Allocated size in bytes
209  float *embeddings_buffer; // Pre-allocated host buffer for inference output (max_batch_size * embedding_dim)
210 
211  /* Smart inference: cache embeddings by tracker object_id to avoid redundant inference */
212  gboolean smart_infer;
214  guint cache_max_size;
215  GHashTable *embedding_cache; /* guint64 object_id -> CachedEmbedding* */
216  guint64 global_frame_counter; /* Monotonic frame counter for cache eviction */
217 
218  /*
219  * OFA-based temporal embedding prediction.
220  * Uses hardware optical flow motion vectors from upstream nvof element to predict
221  * whether a cached embedding is still valid, and to transform stale embeddings
222  * using motion-derived features instead of running full inference.
223  */
224  gboolean ofa_predict_enabled;
225  gfloat ofa_motion_threshold; /* Below this: embedding is stable, skip inference */
226  gfloat ofa_high_motion_threshold; /* Above this: force re-inference (drastic change) */
227  guint64 ofa_predictions_total; /* Stats: total motion-predicted embeddings */
228  guint64 ofa_reinfers_total; /* Stats: total motion-triggered re-inferences */
229 
230  /*
231  * DLA two-tier inference.
232  * A lightweight "appearance change detector" runs on DLA (or GPU fallback) to decide
233  * whether the full vision encoder needs to re-run for a tracked object.
234  * Tier 1 (DLA/GPU): small binary classifier: "appearance changed?" on 32x32 crop
235  * Tier 2 (GPU): full vision encoder on cache-miss + validator-flagged objects
236  */
237  gboolean dla_validator_enabled;
238  gchar *dla_validator_engine; /* Path to TensorRT engine for the validator */
239  gint dla_core; /* DLA core index (-1 = GPU fallback) */
240  gfloat dla_change_threshold; /* Probability threshold for "appearance changed" */
242  guint64 dla_validations_total;
243  guint64 dla_changes_detected;
244 
245 #ifdef ENABLE_INSTRUMENTATION
246  /* Performance counters */
247  GstClockTime total_process_time;
248  guint total_objects_processed;
249 
250  /* Periodic performance reporting (every PERF_WINDOW_SEC seconds) */
251  struct timeval perf_window_start;
252  guint perf_window_objects;
253  guint perf_window_batches;
254  gboolean perf_window_started;
255 
256  /* Per-phase cumulative microseconds within current window */
257  guint64 perf_phase_preproc_us; /* NvBufSurfTransform crop+resize */
258  guint64 perf_phase_tensor_us; /* RGB surface -> CHW float tensor */
259  guint64 perf_phase_infer_us; /* TRT inference + D2H memcpy */
260  guint64 perf_phase_post_us; /* Attach embedding metadata */
261 #endif
262 };
263 
268  GstBaseTransformClass parent_class;
269 
270  /* "model-updated": same signature as gst-nvinfer's, (gint status, gchar *path),
271  * status 0 = OK, so nvmodelmux can connect one callback to either element. */
272  void (*model_updated) (GstNvDsVisionEncoder *encoder, gint status,
273  gchar *path);
274 };
275 
276 GType gst_nvdsvisionencoder_get_type (void);
277 
278 G_END_DECLS
279 
280 #endif /* __GST_NVDSVISIONENCODER_H__ */
_GstNvDsVisionEncoder::ofa_high_motion_threshold
gfloat ofa_high_motion_threshold
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:226
_GstNvDsVisionEncoder::ofa_predict_enabled
gboolean ofa_predict_enabled
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:224
CachedEmbedding
Cached embedding entry for smart inference.
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:62
_GstNvDsVisionEncoder::onnx_model
gchar * onnx_model
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:160
_GstNvDsVisionEncoder::backend_str
gchar * backend_str
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:155
_GstNvDsVisionEncoder::replacement_lock
GMutex replacement_lock
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:184
_GstNvDsVisionEncoder::prealloc_surf_list
NvBufSurfaceParams * prealloc_surf_list
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:203
_GstNvDsVisionEncoder::global_frame_counter
guint64 global_frame_counter
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:216
_GstNvDsVisionEncoder::dla_ctx
DlaValidatorCtx * dla_ctx
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:241
_GstNvDsVisionEncoder::model_variant
gchar * model_variant
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:158
NvBufSurface
Holds information about batched buffers.
Definition: includes/nvbufsurface.h:602
NVDS_VISION_ENCODER_BACKEND_TRITON
@ NVDS_VISION_ENCODER_BACKEND_TRITON
Definition: 9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:108
_GstNvDsVisionEncoder::smart_infer
gboolean smart_infer
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:212
_GstNvDsVisionEncoder::infer_mutex
GMutex infer_mutex
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:180
NVDS_VISION_ENCODER_LOAD_STOP
@ NVDS_VISION_ENCODER_LOAD_STOP
Definition: 9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:118
NvDsVisionEncoderBackend
NvDsVisionEncoderBackend
Encoder backend type.
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:107
_GstNvDsVisionEncoder::update_in_progress
gboolean update_in_progress
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:188
_GstNvDsVisionEncoder::triton_url
gchar * triton_url
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:156
_GstNvDsVisionEncoder::is_initialized
gboolean is_initialized
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:174
_GstNvDsVisionEncoder::dla_validations_total
guint64 dla_validations_total
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:242
NvBufSurfTransformRect
Holds the coordinates of a rectangle.
Definition: includes/nvbufsurftransform.h:163
_GstNvDsVisionEncoder::input_width
guint input_width
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:196
_GstNvDsVisionEncoder::backend
NvDsVisionEncoderBackend backend
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:154
_GstNvDsVisionEncoder
GstNvDsVisionEncoder structure.
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:149
_GstNvDsVisionEncoder::max_batch_size
guint max_batch_size
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:202
_GstNvDsVisionEncoder::enable
gboolean enable
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:153
_GstNvDsVisionEncoder::device
gchar * device
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:165
_GstNvDsVisionEncoder::cache_max_size
guint cache_max_size
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:214
_GstNvDsVisionEncoder::embedding_cache
GHashTable * embedding_cache
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:215
NVDS_VISION_ENCODER_LOAD_FROM_ENGINE
@ NVDS_VISION_ENCODER_LOAD_FROM_ENGINE
Definition: 9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:119
_GstNvDsVisionEncoder::d_preprocessed_pool_bytes
size_t d_preprocessed_pool_bytes
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:208
_GstNvDsVisionEncoder::allowed_classes
gchar ** allowed_classes
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:172
NvBufSurfaceParams
Hold the information of single buffer in the batch.
Definition: includes/nvbufsurface.h:567
_GstNvDsVisionEncoder::triton_client
void * triton_client
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:177
NvDsVisionEncoderModelLoadType
NvDsVisionEncoderModelLoadType
Definition: 9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:117
NvDsVisionEncoderBackend
NvDsVisionEncoderBackend
Encoder backend type.
Definition: 9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:107
_GstNvDsVisionEncoder::gpu_id
guint gpu_id
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:164
_GstNvDsVisionEncoder::dla_change_threshold
gfloat dla_change_threshold
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:240
DlaValidatorCtx
Lightweight appearance change detector state.
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:78
_GstNvDsVisionEncoderClass::model_updated
void(* model_updated)(GstNvDsVisionEncoder *encoder, gint status, gchar *path)
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:272
_GstNvDsVisionEncoder::current_model_path
gchar * current_model_path
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:190
_GstNvDsVisionEncoder::input_height
guint input_height
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:197
_GstNvDsVisionEncoderClass::parent_class
GstBaseTransformClass parent_class
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:268
NvDsVisionEncoderLoadRequest
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:124
_GstNvDsVisionEncoder::batch_size
guint batch_size
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:161
_GstNvDsVisionEncoder::cache_refresh_interval
guint cache_refresh_interval
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:213
_GstNvDsVisionEncoder::use_siglip_norm
gboolean use_siglip_norm
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:199
_GstNvDsVisionEncoder::d_preprocessed_pool
float * d_preprocessed_pool
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:207
_GstNvDsVisionEncoder::num_allowed_classes
guint num_allowed_classes
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:173
_GstNvDsVisionEncoder::dla_core
gint dla_core
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:239
_GstNvDsVisionEncoder::embeddings_buffer
float * embeddings_buffer
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:209
_GstNvDsVisionEncoder::dla_validator_engine
gchar * dla_validator_engine
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:238
_GstNvDsVisionEncoder::verbose
gboolean verbose
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:163
_GstNvDsVisionEncoder::ofa_reinfers_total
guint64 ofa_reinfers_total
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:228
_GstNvDsVisionEncoder::prealloc_output_surface
NvBufSurface * prealloc_output_surface
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:206
_GstNvDsVisionEncoder::query_only
gboolean query_only
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:168
NvDsVisionEncoderReplacement
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:135
_GstNvDsVisionEncoder::skip_interval
guint skip_interval
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:166
_GstNvDsVisionEncoder::embedding_dim
guint embedding_dim
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:198
_GstNvDsVisionEncoder::dla_changes_detected
guint64 dla_changes_detected
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:243
_GstNvDsVisionEncoder::cuda_stream
void * cuda_stream
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:193
_GstNvDsVisionEncoder::frame_count
guint frame_count
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:171
_GstNvDsVisionEncoder::base_trans
GstBaseTransform base_trans
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:150
_GstNvDsVisionEncoder::embedding_classes
gchar * embedding_classes
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:167
_GstNvDsVisionEncoder::prealloc_src_rect
NvBufSurfTransformRect * prealloc_src_rect
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:204
NVDS_VISION_ENCODER_BACKEND_TENSORRT
@ NVDS_VISION_ENCODER_BACKEND_TENSORRT
Definition: 9.2/sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:109
_GstNvDsVisionEncoder::config_lock
GMutex config_lock
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:183
_GstNvDsVisionEncoder::triton_model
gchar * triton_model
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:157
_GstNvDsVisionEncoder::loader_running
gboolean loader_running
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:187
_GstNvDsVisionEncoder::min_crop_size
guint min_crop_size
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:162
_GstNvDsVisionEncoder::dla_validator_enabled
gboolean dla_validator_enabled
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:237
_GstNvDsVisionEncoder::model_load_thread
GThread * model_load_thread
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:185
gst_nvdsvisionencoder_get_type
GType gst_nvdsvisionencoder_get_type(void)
_GstNvDsVisionEncoder::next_replacement
NvDsVisionEncoderReplacement * next_replacement
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:189
_GstNvDsVisionEncoderClass
GstNvDsVisionEncoderClass structure.
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:267
_GstNvDsVisionEncoder::ofa_predictions_total
guint64 ofa_predictions_total
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:227
NvDsVisionEncoderModelLoadType
NvDsVisionEncoderModelLoadType
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:117
_GstNvDsVisionEncoder::prealloc_dst_rect
NvBufSurfTransformRect * prealloc_dst_rect
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:205
_GstNvDsVisionEncoder::tensorrt_engine
gchar * tensorrt_engine
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:159
_GstNvDsVisionEncoder::pending_models
GAsyncQueue * pending_models
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:186
_GstNvDsVisionEncoder::ofa_motion_threshold
gfloat ofa_motion_threshold
Definition: sources/gst-plugins/gst-nvdsvisionencoder-c/gstnvdsvisionencoder.h:225