NVIDIA DeepStream SDK API Reference

9.1 Release
sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-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_NVDSPREPROCESS_H__
19 #define __GST_NVDSPREPROCESS_H__
20 
21 #include <gst/base/gstbasetransform.h>
22 #include <gst/video/video.h>
23 
24 #include <cuda.h>
25 #include <cuda_runtime.h>
26 #include "nvbufsurface.h"
27 #include "nvbufsurftransform.h"
28 #include "gst-nvquery.h"
29 
31 #include "nvdspreprocess_interface.h"
32 #include "nvdspreprocess_meta.h"
33 
34 #include "nvtx3/nvToolsExt.h"
35 
36 #include <condition_variable>
37 #include <mutex>
38 #include <thread>
39 #include <unordered_map>
40 #include <functional>
41 
42 /* Package and library details required for plugin_init */
43 #define PACKAGE "nvdsvideotemplate"
44 #define VERSION "1.0"
45 #define LICENSE "Proprietary"
46 #define DESCRIPTION "NVIDIA custom preprocessing plugin for integration with DeepStream on DGPU/Jetson"
47 #define BINARY_PACKAGE "NVIDIA DeepStream Preprocessing using custom algorithms for different streams"
48 #define URL "http://nvidia.com/"
49 
50 G_BEGIN_DECLS
51 /* Standard boilerplate stuff */
54 
55 /* Standard boilerplate stuff */
56 #define GST_TYPE_NVDSPREPROCESS (gst_nvdspreprocess_get_type())
57 #define GST_NVDSPREPROCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVDSPREPROCESS,GstNvDsPreProcess))
58 #define GST_NVDSPREPROCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVDSPREPROCESS,GstNvDsPreProcessClass))
59 #define GST_NVDSPREPROCESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_NVDSPREPROCESS, GstNvDsPreProcessClass))
60 #define GST_IS_NVDSPREPROCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVDSPREPROCESS))
61 #define GST_IS_NVDSPREPROCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVDSPREPROCESS))
62 #define GST_NVDSPREPROCESS_CAST(obj) ((GstNvDsPreProcess *)(obj))
63 
65 typedef struct
66 {
68  std::vector<NvDsRoiMeta> roi_vector;
70 
71 typedef struct
72 {
74  std::vector<gint> src_ids;
75 
77  std::vector<gint> operate_on_class_ids;
78 
80  guint num_units;
81 
84 
88 
90  NvBufSurfTransformSyncObj_t sync_obj = NULL;
91 
93  std::unordered_map<gint, GstNvDsPreProcessFrame> framemeta_map;
94 
96  gboolean process_on_roi = 0;
97 
99  gboolean process_on_all_objects = 0;
100 
102  gboolean draw_roi = 0;
103 
106 
112 
115 
117  guint interval = 0;
118  guint interval_counter = 0;
120 
124 {
129 };
130 
135 {
136 public:
138  NvDsPreProcessAcquirerImpl(GstBufferPool *pool);
140  NvDsPreProcessCustomBuf* acquire() override;
142  gboolean release(NvDsPreProcessCustomBuf *) override;
143 
144 private:
145  GstBufferPool *m_gstpool = nullptr;
146 };
147 
151 typedef struct {
165  gboolean tensor_name;
167  gboolean custom_lib_path;
171  gboolean src_ids;
175  gboolean process_on_roi;
179  gboolean roi_params_src;
185  gboolean draw_roi;
187  gboolean roi_color;
197  gboolean interval;
199 
204 {
206  GstBaseTransform base_trans;
207 
209  std::vector <guint64> target_unique_ids;
210 
213 
215  std::vector<GstNvDsPreProcessGroup*> nvdspreprocess_groups;
216 
219 
222 
225 
228 
231 
234 
238 
241  GstBufferPool *scaling_pool;
242 
245 
248 
251 
254 
256  guint scaling_buf_pool_size;
257 
259  guint meta_id;
260 
262  GstBufferPool *tensor_pool;
263 
266 
268  std::unique_ptr <NvDsPreProcessAcquirerImpl> acquire_impl;
269 
272 
275 
278 
281 
284 
287 
290 
294 
297 
300 
302  GThread *output_thread;
303 
305  gboolean stop;
306 
309  guint unique_id;
310 
312  guint64 frame_num;
313 
316 
319 
322 
324  guint gpu_id;
325 
327  gboolean enable;
328 
331 
334 
337 
340 
342  GstFlowReturn last_flow_ret;
343 
346 
349 
351  nvtxDomainHandle_t nvtx_domain;
352 
354  std::unordered_map<gint, gint> *src_to_group_map;
355 
358 };
359 
362 {
364  GstBaseTransformClass parent_class;
365 };
366 
367 GType gst_nvdspreprocess_get_type (void);
368 
369 G_END_DECLS
370 #endif /* __GST_NVDSPREPROCESS_H__ */
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition: sources/includes/nvbufsurftransform.h:35
NvDsPreProcessPropertySet::draw_roi
gboolean draw_roi
for config param : draw_roi
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:185
_GstNvDsPreProcess::target_unique_ids
std::vector< guint64 > target_unique_ids
Target unique ids.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:209
NvDsPreProcessAcquirerImpl
For Acquiring/releasing buffer from buffer pool.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:134
_GstNvDsPreProcess::frame_num
guint64 frame_num
Frame number of the current input buffer.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:312
GstNvDsPreProcessGroup::min_input_object_width
guint min_input_object_width
Input object size-based filtering parameters for object processing mode.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:108
CustomInitParams
Custom Initialization parameter for custom library.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:189
GstNvDsPreProcessGroup::src_ids
std::vector< gint > src_ids
vector of src_ids
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:74
_GstNvDsPreProcess::transform_config_params
NvBufSurfTransformConfigParams transform_config_params
Config params required by NvBufSurfTransform API.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:345
_GstNvDsPreProcess::process_on_frame
gboolean process_on_frame
Boolean indicating if processing on frame or already cropped objects should be processed.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:336
_GstNvDsPreProcess::nvdspreprocess_groups
std::vector< GstNvDsPreProcessGroup * > nvdspreprocess_groups
group information as specified in config file
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:215
GstNvDsPreProcessFrame
per frame roi info
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:65
NvDsPreProcessAcquirerImpl::acquire
NvDsPreProcessCustomBuf * acquire() override
override acquire method in plugin
NvDsPreProcessPropertySet::max_input_object_height
gboolean max_input_object_height
for config param : input-object-max-height
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:195
_GstNvDsPreProcess::stop
gboolean stop
Boolean to signal output thread to stop.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:305
NvBufSurfTransformSyncObj_t
struct NvBufSurfTransformSyncObj * NvBufSurfTransformSyncObj_t
Holds the information about synchronization objects for asynchronous transform/composite APIs.
Definition: sources/includes/nvbufsurftransform.h:301
_GstNvDsPreProcess::unique_id
guint unique_id
Unique ID of the element.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:309
NvDsPreProcessPropertySet::process_on_all_objects
gboolean process_on_all_objects
for config param : process-on-all-objects
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:177
_GstNvDsPreProcess::base_trans
GstBaseTransform base_trans
Gst Base Transform.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:206
NvDsPreProcessPropertySet::processing_width
gboolean processing_width
for config param : processsing-width
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:153
NvDsPreProcessPropertySet::src_ids
gboolean src_ids
for config param : src-ids
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:171
_NvBufSurfaceTransformParams
Holds transform parameters for a transform call.
Definition: sources/includes/nvbufsurftransform.h:196
_GstNvDsPreProcess::config_file_path
gchar * config_file_path
Config file path for nvdspreprocess.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:330
NvDsPreProcessPropertySet::scaling_pool_memory_type
gboolean scaling_pool_memory_type
for config param : scaling-pool-memory-type
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:183
_GstNvDsPreProcess::symmetric_padding
gboolean symmetric_padding
Boolean to indicate symmetric padding.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:289
NvDsPreProcessPropertySet::custom_lib_path
gboolean custom_lib_path
for config param : custom-lib-path
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:167
_GstNvDsPreProcess::operate_on_gie_id
gint operate_on_gie_id
Gie id to process.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:212
NvDsPreProcessCustomBufImpl::memory
GstNvDsPreProcessMemory * memory
Memory corresponding to the gst buffer.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:128
NvBufSurface
Holds information about batched buffers.
Definition: sources/includes/nvbufsurface.h:597
NvDsPreProcessBatch
Holds information about the batch of frames to be inferred.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:252
_GstNvDsPreProcess::custom_tensor_function_name
std::string custom_tensor_function_name
custom tensor function name
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:233
NvDsPreProcessPropertySet::network_input_order
gboolean network_input_order
for config param : network-input-order
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:157
GstNvDsPreProcessFrame::roi_vector
std::vector< NvDsRoiMeta > roi_vector
list of roi vectors per frame
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:68
NvDsPreProcessPropertySet::min_input_object_width
gboolean min_input_object_width
for config param : input-object-min-width
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:189
_GstNvDsPreProcess::preprocess_cond
GCond preprocess_cond
Gcondition for process queue.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:299
_GstNvDsPreProcess::maintain_aspect_ratio
gboolean maintain_aspect_ratio
Boolean to indicate maintain aspect ratio.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:286
NvDsPreProcessPropertySet::process_on_roi
gboolean process_on_roi
for config param : process-on-rois
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:175
NvDsPreProcessPropertySet::interval
gboolean interval
for config param : interval
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:197
_GstNvDsPreProcess::batch_insurf
NvBufSurface batch_insurf
Temporary NvBufSurface for input to batched transformations.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:315
_GstNvDsPreProcess::tensor_params
NvDsPreProcessTensorParams tensor_params
Parameters for tensor preparation.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:274
NvDsPreProcessCustomBufImpl::gstbuf
GstBuffer * gstbuf
Gst Buffer acquired from gst allocator.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:126
_GstNvDsPreProcess::batch_outsurf
NvBufSurface batch_outsurf
Temporary NvBufSurface for output from batched transformations.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:318
_GstNvDsPreProcess::gpu_id
guint gpu_id
GPU ID on which we expect to execute the task.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:324
_GstNvDsPreProcess::custom_tensor_function
std::function< NvDsPreProcessStatus(CustomCtx *, NvDsPreProcessBatch *, NvDsPreProcessCustomBuf *&, CustomTensorParams &, NvDsPreProcessAcquirer *)> custom_tensor_function
wrapper to custom tensor function
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:237
_GstNvDsPreProcess::scaling_pool
GstBufferPool * scaling_pool
Internal buffer pool for memory required for scaling input frames and cropping object.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:241
_GstNvDsPreProcess::meta_id
guint meta_id
meta id for differentiating between multiple tensor meta from same gst buffer
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:259
NvDsPreProcessPropertySet::scaling_pool_interpolation_filter
gboolean scaling_pool_interpolation_filter
for config param : scaling-pool-interpolation-filter
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:181
NvDsPreProcessStatus
NvDsPreProcessStatus
Enum for the status codes returned by NvDsPreProcessImpl.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:54
CustomTransformParams
custom transformation parameter for calling nvbufsurftransform api for scaling and converting the ROI...
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:121
_GstNvDsPreProcessClass
Boiler plate stuff.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:361
NvBufSurfTransform_Compute
NvBufSurfTransform_Compute
Specifies compute devices used by NvBufSurfTransform.
Definition: sources/includes/nvbufsurftransform.h:46
_GstNvDsPreProcess::scaling_pool_interpolation_filter
NvBufSurfTransform_Inter scaling_pool_interpolation_filter
interpolation filter for transformation
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:253
NvDsPreProcessPropertySet::processing_height
gboolean processing_height
for config param : processsing-height
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:155
_GstNvDsPreProcess::preprocess_queue
GQueue * preprocess_queue
Queue to send data to output thread for processing.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:296
NvDsPreProcessPropertySet::network_input_shape
gboolean network_input_shape
for config param : network-input-shape
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:159
_GstNvDsPreProcess::current_batch_num
gulong current_batch_num
Current batch number of the input batch.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:339
_GstNvDsPreProcess::custom_lib_path
gchar * custom_lib_path
Custom Library Name.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:230
_GstNvDsPreProcess::tensor_buf
NvDsPreProcessCustomBuf * tensor_buf
pointer to buffer provided to custom library for tensor preparation
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:271
_GstNvDsPreProcess::enable
gboolean enable
if disabled plugin will work in passthrough mode
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:327
GstNvDsPreProcessGroup::roi_color
NvOSD_ColorParams roi_color
color of roi
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:105
GstNvDsPreProcessGroup::num_units
guint num_units
total rois/full-frames in a group
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:80
_GstNvDsPreProcess::framemeta_map_lock
GMutex framemeta_map_lock
Lock for framemeta_map.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:357
_NvBufSurfTransformConfigParams
Holds configuration parameters for a transform/composite session.
Definition: sources/includes/nvbufsurftransform.h:175
_GstNvDsPreProcess::src_to_group_map
std::unordered_map< gint, gint > * src_to_group_map
Map src-id : preprocess-group-id.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:354
_GstNvDsPreProcess::processing_width
gint processing_width
Resolution width at which roi/full-frames should be processed.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:277
_GstNvDsPreProcess::output_thread
GThread * output_thread
Output thread.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:302
NvDsPreProcessPropertySet::max_input_object_width
gboolean max_input_object_width
for config param : input-object-max-width
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:193
_GstNvDsPreProcess::tensor_buf_pool_size
guint tensor_buf_pool_size
tensor buffer pool size
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:265
_GstNvDsPreProcess::nvtx_domain
nvtxDomainHandle_t nvtx_domain
NVTX Domain.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:351
_GstNvDsPreProcess::property_set
NvDsPreProcessPropertySet property_set
struct denoting properties set by config file
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:218
NvDsPreProcessPropertySet
struct denoting properties set by config file
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:151
CustomTensorParams
Tensor params passed to custom library for tensor preparation.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:178
_GstNvDsPreProcess::scaling_pool_memory_type
NvBufSurfaceMemType scaling_pool_memory_type
scaling pool memory type
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:247
_GstNvDsPreProcess::preprocess_lock
GMutex preprocess_lock
Processing Queue and related synchronization structures.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:293
NvDsPreProcessCustomBuf
Custom Buffer passed to the custom lib for preparing tensor.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:204
NvDsPreProcessAcquirer
class for acquiring and releasing a buffer from tensor pool by custom lib.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:214
GstNvDsPreProcessGroup::max_input_object_width
guint max_input_object_width
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:110
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition: sources/includes/nvbufsurface.h:350
GstNvDsPreProcessGroup::replicated_src_id
guint replicated_src_id
src-id whose rois is used by all the src within the preprocess-group (when src-ids[0]=-1)
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:114
GstNvDsPreProcessGroup::min_input_object_height
guint min_input_object_height
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:109
_GstNvDsPreProcess
Strucuture containing Preprocess info.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:203
_GstNvDsPreProcess::custom_initparams
CustomInitParams custom_initparams
custom lib init params
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:224
_GstNvDsPreProcess::custom_lib_ctx
CustomCtx * custom_lib_ctx
pointer to the custom lib ctx
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:221
NvDsPreProcessAcquirerImpl::release
gboolean release(NvDsPreProcessCustomBuf *) override
override release method in plugin
NvDsPreProcessPropertySet::roi_color
gboolean roi_color
for config param : roi_color
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:187
_GstNvDsPreProcess::tensor_pool
GstBufferPool * tensor_pool
Internal buffer pool for memory required for tensor preparation.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:262
NvDsPreProcessTensorParams
Holds model parameters for tensor preparation.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:134
_GstNvDsPreProcess::scaling_pool_format
NvDsPreProcessFormat scaling_pool_format
scaling pool color format
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:244
_GstNvDsPreProcess::processing_height
gint processing_height
Resolution height at which roi/full-frames should be processed.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:280
NvDsPreProcessCustomBufImpl
Used by plugin to access GstBuffer and GstNvDsPreProcessMemory acquired by Custom Library.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:123
_GstNvDsPreProcessClass::parent_class
GstBaseTransformClass parent_class
gst base transform class
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:364
NvDsPreProcessPropertySet::tensor_name
gboolean tensor_name
for config param : tensor-name
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:165
GstNvDsPreProcessGroup::max_input_object_height
guint max_input_object_height
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:111
GstNvDsPreProcessGroup::operate_on_class_ids
std::vector< gint > operate_on_class_ids
vector of operate_on_class_ids for sgie
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:77
NvDsPreProcessAcquirerImpl::NvDsPreProcessAcquirerImpl
NvDsPreProcessAcquirerImpl(GstBufferPool *pool)
constructor
_GstNvDsPreProcess::max_batch_size
guint max_batch_size
Maximum batch size.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:321
GstNvDsPreProcessGroup::framemeta_map
std::unordered_map< gint, GstNvDsPreProcessFrame > framemeta_map
Map src_id - Preprocess Frame meta.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:93
_NvOSD_ColorParams
Holds the color parameters of the box or text to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:86
GstNvDsPreProcess
typedefG_BEGIN_DECLS struct _GstNvDsPreProcess GstNvDsPreProcess
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:52
NvBufSurfTransform_Inter
NvBufSurfTransform_Inter
Specifies video interpolation methods.
Definition: sources/includes/nvbufsurftransform.h:85
_GstNvDsPreProcess::scaling_pool_compute_hw
NvBufSurfTransform_Compute scaling_pool_compute_hw
compute hw for transformation
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:250
gstnvdspreprocess_allocator.h
_GstNvDsPreProcess::custom_lib_handle
void * custom_lib_handle
custom lib handle
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:227
NvDsPreProcessPropertySet::tensor_data_type
gboolean tensor_data_type
for config param : tensor-data-type
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:163
GstNvDsPreProcessGroup
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:71
GstNvDsPreProcessGroup::custom_transform
std::function< NvDsPreProcessStatus(NvBufSurface *, NvBufSurface *, CustomTransformParams &)> custom_transform
wrapper to custom transformation function
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:87
NvDsPreProcessPropertySet::network_color_format
gboolean network_color_format
for config param : network-color-format
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:161
_GstNvDsPreProcess::last_flow_ret
GstFlowReturn last_flow_ret
GstFlowReturn returned by the latest buffer pad push.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:342
CustomCtx
struct CustomCtx CustomCtx
Context for custom library.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:49
NvDsPreProcessPropertySet::min_input_object_height
gboolean min_input_object_height
for config param : input-object-min-height
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:191
_GstNvDsPreProcess::config_file_parse_successful
gboolean config_file_parse_successful
Config file parsing status.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:333
NvDsPreProcessPropertySet::custom_tensor_function_name
gboolean custom_tensor_function_name
for config param : custom-tensor-function-name
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:169
GstNvDsPreProcessMemory
This file describes the custom memory allocator for the Gstreamer TensorRT plugin.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess_allocator.h:37
_GstNvDsPreProcess::scaling_buf_pool_size
guint scaling_buf_pool_size
Scaling buffer pool size.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:253
_GstNvDsPreProcess::convert_stream
cudaStream_t convert_stream
Cuda Stream to ROI crop, scale and convert.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:283
NvDsPreProcessFormat
NvDsPreProcessFormat
Defines model color formats.
Definition: sources/gst-plugins/gst-nvdspreprocess/include/nvdspreprocess_interface.h:99
NvDsPreProcessPropertySet::roi_params_src
gboolean roi_params_src
for config param : roi-params-src
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:179
NvDsPreProcessPropertySet::operate_on_class_ids
gboolean operate_on_class_ids
for config param : operate-on-class-ids
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:173
GstNvDsPreProcessGroup::custom_transform_function_name
std::string custom_transform_function_name
custom transformation function name
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:83
_GstNvDsPreProcess::transform_params
NvBufSurfTransformParams transform_params
Parameters to use for transforming buffers.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:348
gst_nvdspreprocess_get_type
GType gst_nvdspreprocess_get_type(void)
GstBuffer
struct _GstBuffer GstBuffer
Definition: sources/includes/ds3d/common/idatatype.h:24
_GstNvDsPreProcess::acquire_impl
std::unique_ptr< NvDsPreProcessAcquirerImpl > acquire_impl
Class for acquiring/releasing buffer from tensor pool.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.h:268