NVIDIA DeepStream SDK API Reference

9.0 Release
9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #ifndef __POST_PROCESS_STRUCT_HPP__
25 #define __POST_PROCESS_STRUCT_HPP__
26 
27 #include <iostream>
28 #include <vector>
29 #include <memory>
30 #include "gstnvdsinfer.h"
31 
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #define _PATH_MAX 4096
38 #define _MAX_STR_LENGTH 1024
39 
43 #define getDimsCHWFromDims(dimsCHW,dims) \
44  do { \
45  (dimsCHW).c = (dims).d[0]; \
46  (dimsCHW).h = (dims).d[1]; \
47  (dimsCHW).w = (dims).d[2]; \
48  } while (0)
49 
50 #define getDimsHWCFromDims(dimsCHW,dims) \
51  do { \
52  (dimsCHW).h = (dims).d[0]; \
53  (dimsCHW).w = (dims).d[1]; \
54  (dimsCHW).c = (dims).d[2]; \
55  } while (0)
56 
57 #define DIVIDE_AND_ROUND_UP(a, b) ((a + b - 1) / b)
58 
59 inline const char *safeStr(const std::string &str)
60 {
61  return str.c_str();
62 }
63 
64 inline bool string_empty(const char* str) {
65  return !str || strlen(str) == 0;
66 }
67 
68 constexpr float DEFAULT_PRE_CLUSTER_THRESHOLD = 0.2;
69 constexpr float DEFAULT_POST_CLUSTER_THRESHOLD = 0.0;
70 constexpr float DEFAULT_EPS = 0.0;
71 constexpr int DEFAULT_GROUP_THRESHOLD = 0;
72 constexpr int DEFAULT_MIN_BOXES = 0;
73 constexpr float DEFAULT_DBSCAN_MIN_SCORE = 0;
74 constexpr float DEFAULT_NMS_IOU_THRESHOLD = 0.3;
75 constexpr int DEFAULT_TOP_K = -1;
76 constexpr bool ATHR_ENABLED = true;
77 constexpr float ATHR_THRESHOLD = 60.0;
78 constexpr int PROCESS_MODEL_FULL_FRAME = 1;
79 constexpr int PROCESS_MODEL_OBJECTS = 2;
80 
84 typedef enum {
103 
104 
105 typedef enum {
111 
112 #define printMsg(level, tag_str, fmt, ...) \
113  do { \
114  char* baseName = strrchr((char*)__FILE__, '/'); \
115  baseName = (baseName) ? (baseName + 1) : (char*)__FILE__; \
116  char logMsgBuffer[5 * _MAX_STR_LENGTH + 1]; \
117  snprintf(logMsgBuffer, 5 * _MAX_STR_LENGTH, \
118  tag_str " NvDsPostProcess::%s() <%s:%d> : " fmt, \
119  __func__, baseName, __LINE__, ##__VA_ARGS__); \
120  fprintf(stderr, "%s\n", logMsgBuffer); \
121  } while (0)
122 
123 #define printError(fmt, ...) \
124  do { \
125  printMsg (NVDSINFER_LOG_ERROR, "Error in", fmt, ##__VA_ARGS__); \
126  } while (0)
127 
128 #define printWarning(fmt, ...) \
129  do { \
130  printMsg (NVDSINFER_LOG_WARNING, "Warning from", fmt, ##__VA_ARGS__); \
131  } while (0)
132 
133 #define printInfo(fmt, ...) \
134  do { \
135  printMsg (NVDSINFER_LOG_INFO, "Info from", fmt, ##__VA_ARGS__); \
136  } while (0)
137 
138 #define printDebug(fmt, ...) \
139  do { \
140  printMsg (NVDSINFER_LOG_DEBUG, "DEBUG", fmt, ##__VA_ARGS__); \
141  } while (0)
142 
143 typedef struct
144 {
145  unsigned int roiTopOffset;
146  unsigned int roiBottomOffset;
147  unsigned int detectionMinWidth;
148  unsigned int detectionMinHeight;
149  unsigned int detectionMaxWidth;
150  unsigned int detectionMaxHeight;
152 
156 typedef struct
157 {
158  int have_border_color;
159  NvOSD_ColorParams border_color;
160 
161  int have_bg_color;
162  NvOSD_ColorParams bg_color;
164 
165 
169 typedef enum
170 {
177 
181 typedef enum {
186 
187 
191 typedef enum
192 {
214 
218 typedef struct
219 {
222  float preClusterThreshold;
223 
226  float postClusterThreshold;
227 
230  float eps;
233  int minBoxes;
236  int groupThreshold;
240  float minScore;
242  float nmsIOUThreshold;
245  int topK;
246 
247  unsigned int roiTopOffset;
248  unsigned int roiBottomOffset;
249  unsigned int detectionMinWidth;
250  unsigned int detectionMinHeight;
251  unsigned int detectionMaxWidth;
252  unsigned int detectionMaxHeight;
253  NvDsPostProcessColorParams color_params;
254 
256 
257 
258 
263 {
266  unsigned int uniqueID;
267 
271  unsigned int maxBatchSize;
272 
277 
278 
281 
283  unsigned int numDetectedClasses;
284 
288 
291  float classifierThreshold;
292 
293  float segmentationThreshold;
294 
296  char ** outputLayerNames;
298  unsigned int numOutputLayers;
299 
301  unsigned int gpuID;
302 
305 
308 
312 
319 
322 
323  char *classifier_type;
325  gboolean preprocessor_support = FALSE;
327 
331 typedef struct
332 {
334  unsigned int classId;
335 
337  float left;
339  float top;
341  float width;
343  float height;
344 
347  float detectionConfidence;
349 
353 typedef struct
354 {
358  unsigned int attributeIndex;
360  unsigned int attributeValue;
362  float attributeConfidence;
366  char *attributeLabel;
368 
369 
374 
378 typedef struct
379 {
381  unsigned int classId;
382 
384  float left;
386  float top;
388  float width;
390  float height;
391 
394  float detectionConfidence;
395 
397  float *mask;
399  unsigned int mask_width;
401  unsigned int mask_height;
403  unsigned int mask_size;
405 
409 typedef struct
410 {
412  float left;
414  float top;
416  float width;
418  float height;
420  int classIndex;
422  char *label;
423  /* confidence score of the detected object. */
424  float confidence;
425  /* Instance mask information for the object. */
426  float *mask;
428  unsigned int mask_width;
430  unsigned int mask_height;
432  unsigned int mask_size;
434 
439 typedef struct
440 {
442  NvDsPostProcessObject *objects;
444  unsigned int numObjects;
446 
451 typedef struct
452 {
456  NvDsPostProcessAttribute *attributes;
458  unsigned int numAttributes;
461  char *label;
463 
467 typedef struct
468 {
470  unsigned int width;
472  unsigned int height;
474  unsigned int classes;
477  int *class_map;
481  float *class_probability_map;
483 
484 typedef struct NvDsPoint3f {
485  float x;
486  float y;
487  float z;
488 } NvDsPoint3f;
489 
493 typedef struct
494 {
496  unsigned int width;
498  unsigned int height;
499 
500  unsigned int num_key_points;
501  float *data;
503 
504 
508 typedef struct
509 {
513  NvDsPostProcessNetworkType outputType;
516  union
517  {
520  NvDsPostProcessDetectionOutput detectionOutput;
523  NvDsPostProcessClassificationOutput classificationOutput;
526  NvDsPostProcessSegmentationOutput segmentationOutput;
529  NvDsPostProcessBodyPoseOutput bodyPoseOutput;
530  };
532 
537 typedef struct
538 {
542  unsigned int numFrames;
543 
546  void **outputDeviceBuffers;
548  unsigned int numOutputDeviceBuffers;
549 
552  void **hostBuffers;
554  unsigned int numHostBuffers;
555 
557  void* priv;
559 
560 #ifdef __cplusplus
561 }
562 #endif
563 
567 typedef struct
568 {
572  unsigned int numClassesConfigured;
578  std::vector<float> perClassPreclusterThreshold;
579  /* Per-class threshold to be applied after the clustering operation. */
580  std::vector<float> perClassPostclusterThreshold;
581 
583 
584 
588  std::vector<NvDsPostProcessAttribute> attributes;
590  std::string label;
591 
593  NvDsPostProcessObjectInfo() = default;
595  for (auto &attr : attributes) {
596  if (attr.attributeLabel)
597  free (attr.attributeLabel);
598  }
599  }
600 };
601 
602 
607 typedef struct _NvDsPostProcessObjectHistory
608 {
610  int under_inference;
614  unsigned long last_inferred_frame_num;
618  unsigned long last_accessed_frame_num;
622 
623 
624 #endif
NvDsPostProcessObject
Holds information about one detected object.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:409
NvDsPostProcessTensorOrder_kNC
@ NvDsPostProcessTensorOrder_kNC
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:184
_NvDsPostProcessContextInitParams::clusterMode
NvDsPostProcessClusterMode clusterMode
Holds the type of clustering mode.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:307
NvDsPoint3f::x
float x
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:485
NvDsPostProcessObjectInfo::label
std::string label
Cached string label.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:590
DEFAULT_POST_CLUSTER_THRESHOLD
constexpr float DEFAULT_POST_CLUSTER_THRESHOLD
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:69
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:140
NVDSPOSTPROCESS_CUSTOM_LIB_FAILED
@ NVDSPOSTPROCESS_CUSTOM_LIB_FAILED
Custom Library interface implementation failed.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:91
NvDsPostProcessObjectDetectionInfo
Holds information about one parsed object from a detector's output.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:331
_NvDsPostProcessContextInitParams::classifierThreshold
float classifierThreshold
Holds the minimum confidence threshold for the classifier to consider a label valid.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:291
NvDsPostProcessObjectInfo::~NvDsPostProcessObjectInfo
~NvDsPostProcessObjectInfo()
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:594
_NvDsPostProcessContextInitParams::inferInputDims
NvDsInferDimsCHW inferInputDims
Inference input dimensions for runtime engine.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:304
NvDsPostProcessAttribute
Holds information about one classified attribute.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:353
NVDSPOSTPROCESS_CLUSTER_DBSCAN_NMS_HYBRID
@ NVDSPOSTPROCESS_CLUSTER_DBSCAN_NMS_HYBRID
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:174
NVDSPOSTPROCESS_OUTPUT_PARSING_FAILED
@ NVDSPOSTPROCESS_OUTPUT_PARSING_FAILED
Output parsing failed.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:95
NvDsPostProcessDetectionParams
Holds detection and bounding box grouping parameters.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:218
DEFAULT_NMS_IOU_THRESHOLD
constexpr float DEFAULT_NMS_IOU_THRESHOLD
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:74
_NvDsPostProcessObjectHistory::under_inference
int under_inference
Boolean indicating if the object is already being inferred on.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:610
DEFAULT_EPS
constexpr float DEFAULT_EPS
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:70
_NvDsPostProcessContextInitParams::customBBoxParseFuncName
char customBBoxParseFuncName[_MAX_STR_LENGTH]
Holds the name of the custom bounding box function in the custom library.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:315
NvDsPoint3f
struct NvDsPoint3f NvDsPoint3f
NVDSPOSTPROCESS_CUDA_ERROR
@ NVDSPOSTPROCESS_CUDA_ERROR
CUDA error was encountered.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:97
NvDsPostProcessTensorOrder_kNCHW
@ NvDsPostProcessTensorOrder_kNCHW
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:182
NvDsPostProcessContextInitParams
struct _NvDsPostProcessContextInitParams NvDsPostProcessContextInitParams
Holds the initialization parameters required for the NvDsPostProcessContext interface.
_NvDsPostProcessContextInitParams::numDetectedClasses
unsigned int numDetectedClasses
Holds the number of classes detected by a detector network.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:283
NvDsPostProcessClusterMode
NvDsPostProcessClusterMode
Enum for clustering mode for detectors.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:169
NVDSPOSTPROCESS_UNKNOWN_ERROR
@ NVDSPOSTPROCESS_UNKNOWN_ERROR
Unknown error was encountered.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:101
_NvDsPostProcessObjectHistory::cached_info
NvDsPostProcessObjectInfo cached_info
Cached object information.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:620
_PATH_MAX
#define _PATH_MAX
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:37
NvDsPostProcessObjectInfo
Holds the cached information of an object.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:586
NvDsPostProcessTensorOrder_kNHWC
@ NvDsPostProcessTensorOrder_kNHWC
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:183
NvDsPostProcessNetworkType
NvDsPostProcessNetworkType
Defines network types.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:191
_NvDsPostProcessContextInitParams::uniqueID
unsigned int uniqueID
Holds a unique identifier for the instance.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:266
NvDsPostProcessDetectionOutput
Holds information on all objects detected by a detector network in one frame.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:439
PROCESS_MODEL_OBJECTS
constexpr int PROCESS_MODEL_OBJECTS
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:79
NvDsPostProcessParseObjectInfo
NvDsPostProcessObjectDetectionInfo NvDsPostProcessParseObjectInfo
A typedef defined to maintain backward compatibility.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:373
DEFAULT_GROUP_THRESHOLD
constexpr int DEFAULT_GROUP_THRESHOLD
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:71
NVDSPOSTPROCESS_CLUSTER_DBSCAN
@ NVDSPOSTPROCESS_CLUSTER_DBSCAN
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:172
DEFAULT_PRE_CLUSTER_THRESHOLD
constexpr float DEFAULT_PRE_CLUSTER_THRESHOLD
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:68
NvDsPostProcessInstanceMaskInfo
Holds information about one parsed object and instance mask from a detector's output.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:378
NvDsPoint3f::y
float y
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:486
NvDsPostProcessColorParams
Holds the bounding box coloring information for one class;.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:156
NvDsPostProcessTensorOrder
NvDsPostProcessTensorOrder
Defines UFF layer orders.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:181
NvDsPostProcessDetectionFilterParams
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:143
NvDsPostProcessNetworkType
NvDsPostProcessNetworkType
Defines network types.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:191
NvDsPostProcessClusterMode
NvDsPostProcessClusterMode
Enum for clustering mode for detectors.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:169
_NvDsPostProcessContextInitParams::perClassDetectionParams
NvDsPostProcessDetectionParams * perClassDetectionParams
Holds per-class detection parameters.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:287
_NvDsPostProcessObjectHistory::last_inferred_frame_num
unsigned long last_inferred_frame_num
Number of the frame in the stream when the object was last inferred on.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:614
NVDSPOSTPROCESS_LOG_DEBUG
@ NVDSPOSTPROCESS_LOG_DEBUG
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:109
NVDSPOSTPROCESS_INVALID_PARAMS
@ NVDSPOSTPROCESS_INVALID_PARAMS
Invalid parameters were supplied.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:93
ATHR_ENABLED
constexpr bool ATHR_ENABLED
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:76
NVDSPOSTPROCESS_RESOURCE_ERROR
@ NVDSPOSTPROCESS_RESOURCE_ERROR
Resource error was encountered.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:99
_NvDsPostProcessContextInitParams::segmentationThreshold
float segmentationThreshold
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:293
_NvDsPostProcessContextInitParams::gpuID
unsigned int gpuID
Holds the ID of the GPU which is to run the inference.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:301
_NvDsPostProcessContextInitParams::customClassifierParseFuncName
char customClassifierParseFuncName[_MAX_STR_LENGTH]
Name of the custom classifier attribute parsing function in the custom library.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:318
NvDsPostProcessNetworkType_Classifier
@ NvDsPostProcessNetworkType_Classifier
Specifies a classifier.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:198
_NvDsPostProcessObjectHistory::last_accessed_frame_num
unsigned long last_accessed_frame_num
Number of the frame in the stream when the object was last accessed.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:618
NvDsPostProcesLogLevel
NvDsPostProcesLogLevel
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:105
_NvDsPostProcessContextInitParams
Holds the initialization parameters required for the NvDsPostProcessContext interface.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:262
safeStr
const char * safeStr(const std::string &str)
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:59
NVDSPOSTPROCESS_LOG_INFO
@ NVDSPOSTPROCESS_LOG_INFO
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:108
_NvDsPostProcessContextInitParams::classifier_type
char * classifier_type
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:323
NVDSPOSTPROCESS_CLUSTER_GROUP_RECTANGLES
@ NVDSPOSTPROCESS_CLUSTER_GROUP_RECTANGLES
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:171
NvDsPostProcessFrameOutput
Holds the information inferred by the network on one frame.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:508
_MAX_STR_LENGTH
#define _MAX_STR_LENGTH
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:38
NvDsInferDimsCHW
Holds the dimensions of a three-dimensional layer.
Definition: sources/includes/nvdsinfer.h:59
_NvDsPostProcessContextInitParams::networkType
NvDsPostProcessNetworkType networkType
Holds the network type.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:280
NvDsPostProcessObjectInfo::attributes
std::vector< NvDsPostProcessAttribute > attributes
Vector of cached classification attributes.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:588
NvDsPostProcessNetworkType_Detector
@ NvDsPostProcessNetworkType_Detector
Specifies a detector.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:195
DEFAULT_MIN_BOXES
constexpr int DEFAULT_MIN_BOXES
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:72
_NvDsPostProcessContextInitParams::segmentationOutputOrder
NvDsPostProcessTensorOrder segmentationOutputOrder
Holds output order for segmentation network.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:321
NvDsPostProcessSegmentationOutput
Holds information parsed from segmentation network output for one frame.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:467
NVDSPOSTPROCESS_CLUSTER_NONE
@ NVDSPOSTPROCESS_CLUSTER_NONE
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:175
NvDsPostProcessBatchOutput
Holds the output for all of the frames in a batch (an array of frame), and related buffer information...
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:537
NvDsPostProcessBodyPoseOutput
Holds information parsed from bodypose network output for one frame.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:493
_NvDsPostProcessContextInitParams::customBBoxInstanceMaskParseFuncName
char customBBoxInstanceMaskParseFuncName[_MAX_STR_LENGTH]
Holds the name of the bounding box and instance mask parse function in the custom library.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:311
NvDsPostProcessObjectHistory
struct _NvDsPostProcessObjectHistory NvDsPostProcessObjectHistory
Holds the inference information/history for one object based on it's tracking id.
_NvDsPostProcessContextInitParams::labelsFilePath
char labelsFilePath[_PATH_MAX]
Holds the pathname of the labels file containing strings for the class labels.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:276
_NvDsPostProcessContextInitParams::maxBatchSize
unsigned int maxBatchSize
Holds the maximum number of frames to be inferred together in a batch.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:271
ATHR_THRESHOLD
constexpr float ATHR_THRESHOLD
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:77
_NvDsPostProcessContextInitParams::outputLayerNames
char ** outputLayerNames
Holds a pointer to an array of pointers to output layer names.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:296
_NvDsPostProcessContextInitParams::preprocessor_support
gboolean preprocessor_support
Holds boolean value to show whether preprocessor support is there.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:325
NVDSPOSTPROCESS_SUCCESS
@ NVDSPOSTPROCESS_SUCCESS
operation succeeded.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:86
NvDsPostProcessNetworkType_InstanceSegmentation
@ NvDsPostProcessNetworkType_InstanceSegmentation
Specifies a instance segmentation network.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:205
_NvOSD_ColorParams
Holds the color parameters of the box or text to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:81
_NvDsPostProcessObjectHistory
Holds the inference information/history for one object based on it's tracking id.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:607
string_empty
bool string_empty(const char *str)
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:64
NVDSPOSTPROCESS_CONFIG_FAILED
@ NVDSPOSTPROCESS_CONFIG_FAILED
Failed to configure the instance possibly due to an erroneous initialization property.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:89
NvDsPoint3f::z
float z
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:487
NvDsPostProcessNetworkType_Other
@ NvDsPostProcessNetworkType_Other
Specifies other.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:212
NVDSPOSTPROCESS_LOG_WARNING
@ NVDSPOSTPROCESS_LOG_WARNING
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:107
PROCESS_MODEL_FULL_FRAME
constexpr int PROCESS_MODEL_FULL_FRAME
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:78
NvDsPostProcessClassificationOutput
Holds information on all attributes classifed by a classifier network for one frame.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:451
NvDsPostProcessObjectInfo::NvDsPostProcessObjectInfo
NvDsPostProcessObjectInfo()=default
NvDsPostProcessTensorOrder
NvDsPostProcessTensorOrder
Defines UFF layer orders.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:181
_NvDsPostProcessContextInitParams::numOutputLayers
unsigned int numOutputLayers
Holds the number of output layer names.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:298
NvDsPostProcessNetworkType_BodyPose
@ NvDsPostProcessNetworkType_BodyPose
Bodypose 3D.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:207
DEFAULT_TOP_K
constexpr int DEFAULT_TOP_K
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:75
NVDSPOSTPROCESS_CLUSTER_NMS
@ NVDSPOSTPROCESS_CLUSTER_NMS
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:173
NvDsPoint3f
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:484
NvDsPostProcessNetworkType_Segmentation
@ NvDsPostProcessNetworkType_Segmentation
Specifies a segmentation network.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:201
NvDsPostProcessParseDetectionParams
Holds the detection parameters required for parsing objects.
Definition: sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:567
_NvDsPostProcessObjectHistory::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-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:612
DEFAULT_DBSCAN_MIN_SCORE
constexpr float DEFAULT_DBSCAN_MIN_SCORE
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:73
NVDSPOSTPROCESS_LOG_ERROR
@ NVDSPOSTPROCESS_LOG_ERROR
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:106
NvDsPostProcessStatus
NvDsPostProcessStatus
Enum for the status codes returned by NvDsPostProcessAlgorithm.
Definition: 9.0/sources/gst-plugins/gst-nvdspostprocess/postprocesslib_impl/post_processor_struct.h:84