NVIDIA DeepStream SDK API Reference

7.0 Release
gstnvinfer_property_parser.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef __GST_NVINFER_PROPERTY_PARSER_H__
14 #define __GST_NVINFER_PROPERTY_PARSER_H__
15 
16 #include <glib.h>
17 
18 #include "nvdsinfer_context.h"
19 #include "gstnvinfer.h"
20 
21 #define DEFAULT_PRE_CLUSTER_THRESHOLD 0.2
22 #define DEFAULT_POST_CLUSTER_THRESHOLD 0.0
23 #define DEFAULT_EPS 0.0
24 #define DEFAULT_GROUP_THRESHOLD 0
25 #define DEFAULT_MIN_BOXES 0
26 #define DEFAULT_DBSCAN_MIN_SCORE 0
27 #define DEFAULT_NMS_IOU_THRESHOLD 0.3
28 #define DEFAULT_TOP_K -1
29 
30 #define CONFIG_GROUP_PROPERTY "property"
31 
32 #define CONFIG_GROUP_INFER_PARSE_FUNC "parse-func"
33 
35 #define CONFIG_GROUP_INFER_UNIQUE_ID "gie-unique-id"
36 #define CONFIG_GROUP_INFER_PROCESS_MODE "process-mode"
37 #define CONFIG_GROUP_INFER_INTERVAL "interval"
38 #define CONFIG_GROUP_INFER_LABEL "labelfile-path"
39 #define CONFIG_GROUP_INFER_GPU_ID "gpu-id"
40 #define CONFIG_GROUP_INFER_SECONDARY_REINFER_INTERVAL "secondary-reinfer-interval"
41 #define CONFIG_GROUP_INFER_OUTPUT_TENSOR_META "output-tensor-meta"
42 //gpu_post_processing 0 is not 1 is yes
43 #define CONFIG_GROUP_INFER_DISABLE_OUTPUT_HOST_COPY "disable-output-host-copy"
44 
45 #define CONFIG_GROUP_INFER_AUTO_INCREASE_MEMORY "auto-inc-mem"
46 #define CONFIG_GROUP_INFER_MAX_GPU_MEMORY_PERCENTAGE "max-gpu-mem-per"
47 
48 #define CONFIG_GROUP_INFER_ENABLE_DLA "enable-dla"
49 #define CONFIG_GROUP_INFER_USE_DLA_CORE "use-dla-core"
50 
51 #define CONFIG_GROUP_INFER_DUMP_INPUT_TENSOR "dump-input-tensor"
52 #define CONFIG_GROUP_INFER_DUMP_OUTPUT_TENSOR "dump-output-tensor"
53 #define CONFIG_GROUP_INFER_OVERWRITE_INPUT_TENSOR "overwrite-input-tensor"
54 #define CONFIG_GROUP_INFER_OVERWRITE_OUTPUT_TENSOR "overwrite-output-tensor"
55 #define CONFIG_GROUP_INFER_INPUT_TENSOR_FILE "ip-tensor-file"
56 #define CONFIG_GROUP_INFER_OUTPUT_TENSOR_FILES "op-tensor-files"
57 #define CONFIG_GROUP_INFER_RAW_OUTPUT_FILE_WRITE "raw-output-file-write"
58 
60 #define CONFIG_GROUP_INFER_BATCH_SIZE "batch-size"
61 #define CONFIG_GROUP_INFER_TENSOR_META_POOL_SIZE "tensor-meta-pool-size"
62 #define CONFIG_GROUP_INFER_NETWORK_MODE "network-mode"
63 #define CONFIG_GROUP_INFER_MODEL_ENGINE "model-engine-file"
64 #define CONFIG_GROUP_INFER_INT8_CALIBRATION_FILE "int8-calib-file"
65 #define CONFIG_GROUP_INFER_WORKSPACE_SIZE "workspace-size"
66 
68 #define CONFIG_GROUP_INFER_OUTPUT_BLOB_NAMES "output-blob-names"
69 #define CONFIG_GROUP_INFER_IS_CLASSIFIER_LEGACY "is-classifier"
70 #define CONFIG_GROUP_INFER_NETWORK_TYPE "network-type"
71 #define CONFIG_GROUP_INFER_FORCE_IMPLICIT_BATCH_DIM "force-implicit-batch-dim"
72 #define CONFIG_GROUP_INFER_INFER_DIMENSIONS "infer-dims"
73 #define CONFIG_GROUP_INFER_OUTPUT_IO_FORMATS "output-io-formats"
74 #define CONFIG_GROUP_INFER_LAYER_DEVICE_PRECISION "layer-device-precision"
75 
77 #define CONFIG_GROUP_INFER_MODEL_COLOR_FORMAT "model-color-format"
78 #define CONFIG_GROUP_INFER_SCALE_FACTOR "net-scale-factor"
79 #define CONFIG_GROUP_INFER_OFFSETS "offsets"
80 #define CONFIG_GROUP_INFER_MEANFILE "mean-file"
81 #define CONFIG_GROUP_INFER_MAINTAIN_ASPECT_RATIO "maintain-aspect-ratio"
82 #define CONFIG_GROUP_INFER_SYMMETRIC_PADDING "symmetric-padding"
83 #define CONFIG_GROUP_INFER_SCALING_FILTER "scaling-filter"
84 #define CONFIG_GROUP_INFER_SCALING_COMPUTE_HW "scaling-compute-hw"
85 #define CONFIG_GROUP_INFER_NET_INPUT_ORDER "network-input-order"
86 #define CONFIG_GROUP_INFER_INPUT_FROM_META "input-tensor-from-meta"
87 
89 #define CONFIG_GROUP_INFER_CUSTOM_LIB_PATH "custom-lib-path"
90 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_BBOX_FUNC "parse-bbox-func-name"
91 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_BBOX_IM_FUNC "parse-bbox-instance-mask-func-name"
92 #define CONFIG_GROUP_INFER_CUSTOM_ENGINE_CREATE_FUNC "engine-create-func-name"
93 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_CLASSIFIER_FUNC "parse-classifier-func-name"
94 #define CONFIG_GROUP_INFER_CUSTOM_NETWORK_CONFIG "custom-network-config"
95 
97 #define CONFIG_GROUP_INFER_MODEL "model-file"
98 #define CONFIG_GROUP_INFER_PROTO "proto-file"
99 
101 #define CONFIG_GROUP_INFER_UFF "uff-file"
102 #define CONFIG_GROUP_INFER_UFF_INPUT_ORDER "uff-input-order"
103 #define CONFIG_GROUP_INFER_UFF_INPUT_DIMENSIONS_LEGACY "input-dims"
104 #define CONFIG_GROUP_INFER_UFF_INPUT_DIMENSIONS_LEGACY_V2 "uff-input-dims"
105 #define CONFIG_GROUP_INFER_UFF_INPUT_BLOB_NAME "uff-input-blob-name"
106 
108 #define CONFIG_GROUP_INFER_TLT_ENCODED_MODEL "tlt-encoded-model"
109 #define CONFIG_GROUP_INFER_TLT_MODEL_KEY "tlt-model-key"
110 
112 #define CONFIG_GROUP_INFER_ONNX "onnx-file"
113 
115 #define CONFIG_GROUP_INFER_NUM_DETECTED_CLASSES "num-detected-classes"
116 #define CONFIG_GROUP_INFER_ENABLE_DBSCAN "enable-dbscan"
117 #define CONFIG_GROUP_INFER_CLUSTER_MODE "cluster-mode"
118 #define CONFIG_GROUP_INFER_CROP_OBJECTS_TO_ROI_BOUNDARY "crop-objects-to-roi-boundary"
119 
121 #define CONFIG_GROUP_INFER_CLASSIFIER_TYPE "classifier-type"
122 #define CONFIG_GROUP_INFER_CLASSIFIER_THRESHOLD "classifier-threshold"
123 #define CONFIG_GROUP_INFER_CLASSIFIER_ASYNC_MODE "classifier-async-mode"
124 
126 #define CONFIG_GROUP_INFER_SEGMENTATION_THRESHOLD "segmentation-threshold"
127 #define CONFIG_GROUP_INFER_SEGMENTATION_OUTPUT_ORDER "segmentation-output-order"
128 
130 #define CONFIG_GROUP_INFER_OUTPUT_INSTANCE_MASK "output-instance-mask"
131 
134 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MIN_WIDTH "input-object-min-width"
135 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MIN_HEIGHT "input-object-min-height"
136 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MAX_WIDTH "input-object-max-width"
137 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MAX_HEIGHT "input-object-max-height"
138 
141 #define CONFIG_GROUP_INFER_GIE_ID_FOR_OPERATION "operate-on-gie-id"
142 #define CONFIG_GROUP_INFER_CLASS_IDS_FOR_OPERATION "operate-on-class-ids"
143 #define CONFIG_GROUP_INFER_CLASS_IDS_FOR_FILTERING "filter-out-class-ids"
144 
146 #define CONFIG_GROUP_INFER_CLASS_ATTRS_PREFIX "class-attrs-"
147 #define CONFIG_GROUP_INFER_CLASS_ATTRS_THRESHOLD "threshold"
148 #define CONFIG_GROUP_INFER_CLASS_ATTRS_PRE_CLUSTER_THRESHOLD "pre-cluster-threshold"
149 #define CONFIG_GROUP_INFER_CLASS_ATTRS_POST_CLUSTER_THRESHOLD "post-cluster-threshold"
150 #define CONFIG_GROUP_INFER_CLASS_ATTRS_EPS "eps"
151 #define CONFIG_GROUP_INFER_CLASS_ATTRS_GROUP_THRESHOLD "group-threshold"
152 #define CONFIG_GROUP_INFER_CLASS_ATTRS_MIN_BOXES "minBoxes"
153 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DBSCAN_MIN_SCORE "dbscan-min-score"
154 #define CONFIG_GROUP_INFER_CLASS_ATTRS_ROI_TOP_OFFSET "roi-top-offset"
155 #define CONFIG_GROUP_INFER_CLASS_ATTRS_ROI_BOTTOM_OFFSET "roi-bottom-offset"
156 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MIN_WIDTH "detected-min-w"
157 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MIN_HEIGHT "detected-min-h"
158 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MAX_WIDTH "detected-max-w"
159 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MAX_HEIGHT "detected-max-h"
160 #define CONFIG_GROUP_INFER_CLASS_ATTRS_BORDER_COLOR "border-color"
161 #define CONFIG_GROUP_INFER_CLASS_ATTRS_BG_COLOR "bg-color"
162 #define CONFIG_GROUP_INFER_CLASS_ATTRS_NMS_IOU_THRESHOLD "nms-iou-threshold"
163 #define CONFIG_GROUP_INFER_CLASS_ATTRS_TOP_K "topk"
164 
165 gboolean gst_nvinfer_parse_config_file (GstNvInfer *nvinfer,
166  NvDsInferContextInitParams *init_params, const gchar * cfg_file_path);
167 
169  const gchar * cfg_file_path);
170 
171 
172 #endif /*__GST_NVINFER_PROPERTY_PARSER_H__*/
GstNvInfer
typedefG_BEGIN_DECLS struct _GstNvInfer GstNvInfer
Definition: gstnvinfer.h:45
gstnvinfer.h
nvdsinfer_context.h
_NvDsInferContextInitParams
Holds the initialization parameters required for the NvDsInferContext interface.
Definition: nvdsinfer_context.h:239
gst_nvinfer_parse_config_file
gboolean gst_nvinfer_parse_config_file(GstNvInfer *nvinfer, NvDsInferContextInitParams *init_params, const gchar *cfg_file_path)
gst_nvinfer_parse_context_params
gboolean gst_nvinfer_parse_context_params(NvDsInferContextInitParams *params, const gchar *cfg_file_path)