NVIDIA DeepStream SDK API Reference

6.4 Release
gstnvinferserver_meta_utils.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2022 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 
22 #ifndef __GSTNVINFERSERVER_META_UTILS_H__
23 #define __GSTNVINFERSERVER_META_UTILS_H__
24 
25 #include <vector>
26 #include <string>
27 
28 #include "infer_utils.h"
29 #include "infer_datatypes.h"
30 #include "nvdsinferserver_plugin.pb.h"
31 #include "infer_post_datatypes.h"
32 #include "nvdsmeta.h"
33 #include "nvdsinfer.h"
34 
35 namespace dsis = nvdsinferserver;
36 namespace ic = nvdsinferserver::config;
37 
38 namespace gstnvinferserver {
39 
73  NvDsFrameMeta* frameMeta, NvDsObjectMeta* parentObj,
74  const NvDsInferDetectionOutput& detection_output, float scaleX, float scaleY,
75  uint32_t offsetLeft, uint32_t offsetTop, uint32_t roiLeft, uint32_t roiTop, uint32_t roiWidth,
76  uint32_t roiHeight, uint32_t imageWidth, uint32_t imageHeight, uint32_t uniqueId, const ic::PluginControl& config);
77 
100  NvDsObjectMeta* objMeta, NvDsFrameMeta* frameMeta, NvDsRoiMeta* roiMeta,
101  const InferClassificationOutput& objInfo, uint32_t uniqueId, const std::string& classifierType,
102  uint32_t imageWidth, uint32_t imageHeight);
103 
117  InferClassificationOutput& cache, const InferClassificationOutput& newRes);
118 
140  NvDsObjectMeta* objMeta, NvDsFrameMeta* frameMeta, NvDsRoiMeta* roiMeta,
141  const NvDsInferSegmentationOutput& segmentation_output, dsis::SharedIBatchBuffer& buf);
142 
163  NvDsObjectMeta* objMeta, NvDsFrameMeta* frameMeta, NvDsRoiMeta* roiMeta, uint32_t uniqueId,
164  const std::vector<dsis::SharedIBatchBuffer>& tensors, uint32_t batchIdx,
165  const NvDsInferNetworkInfo& inputInfo, bool maintainAspectRatio);
166 
179  NvDsBatchMeta* batchMeta, uint32_t uniqueId,
180  const std::vector<dsis::SharedIBatchBuffer>& tensors, const NvDsInferNetworkInfo& inputInfo);
181 }
182 
183 #endif /* __GSTNVINFERSERVER_META_UTILS_H__ */
gstnvinferserver::attachSegmentationMetadata
void attachSegmentationMetadata(NvDsObjectMeta *objMeta, NvDsFrameMeta *frameMeta, NvDsRoiMeta *roiMeta, const NvDsInferSegmentationOutput &segmentation_output, dsis::SharedIBatchBuffer &buf)
Attach the segmentation output as user metadata.
gstnvinferserver
Definition: gstnvinferserver_impl.h:68
nvdsinferserver
Copyright (c) 2021, NVIDIA CORPORATION.
Definition: infer_custom_process.h:28
gstnvinferserver::attachFullTensorOutputMeta
void attachFullTensorOutputMeta(NvDsBatchMeta *batchMeta, uint32_t uniqueId, const std::vector< dsis::SharedIBatchBuffer > &tensors, const NvDsInferNetworkInfo &inputInfo)
Attach the full inference output tensors to the batch metadata.
nvdsinferserver::SharedIBatchBuffer
std::shared_ptr< IBatchBuffer > SharedIBatchBuffer
Definition: infer_datatypes.h:204
infer_datatypes.h
Header file for the data types used in the inference processing.
NvDsInferSegmentationOutput
Holds the information parsed from segmentation network output for one frame.
Definition: infer_post_datatypes.h:80
infer_utils.h
Header file containing utility functions and classes used by the nvinferserver low level library.
gstnvinferserver::attachClassificationMetadata
void attachClassificationMetadata(NvDsObjectMeta *objMeta, NvDsFrameMeta *frameMeta, NvDsRoiMeta *roiMeta, const InferClassificationOutput &objInfo, uint32_t uniqueId, const std::string &classifierType, uint32_t imageWidth, uint32_t imageHeight)
Attach the classification output as NvDsClassifierMeta.
NvDsInferDetectionOutput
Holds the information on all objects detected by a detector network in one frame.
Definition: infer_post_datatypes.h:48
NvDsInferNetworkInfo
Holds information about the model network.
Definition: nvdsinfer.h:110
_NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
Definition: nvdsmeta.h:240
gstnvinferserver::attachDetectionMetadata
void attachDetectionMetadata(NvDsFrameMeta *frameMeta, NvDsObjectMeta *parentObj, const NvDsInferDetectionOutput &detection_output, float scaleX, float scaleY, uint32_t offsetLeft, uint32_t offsetTop, uint32_t roiLeft, uint32_t roiTop, uint32_t roiWidth, uint32_t roiHeight, uint32_t imageWidth, uint32_t imageHeight, uint32_t uniqueId, const ic::PluginControl &config)
Attach detection metadata for the objects in a frame.
gstnvinferserver::mergeClassificationOutput
void mergeClassificationOutput(InferClassificationOutput &cache, const InferClassificationOutput &newRes)
Merge the object history with the new classification result.
infer_post_datatypes.h
nvdsinfer.h
NvDsRoiMeta
Holds Information about ROI Metadata.
Definition: nvds_roi_meta.h:96
_NvDsFrameMeta
Holds metadata for a frame in a batch.
Definition: nvdsmeta.h:284
nvdsmeta.h
gstnvinferserver::attachTensorOutputMeta
void attachTensorOutputMeta(NvDsObjectMeta *objMeta, NvDsFrameMeta *frameMeta, NvDsRoiMeta *roiMeta, uint32_t uniqueId, const std::vector< dsis::SharedIBatchBuffer > &tensors, uint32_t batchIdx, const NvDsInferNetworkInfo &inputInfo, bool maintainAspectRatio)
Attaches the raw tensor output to the GstBuffer as metadata.
_NvDsObjectMeta
Holds metadata for an object in the frame.
Definition: nvdsmeta.h:342