NVIDIA DeepStream SDK API Reference

8.0 Release
nvdsmotmetafusion.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2025 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 
29 #ifndef _NVMOTRACKERMETAFUSER_H_
30 #define _NVMOTRACKERMETAFUSER_H_
31 
32 #include <stdint.h>
33 #include <time.h>
34 
35 #include "nvbufsurface.h"
36 #include "nvds_tracker_meta.h"
37 #include <vector>
38 
39 #ifdef __cplusplus
40 extern "C"
41 {
42 #endif
43 
44 
45 typedef uint64_t NvMOTObjectId;
46 typedef uint32_t NvMOTFrameNum;
47 // <object id, <frame_num, offset in reid array>>
48 typedef std::map<NvMOTObjectId, std::map<NvMOTFrameNum, uint32_t>> NvMOTReidEmbeddingsList;
49 typedef std::map<NvMOTObjectId, NvMOTObjectId> NvMOTMFObjectIdMap;
50 
51 typedef struct _NvMOTMFConfig
52 {
54  uint32_t frameWidth;
55  uint32_t frameHeight;
64 
68 typedef enum
69 {
75 
82 typedef struct _NvMOTMFConfigResponse
83 {
96 
97 
98 typedef enum
99 {
103 } NvMOTMFStatus;
104 
109 {
113 
118 {
122  uint32_t chunkDuration;
130 
131 
135 struct NvMOTMFContext;
136 typedef struct NvMOTMFContext* NvMOTMFContextHandle;
137 
138 typedef struct _NvMOTMFQuery
139 {
143  uint32_t reidFeatureSize;
145  uint32_t reidHistorySize;
148 } NvMOTMFQuery;
149 
168  NvMOTMFContextHandle *pContextHandle,
169  NvMOTMFConfigResponse *pConfigResponse);
170 
178 void NvMOTMF_DeInit(NvMOTMFContextHandle contextHandle);
179 
193  NvMOTMFTrackedObjMeta *pVideoChunk,
194  NvMOTMFObjectIdMap &ipOpObjectIdMap);
195 
209  NvMOTMFTrackerFusedData *pTrackerMiscData, bool eos);
210 
221 
222  // end of API group
224 
225 #ifdef __cplusplus
226 }
227 #endif
228 
229 #endif
NvMOTMFQuery
struct _NvMOTMFQuery NvMOTMFQuery
_NvMOTMFConfigResponse::transformBatchStatus
NvMOTMFConfigStatus transformBatchStatus
Holds the transform batch configuration request status: summary status for all transforms.
Definition: nvdsmotmetafusion.h:90
_NvMOTMFConfigResponse
Holds a tracker's configuration status.
Definition: nvdsmotmetafusion.h:82
_NvDsTargetMiscDataStream
All misc targets data for a given stream.
Definition: nvds_tracker_meta.h:88
NvMOTMFTrackerFusedData
struct _NvMOTMFTrackerFusedData NvMOTMFTrackerFusedData
Tracker misc data.
_NvMOTMFTrackerFusedData::pFusedTracksStream
NvDsTargetMiscDataStream * pFusedTracksStream
Holds the history of terminated tracks.
Definition: nvdsmotmetafusion.h:111
_NvMOTMFConfigResponse::miscConfigStatus
NvMOTMFConfigStatus miscConfigStatus
Holds the status of the miscellaneous configurations.
Definition: nvdsmotmetafusion.h:92
NvMOTMF_Init
NvMOTMFStatus NvMOTMF_Init(NvMOTMFConfig *pConfigIn, NvMOTMFContextHandle *pContextHandle, NvMOTMFConfigResponse *pConfigResponse)
Initializes the fusion context.
_NvMOTMFTrackedObjMeta::reidTensorChunk
NvDsReidTensorBatch reidTensorChunk
The whole chunk's reid embeddings in a sigle vector pointed to by "ptr_host".
Definition: nvdsmotmetafusion.h:126
NvMOTMFConfigResponse
struct _NvMOTMFConfigResponse NvMOTMFConfigResponse
Holds a tracker's configuration status.
NvMOTMFStatus
NvMOTMFStatus
Definition: nvdsmotmetafusion.h:98
NvMOTObjectId
uint64_t NvMOTObjectId
Definition: nvdsmotmetafusion.h:45
_NvMOTMFQuery::contextHandle
NvMOTMFContextHandle contextHandle
Hold the context handle.
Definition: nvdsmotmetafusion.h:147
_NvMOTMFTrackedObjMeta::reidEmbeddingsList
NvMOTReidEmbeddingsList reidEmbeddingsList
Offset of Reid Embeddings per object.
Definition: nvdsmotmetafusion.h:128
_NvMOTMFTrackedObjMeta::chunkDuration
uint32_t chunkDuration
Holds the duration of the chunk in number of frames.
Definition: nvdsmotmetafusion.h:122
NvMOTMFConfigStatus_Invalid
@ NvMOTMFConfigStatus_Invalid
Definition: nvdsmotmetafusion.h:72
NvMOTMF_Process
NvMOTMFStatus NvMOTMF_Process(NvMOTMFContextHandle contextHandle, NvMOTMFTrackedObjMeta *pVideoChunk, NvMOTMFObjectIdMap &ipOpObjectIdMap)
Processes a video chunk.
NvMOTMFTrackedObjMeta
struct _NvMOTMFTrackedObjMeta NvMOTMFTrackedObjMeta
Holds all the input metadata of a video chunk to be processed.
NvMOTFrameNum
uint32_t NvMOTFrameNum
Definition: nvdsmotmetafusion.h:46
_NvMOTMFConfig::customConfigFilePath
char * customConfigFilePath
A pointer to the pathname of the tracker's custom configuration file.
Definition: nvdsmotmetafusion.h:62
NvMOTMFConfigStatus_Unsupported
@ NvMOTMFConfigStatus_Unsupported
Definition: nvdsmotmetafusion.h:73
NvMOTMFConfigStatus
NvMOTMFConfigStatus
Defines configuration request return codes.
Definition: nvdsmotmetafusion.h:68
NvMOTMFContextHandle
struct NvMOTMFContext * NvMOTMFContextHandle
Definition: nvdsmotmetafusion.h:136
_NvMOTMFTrackedObjMeta::tracklets
NvDsTargetMiscDataStream * tracklets
Tracklets per object.
Definition: nvdsmotmetafusion.h:124
NvMOTMFStatus_OK
@ NvMOTMFStatus_OK
Definition: nvdsmotmetafusion.h:100
_NvMOTMFTrackedObjMeta
Holds all the input metadata of a video chunk to be processed.
Definition: nvdsmotmetafusion.h:117
_NvMOTMFTrackedObjMeta::startFrameNumber
uint32_t startFrameNumber
Holds the relative frame number of the first frame in this video chunk w.r.t.
Definition: nvdsmotmetafusion.h:120
NvMOTMFStatus_Invalid_Path
@ NvMOTMFStatus_Invalid_Path
Definition: nvdsmotmetafusion.h:102
_NvMOTMFQuery
Definition: nvdsmotmetafusion.h:138
_NvMOTMFConfigResponse::customConfigStatus
NvMOTMFConfigStatus customConfigStatus
Holds the status of the custom configurations.
Definition: nvdsmotmetafusion.h:94
_NvMOTMFConfig::maxVideoChunkLength
uint32_t maxVideoChunkLength
Holds the maximum possible length of a video chunk
Definition: nvdsmotmetafusion.h:57
NvMOTMFConfigStatus_Error
@ NvMOTMFConfigStatus_Error
Definition: nvdsmotmetafusion.h:71
_NvMOTMFConfigResponse::computeStatus
NvMOTMFConfigStatus computeStatus
Holds the compute target request status.
Definition: nvdsmotmetafusion.h:87
_NvMOTMFConfig::frameWidth
uint32_t frameWidth
Width and height of the video frame.
Definition: nvdsmotmetafusion.h:54
_NvMOTMFConfigResponse::summaryStatus
NvMOTMFConfigStatus summaryStatus
Holds the summary status of the entire configuration request.
Definition: nvdsmotmetafusion.h:85
NvMOTReidEmbeddingsList
std::map< NvMOTObjectId, std::map< NvMOTFrameNum, uint32_t > > NvMOTReidEmbeddingsList
Definition: nvdsmotmetafusion.h:48
_NvMOTMFQuery::maxTargetsPerStream
uint32_t maxTargetsPerStream
Holds maximum number of targets per stream.
Definition: nvdsmotmetafusion.h:141
_NvMOTMFQuery::reidHistorySize
uint32_t reidHistorySize
Reid history size.
Definition: nvdsmotmetafusion.h:145
NvMOTMFConfig
struct _NvMOTMFConfig NvMOTMFConfig
NvMOTMF_DeInit
void NvMOTMF_DeInit(NvMOTMFContextHandle contextHandle)
Deinitializes fusion context.
nvds_tracker_meta.h
NvMOTMF_Query
NvMOTMFStatus NvMOTMF_Query(NvMOTMFQuery *pQuery)
Query metadata fusion lib capabilities and requirements.
_NvMOTMFConfig
Definition: nvdsmotmetafusion.h:51
_NvMOTMFConfig::customConfigFilePathSize
uint16_t customConfigFilePathSize
Holds the length of customConfigFilePath.
Definition: nvdsmotmetafusion.h:59
NvMOTMFStatus_Error
@ NvMOTMFStatus_Error
Definition: nvdsmotmetafusion.h:101
nvbufsurface.h
NvMOTMF_RetrieveFusedData
NvMOTMFStatus NvMOTMF_RetrieveFusedData(NvMOTMFContextHandle contextHandle, NvMOTMFTrackerFusedData *pTrackerMiscData, bool eos)
Retrieve the fused data.
_NvMOTMFQuery::reidFeatureSize
uint32_t reidFeatureSize
Reid feature size.
Definition: nvdsmotmetafusion.h:143
NvMOTMFConfigStatus_OK
@ NvMOTMFConfigStatus_OK
Definition: nvdsmotmetafusion.h:70
NvMOTMFObjectIdMap
std::map< NvMOTObjectId, NvMOTObjectId > NvMOTMFObjectIdMap
Definition: nvdsmotmetafusion.h:49
_NvDsReidTensorBatch
ReID tensor of the batch.
Definition: nvds_tracker_meta.h:120
_NvMOTMFTrackerFusedData
Tracker misc data.
Definition: nvdsmotmetafusion.h:108
_NvMOTMFConfig::frameHeight
uint32_t frameHeight
Definition: nvdsmotmetafusion.h:55