NVIDIA DeepStream SDK API Reference

9.1 Release
sources/gst-plugins/gst-nvinfer/gstnvinfer_property_parser.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_PROPERTY_PARSER_H__
19 #define __GST_NVINFER_PROPERTY_PARSER_H__
20 
21 #include <glib.h>
22 
23 #include "nvdsinfer_context.h"
24 #include "gstnvinfer.h"
25 
26 #define DEFAULT_PRE_CLUSTER_THRESHOLD 0.2
27 #define DEFAULT_POST_CLUSTER_THRESHOLD 0.0
28 #define DEFAULT_EPS 0.0
29 #define DEFAULT_GROUP_THRESHOLD 0
30 #define DEFAULT_MIN_BOXES 0
31 #define DEFAULT_DBSCAN_MIN_SCORE 0
32 #define DEFAULT_NMS_IOU_THRESHOLD 0.3
33 #define DEFAULT_TOP_K -1
34 
35 #define CONFIG_GROUP_PROPERTY "property"
36 
37 #define CONFIG_GROUP_INFER_PARSE_FUNC "parse-func"
38 
40 #define CONFIG_GROUP_INFER_UNIQUE_ID "gie-unique-id"
41 #define CONFIG_GROUP_INFER_PROCESS_MODE "process-mode"
42 #define CONFIG_GROUP_INFER_INTERVAL "interval"
43 #define CONFIG_GROUP_INFER_LABEL "labelfile-path"
44 #define CONFIG_GROUP_INFER_GPU_ID "gpu-id"
45 #define CONFIG_GROUP_INFER_SECONDARY_REINFER_INTERVAL "secondary-reinfer-interval"
46 #define CONFIG_GROUP_INFER_OUTPUT_TENSOR_META "output-tensor-meta"
47 //gpu_post_processing 0 is not 1 is yes
48 #define CONFIG_GROUP_INFER_DISABLE_OUTPUT_HOST_COPY "disable-output-host-copy"
49 
50 #define CONFIG_GROUP_INFER_AUTO_INCREASE_MEMORY "auto-inc-mem"
51 #define CONFIG_GROUP_INFER_MAX_GPU_MEMORY_PERCENTAGE "max-gpu-mem-per"
52 
53 #define CONFIG_GROUP_INFER_ENABLE_DLA "enable-dla"
54 #define CONFIG_GROUP_INFER_USE_DLA_CORE "use-dla-core"
55 
56 #define CONFIG_GROUP_INFER_DUMP_INPUT_TENSOR "dump-input-tensor"
57 #define CONFIG_GROUP_INFER_DUMP_OUTPUT_TENSOR "dump-output-tensor"
58 #define CONFIG_GROUP_INFER_OVERWRITE_INPUT_TENSOR "overwrite-input-tensor"
59 #define CONFIG_GROUP_INFER_OVERWRITE_OUTPUT_TENSOR "overwrite-output-tensor"
60 #define CONFIG_GROUP_INFER_INPUT_TENSOR_FILE "ip-tensor-file"
61 #define CONFIG_GROUP_INFER_OUTPUT_TENSOR_FILES "op-tensor-files"
62 #define CONFIG_GROUP_INFER_RAW_OUTPUT_FILE_WRITE "raw-output-file-write"
63 
65 #define CONFIG_GROUP_INFER_BATCH_SIZE "batch-size"
66 #define CONFIG_GROUP_INFER_TENSOR_META_POOL_SIZE "tensor-meta-pool-size"
67 #define CONFIG_GROUP_INFER_NETWORK_MODE "network-mode"
68 #define CONFIG_GROUP_INFER_MODEL_ENGINE "model-engine-file"
69 #define CONFIG_GROUP_INFER_INT8_CALIBRATION_FILE "int8-calib-file"
70 #define CONFIG_GROUP_INFER_WORKSPACE_SIZE "workspace-size"
71 
73 #define CONFIG_GROUP_INFER_OUTPUT_BLOB_NAMES "output-blob-names"
74 #define CONFIG_GROUP_INFER_IS_CLASSIFIER_LEGACY "is-classifier"
75 #define CONFIG_GROUP_INFER_NETWORK_TYPE "network-type"
76 #define CONFIG_GROUP_INFER_FORCE_IMPLICIT_BATCH_DIM "force-implicit-batch-dim"
77 #define CONFIG_GROUP_INFER_INFER_DIMENSIONS "infer-dims"
78 #define CONFIG_GROUP_INFER_OUTPUT_IO_FORMATS "output-io-formats"
79 #define CONFIG_GROUP_INFER_LAYER_DEVICE_PRECISION "layer-device-precision"
80 
82 #define CONFIG_GROUP_INFER_MODEL_COLOR_FORMAT "model-color-format"
83 #define CONFIG_GROUP_INFER_SCALE_FACTOR "net-scale-factor"
84 #define CONFIG_GROUP_INFER_OFFSETS "offsets"
85 #define CONFIG_GROUP_INFER_MEANFILE "mean-file"
86 #define CONFIG_GROUP_INFER_MAINTAIN_ASPECT_RATIO "maintain-aspect-ratio"
87 #define CONFIG_GROUP_INFER_SYMMETRIC_PADDING "symmetric-padding"
88 #define CONFIG_GROUP_INFER_SCALING_FILTER "scaling-filter"
89 #define CONFIG_GROUP_INFER_SCALING_COMPUTE_HW "scaling-compute-hw"
90 #define CONFIG_GROUP_INFER_NET_INPUT_ORDER "network-input-order"
91 #define CONFIG_GROUP_INFER_INPUT_FROM_META "input-tensor-from-meta"
92 
94 #define CONFIG_GROUP_INFER_CUSTOM_LIB_PATH "custom-lib-path"
95 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_BBOX_FUNC "parse-bbox-func-name"
96 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_BBOX_IM_FUNC "parse-bbox-instance-mask-func-name"
97 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_SEGMENTATION_FUNC "parse-segmentation-func-name"
98 #define CONFIG_GROUP_INFER_CUSTOM_ENGINE_CREATE_FUNC "engine-create-func-name"
99 #define CONFIG_GROUP_INFER_CUSTOM_PARSE_CLASSIFIER_FUNC "parse-classifier-func-name"
100 #define CONFIG_GROUP_INFER_CUSTOM_NETWORK_CONFIG "custom-network-config"
101 
103 #define CONFIG_GROUP_INFER_MODEL "model-file"
104 #define CONFIG_GROUP_INFER_PROTO "proto-file"
105 
107 #define CONFIG_GROUP_INFER_UFF "uff-file"
108 #define CONFIG_GROUP_INFER_UFF_INPUT_ORDER "uff-input-order"
109 #define CONFIG_GROUP_INFER_UFF_INPUT_DIMENSIONS_LEGACY "input-dims"
110 #define CONFIG_GROUP_INFER_UFF_INPUT_DIMENSIONS_LEGACY_V2 "uff-input-dims"
111 #define CONFIG_GROUP_INFER_UFF_INPUT_BLOB_NAME "uff-input-blob-name"
112 
114 #define CONFIG_GROUP_INFER_TLT_ENCODED_MODEL "tlt-encoded-model"
115 #define CONFIG_GROUP_INFER_TLT_MODEL_KEY "tlt-model-key"
116 
118 #define CONFIG_GROUP_INFER_ONNX "onnx-file"
119 
121 #define CONFIG_GROUP_INFER_NUM_DETECTED_CLASSES "num-detected-classes"
122 #define CONFIG_GROUP_INFER_ENABLE_DBSCAN "enable-dbscan"
123 #define CONFIG_GROUP_INFER_CLUSTER_MODE "cluster-mode"
124 #define CONFIG_GROUP_INFER_CROP_OBJECTS_TO_ROI_BOUNDARY "crop-objects-to-roi-boundary"
125 #define CONFIG_GROUP_INFER_STRONGLY_TYPED "strongly-typed"
126 #define CONFIG_GROUP_INFER_DYNAMIC_PROPERTIES "dynamic-properties"
127 #define CONFIG_GROUP_INFER_WARMUP_ENGINE "warmup-engine"
128 #define CONFIG_GROUP_INFER_STABILIZE_BUFFER_COUNT "stabilize-buffer-count"
129 
131 #define CONFIG_GROUP_INFER_CLASSIFIER_TYPE "classifier-type"
132 #define CONFIG_GROUP_INFER_CLASSIFIER_THRESHOLD "classifier-threshold"
133 #define CONFIG_GROUP_INFER_CLASSIFIER_ASYNC_MODE "classifier-async-mode"
134 
136 #define CONFIG_GROUP_INFER_SEGMENTATION_THRESHOLD "segmentation-threshold"
137 #define CONFIG_GROUP_INFER_SEGMENTATION_OUTPUT_ORDER "segmentation-output-order"
138 
140 #define CONFIG_GROUP_INFER_OUTPUT_INSTANCE_MASK "output-instance-mask"
141 
144 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MIN_WIDTH "input-object-min-width"
145 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MIN_HEIGHT "input-object-min-height"
146 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MAX_WIDTH "input-object-max-width"
147 #define CONFIG_GROUP_INFER_INPUT_OBJECT_MAX_HEIGHT "input-object-max-height"
148 
151 #define CONFIG_GROUP_INFER_GIE_ID_FOR_OPERATION "operate-on-gie-id"
152 #define CONFIG_GROUP_INFER_CLASS_IDS_FOR_OPERATION "operate-on-class-ids"
153 #define CONFIG_GROUP_INFER_CLASS_IDS_FOR_FILTERING "filter-out-class-ids"
154 
156 #define CONFIG_GROUP_INFER_CLASS_ATTRS_PREFIX "class-attrs-"
157 #define CONFIG_GROUP_INFER_CLASS_ATTRS_THRESHOLD "threshold"
158 #define CONFIG_GROUP_INFER_CLASS_ATTRS_PRE_CLUSTER_THRESHOLD "pre-cluster-threshold"
159 #define CONFIG_GROUP_INFER_CLASS_ATTRS_POST_CLUSTER_THRESHOLD "post-cluster-threshold"
160 #define CONFIG_GROUP_INFER_CLASS_ATTRS_EPS "eps"
161 #define CONFIG_GROUP_INFER_CLASS_ATTRS_GROUP_THRESHOLD "group-threshold"
162 #define CONFIG_GROUP_INFER_CLASS_ATTRS_MIN_BOXES "minBoxes"
163 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DBSCAN_MIN_SCORE "dbscan-min-score"
164 #define CONFIG_GROUP_INFER_CLASS_ATTRS_ROI_TOP_OFFSET "roi-top-offset"
165 #define CONFIG_GROUP_INFER_CLASS_ATTRS_ROI_BOTTOM_OFFSET "roi-bottom-offset"
166 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MIN_WIDTH "detected-min-w"
167 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MIN_HEIGHT "detected-min-h"
168 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MAX_WIDTH "detected-max-w"
169 #define CONFIG_GROUP_INFER_CLASS_ATTRS_DETECTED_MAX_HEIGHT "detected-max-h"
170 #define CONFIG_GROUP_INFER_CLASS_ATTRS_BORDER_COLOR "border-color"
171 #define CONFIG_GROUP_INFER_CLASS_ATTRS_BG_COLOR "bg-color"
172 #define CONFIG_GROUP_INFER_CLASS_ATTRS_NMS_IOU_THRESHOLD "nms-iou-threshold"
173 #define CONFIG_GROUP_INFER_CLASS_ATTRS_TOP_K "topk"
174 
175 gboolean gst_nvinfer_parse_config_file (GstNvInfer *nvinfer,
176  NvDsInferContextInitParams *init_params, const gchar * cfg_file_path);
177 
179  const gchar * cfg_file_path);
180 
181 
182 #endif /*__GST_NVINFER_PROPERTY_PARSER_H__*/
gst_nvinfer_parse_config_file
gboolean gst_nvinfer_parse_config_file(GstNvInfer *nvinfer, NvDsInferContextInitParams *init_params, const gchar *cfg_file_path)
gstnvinfer.h
gst_nvinfer_parse_context_params
gboolean gst_nvinfer_parse_context_params(NvDsInferContextInitParams *params, const gchar *cfg_file_path)
_NvDsInferContextInitParams
Holds the initialization parameters required for the NvDsInferContext interface.
Definition: sources/includes/nvdsinfer_context.h:246
GstNvInfer
typedefG_BEGIN_DECLS struct _GstNvInfer GstNvInfer
Definition: sources/gst-plugins/gst-nvinfer/gstnvinfer.h:50