NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.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 
34 #ifndef _NVMOTRACKER_H_
35 #define _NVMOTRACKER_H_
36 
37 #include <stdint.h>
38 #include <string>
39 #include <chrono>
40 #include <vector>
41 
42 #include "nvbufsurface.h"
43 #include "nvds_tracker_meta.h"
44 
45 #ifdef __cplusplus
46 #ifdef _WIN32
47 using uint = unsigned int;
48 #endif
49 extern "C"
50 {
51 #endif
52 
53 #define NVMOT_MAX_TRANSFORMS 4
54 
55 typedef uint64_t NvMOTTimeStamp;
56 typedef uint64_t NvMOTStreamId;
57 typedef uint32_t NvMOTFrameNum;
58 typedef uint16_t NvMOTClassId;
60 
62 static inline TimeStamp NvDsCurrentTimestampNs(void)
63 {
64  return static_cast<TimeStamp>(
65  std::chrono::duration_cast<std::chrono::nanoseconds>(
66  std::chrono::system_clock::now().time_since_epoch()
67  ).count()
68  );
69 }
70 
72 typedef struct _NvMOTTimeMeta
73 {
77  bool frameTimeValid;
79 
86 #define NVMOTCOMP_GPU 0x01
87 #define NVMOTCOMP_CPU 0x02
88 #define NVMOTCOMP_PVA 0x04
89 #define NVMOTCOMP_ANY 0xff
90 #define NVMOTCOMP_DEFAULT NVMOTCOMP_ANY
91 
93 typedef uint8_t NvMOTCompute;
94 
98 typedef struct _NvMOTPerTransformBatchConfig
99 {
101  uint32_t maxWidth;
102  uint32_t maxHeight;
103  uint32_t maxPitch;
104  uint32_t maxSize;
106 
110 typedef struct _NvMOTMiscConfig
111 {
112  uint32_t gpuId;
113  typedef void (*logMsg) (int logLevel, const char * format, ...);
115 
124 typedef struct _NvMOTConfig
125 {
127  uint32_t maxStreams;
128  uint32_t maxBufSurfAddrSize;
129  uint8_t numTransforms;
132  uint16_t customConfigFilePathSize;
133  char* customConfigFilePath;
134 } NvMOTConfig;
135 
139 typedef enum
140 {
146 
148 typedef enum
149 {
155 
162 typedef struct _NvMOTConfigResponse
163 {
170 
174 typedef enum
175 {
179 } NvMOTStatus;
180 
184 typedef struct _NvMOTRect
185 {
186  float x;
187  float y;
188  float width;
189  float height;
190 } NvMOTRect;
191 
195 typedef struct _NvMOTMask
196 {
197  float* data;
198  uint32_t width;
199  uint32_t height;
200  uint32_t allocatedSize;
201 } NvMOTMask;
202 
208 typedef struct _NvMOTObjToTrack
209 {
211  NvMOTRect bbox;
212  float confidence;
213  bool doTracking;
214  void *pPreservedData;
216 
220 typedef struct _NvMOTObjToTrackList
221 {
222  bool detectionDone;
224  uint32_t numAllocated;
225  uint32_t numFilled;
227 
237 typedef struct _NvMOTFrame
238 {
240  uint32_t seq_index;
243  uint32_t srcFrameWidth;
244  uint32_t srcFrameHeight;
245  bool doTracking;
246  bool reset;
247  uint8_t numBuffers;
250  const char* sensorName;
251 } NvMOTFrame;
252 
256 typedef struct _NvMOTTrackedObj
257 {
259  uint64_t trackingId;
260  NvMOTRect bbox;
261  float confidence;
262  uint32_t age;
264  NvDsObjReid reid;
265  float visibility;
266  float ptImgFeet[2];
267  float ptWorldFeet[2];
269  NvMOTMask mask;
271  float bbox3DImg[8][2];
272  uint8_t reserved[128];
274 
278 typedef struct _NvMOTTrackedObjList
279 {
282  bool valid;
284  uint32_t numAllocated;
285  uint32_t numFilled;
287 
291 typedef struct _NvMOTTrackedObjBatch
292 {
294  uint32_t numAllocated;
295  uint32_t numFilled;
298 
302 typedef struct _NvMOTTrackerMiscData
303 {
308 
314 typedef struct _NvMOTProcessParams
315 {
316  uint32_t numFrames;
319 
323 struct NvMOTContext;
325 
327 typedef struct _NvMOTQuery
328 {
330  uint8_t numTransforms;
333  uint32_t maxTargetsPerStream;
334  uint32_t maxShadowTrackingAge;
335  bool outputReidTensor;
336  uint32_t reidFeatureSize;
337  bool outputTrajectory;
338  bool outputVisibility;
339  bool outputFootLocation;
340  bool outputConvexHull;
341  uint32_t maxConvexHullSize;
342  bool supportPastFrame;
345  uint32_t maxTrajectoryBufferLength;
346  bool outputShadowTracks;
348 } NvMOTQuery;
349 
361  NvMOTConfig *pConfigIn, NvMOTContextHandle *pContextHandle, NvMOTConfigResponse *pConfigResponse
362 );
363 
368 void NvMOT_DeInit(NvMOTContextHandle contextHandle);
369 
378  NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackedObjBatch *pTrackedObjectsBatch
379 );
380 
389  NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackerMiscData *pTrackerMiscData
390 );
391 
399 NvMOTStatus NvMOT_Query(uint16_t customConfigFilePathSize, char* pCustomConfigFilePath, NvMOTQuery *pQuery);
400 
408 
415 NvMOTStatus NvMOT_UpdateParams(NvMOTContextHandle contextHandle, const std::string &configStr);
416  // end of API group
418 
419 #ifdef __cplusplus
420 }
421 #endif
422 
423 #endif // _NVMOTRACKER_H_
_NvMOTPerTransformBatchConfig
Holds a configuration for batches for an input transform (a scaling/color conversion).
Definition: includes/nvdstracker.h:96
NvMOTRect
struct _NvMOTRect NvMOTRect
Holds the definition of a rectangle.
_NvMOTMiscConfig::logMsg
void(* logMsg)(int logLevel, const char *format,...)
Holds a pointer to a callback for logging messages.
Definition: includes/nvdstracker.h:119
_NvMOTQuery::reidFeatureSize
uint32_t reidFeatureSize
Reid feature size.
Definition: includes/nvdstracker.h:438
NvMOTStatus_Invalid_Path
@ NvMOTStatus_Invalid_Path
Operation received an invalid path.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:178
NvMOT_Process
NvMOTStatus NvMOT_Process(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackedObjBatch *pTrackedObjectsBatch)
Processes a batch.
NvMOTObjToTrack
struct _NvMOTObjToTrack NvMOTObjToTrack
Holds information about an object to be tracked.
NvMOTConfigStatus
NvMOTConfigStatus
Defines configuration request return codes.
Definition: includes/nvdstracker.h:156
_NvMOTPerTransformBatchConfig::maxPitch
uint32_t maxPitch
Holds the maximum pitch of each buffer.
Definition: includes/nvdstracker.h:105
_NvMOTTimeMeta::frameNum
NvMOTFrameNum frameNum
Same logical frame as NvMOTFrame::frameNum.
Definition: includes/nvdstracker.h:68
NvMOTStatus_Error
@ NvMOTStatus_Error
Operation failed.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:177
_NvMOTTrackedObj::reserved
uint8_t reserved[128]
Reserved custom data field.
Definition: includes/nvdstracker.h:350
NvMOTMask
struct _NvMOTMask NvMOTMask
Holds the segmentation mask of an object.
_NvMOTQuery::outputConvexHull
bool outputConvexHull
Whether to output convex hull in user meta.
Definition: includes/nvdstracker.h:446
NvMOTBatchMode_Batch
@ NvMOTBatchMode_Batch
Enables batch processing.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:151
_NvMOTQuery::supportPastFrame
bool supportPastFrame
Holds a Boolean which is true if outputing past frame is supported.
Definition: includes/nvdstracker.h:450
NvMOTTimeStamp
uint64_t NvMOTTimeStamp
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:55
_NvMOTQuery::maxShadowTrackingAge
uint32_t maxShadowTrackingAge
Holds maximum shadow tracking age per stream.
Definition: includes/nvdstracker.h:434
NvMOTStatus
NvMOTStatus
Defines generic status codes for tracking operations.
Definition: includes/nvdstracker.h:200
_NvMOTQuery::batchMode
NvMOTBatchMode batchMode
Holds flags for whether batch or none batch mode is supported.
Definition: includes/nvdstracker.h:452
_NvMOTMask::height
uint32_t height
Height of the segmentation mask.
Definition: includes/nvdstracker.h:232
NvMOT_Query
NvMOTStatus NvMOT_Query(uint16_t customConfigFilePathSize, char *pCustomConfigFilePath, NvMOTQuery *pQuery)
Query tracker library capabilities and requirements.
_NvMOTQuery::maxTargetsPerStream
uint32_t maxTargetsPerStream
Holds maximum number of targets per stream.
Definition: includes/nvdstracker.h:432
NvMOTConfigStatus
NvMOTConfigStatus
Defines configuration request return codes.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:139
NvMOT_UpdateParams
NvMOTStatus NvMOT_UpdateParams(NvMOTContextHandle contextHandle, const std::string &configStr)
Update dynamic parameters for the low-level tracker.
_NvMOTTrackedObj::bbox3DWorld
NvDsObj3DBbox bbox3DWorld
3D bbox in world co-ordinates.
Definition: includes/nvdstracker.h:345
_NvMOTObjToTrack::confidence
float confidence
Holds the detection confidence of the object.
Definition: includes/nvdstracker.h:249
NvMOTQuery
struct _NvMOTQuery NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
NvMOTClassId
uint16_t NvMOTClassId
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:58
NvMOTConfigStatus_OK
@ NvMOTConfigStatus_OK
Configuration was accepted.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:141
_NvMOTConfigResponse::customConfigStatus
NvMOTConfigStatus customConfigStatus
Holds the status of the custom configurations.
Definition: includes/nvdstracker.h:194
NvMOTConfig
struct _NvMOTConfig NvMOTConfig
Holds a tracker configuration.
_NvMOTMiscConfig::gpuId
uint32_t gpuId
Holds the ID of the GPU to be used.
Definition: includes/nvdstracker.h:117
_NvMOTTimeMeta::frameTimeValid
bool frameTimeValid
True if frameTimeStamp is populated.
Definition: includes/nvdstracker.h:71
_NvMOTQuery::numTransforms
uint8_t numTransforms
Holds the number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
Definition: includes/nvdstracker.h:426
_NvMOTMask::data
float * data
Holds the segmentation mask.
Definition: includes/nvdstracker.h:228
NvMOTTrackedObjBatch
struct _NvMOTTrackedObjBatch NvMOTTrackedObjBatch
Holds a batch of lists of tracked objects.
_NvMOTConfigResponse::summaryStatus
NvMOTConfigStatus summaryStatus
Holds the summary status of the entire configuration request.
Definition: includes/nvdstracker.h:185
NvMOTObjToTrackList
struct _NvMOTObjToTrackList NvMOTObjToTrackList
Holds a list of objects.
_NvMOTTrackedObjBatch
Holds a batch of lists of tracked objects.
Definition: includes/nvdstracker.h:375
_NvMOTTrackedObj::reid
NvDsObjReid reid
Each target’s reid vector information.
Definition: includes/nvdstracker.h:333
_NvMOTObjToTrackList::numFilled
uint32_t numFilled
Holds the number of populated blocks in the list.
Definition: includes/nvdstracker.h:269
_NvMOTPerTransformBatchConfig::maxHeight
uint32_t maxHeight
Holds the maximum height of each frame.
Definition: includes/nvdstracker.h:103
_NvMOTTrackedObjList::numAllocated
uint32_t numAllocated
Holds the number of blocks allocated for the list.
Definition: includes/nvdstracker.h:367
_NvMOTTrackedObjList::list
NvMOTTrackedObj * list
Holds a pointer to a list or array of object information blocks.
Definition: includes/nvdstracker.h:365
_NvMOTProcessParams::numFrames
uint32_t numFrames
Holds the number of frames in the batch.
Definition: includes/nvdstracker.h:410
_NvMOTTrackerMiscData::pPastFrameObjBatch
NvDsTargetMiscDataBatch * pPastFrameObjBatch
Holds past frame data of current batch.
Definition: includes/nvdstracker.h:393
NvMOTProcessParams
struct _NvMOTProcessParams NvMOTProcessParams
Holds parameters for processing a batch.
NvMOTBatchMode_Error
@ NvMOTBatchMode_Error
Indicates that neither batch nor non-batch processing is supported.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:150
_NvMOTFrame::bufferList
NvBufSurfaceParams ** bufferList
Holds a pointer to an array of pointers to buffer parameter structures.
Definition: includes/nvdstracker.h:306
_NvMOTRect
Holds the definition of a rectangle.
Definition: includes/nvdstracker.h:210
_NvDsObjReid
Holds Reid Vector information for an object.
Definition: includes/nvds_tracker_meta.h:164
_NvMOTFrame
Holds a frame containing the image and objects to be tracked.
Definition: includes/nvdstracker.h:281
NvMOTConfigStatus_Unsupported
@ NvMOTConfigStatus_Unsupported
Configuration requested an unsupported option.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:144
_NvMOTTrackedObj::bbox
NvMOTRect bbox
Holds the bounding box.
Definition: includes/nvdstracker.h:325
_NvMOTObjToTrackList::list
NvMOTObjToTrack * list
Holds a pointer to a list or array of object information blocks.
Definition: includes/nvdstracker.h:265
uint
unsigned int uint
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:25
_NvMOTFrame::reset
bool reset
Holds a Boolean which is true to reset tracking for the stream.
Definition: includes/nvdstracker.h:301
NvMOTConfigStatus_Error
@ NvMOTConfigStatus_Error
Configuration processing failed.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:142
_NvMOTTrackedObj
Holds information about each tracked object.
Definition: includes/nvdstracker.h:318
_NvMOTFrame::srcFrameWidth
uint32_t srcFrameWidth
Holds the width of the original source frame.
Definition: includes/nvdstracker.h:295
_NvMOTTrackedObj::trackingId
uint64_t trackingId
Holds a unique ID for the object, assigned by the tracker.
Definition: includes/nvdstracker.h:323
_NvMOTFrame::timeMeta
NvMOTTimeMeta timeMeta
Holds stream PTS / NTP time, host-local receive time, and frame index.
Definition: includes/nvdstracker.h:293
_NvMOTFrame::objectsIn
NvMOTObjToTrackList objectsIn
Holds a list of objects in this frame which are to be tracked.
Definition: includes/nvdstracker.h:309
_NvMOTQuery::outputShadowTracks
bool outputShadowTracks
Whether to output Shadow Tracks info in user meta.
Definition: includes/nvdstracker.h:458
_NvMOTTrackedObj::visibility
float visibility
Object visibility.
Definition: includes/nvdstracker.h:335
_NvMOTTimeMeta::localTimestamp
TimeStamp localTimestamp
Host wall ns from NvDsCurrentTimestampNs when prepared.
Definition: includes/nvdstracker.h:70
_NvMOTTrackedObjList::frameNum
NvMOTFrameNum frameNum
Holds the frame number for objects in the list.
Definition: includes/nvdstracker.h:361
NvMOTFrameNum
uint32_t NvMOTFrameNum
Definition: includes/nvdsmotmetafusion.h:51
_NvMOTTrackedObj::ptImgFeet
float ptImgFeet[2]
Foot location in frame coordinates.
Definition: includes/nvdstracker.h:337
_NvMOTObjToTrack::classId
NvMOTClassId classId
Holds the class of the object.
Definition: includes/nvdstracker.h:245
NvBufSurfaceParams
Hold the information of single buffer in the batch.
Definition: includes/nvbufsurface.h:567
NvMOT_Init
NvMOTStatus NvMOT_Init(NvMOTConfig *pConfigIn, NvMOTContextHandle *pContextHandle, NvMOTConfigResponse *pConfigResponse)
Initializes a tracking context for a batch of one or more image streams.
NvMOTBatchMode
NvMOTBatchMode
Definition: includes/nvdstracker.h:164
_NvMOTConfigResponse
Holds a tracker's configuration status.
Definition: includes/nvdstracker.h:182
NvMOTTrackedObj
struct _NvMOTTrackedObj NvMOTTrackedObj
Holds information about each tracked object.
_NvMOTTrackerMiscData::pTerminatedTrackBatch
NvDsTargetMiscDataBatch * pTerminatedTrackBatch
Holds the history of terminated tracks.
Definition: includes/nvdstracker.h:396
_NvMOTQuery::memType
NvBufSurfaceMemType memType
Holds the preferred memory type for input buffers.
Definition: includes/nvdstracker.h:430
_NvMOTFrame::streamID
NvMOTStreamId streamID
Holds the stream ID of the stream source for this frame.
Definition: includes/nvdstracker.h:284
_NvMOTObjToTrack::pPreservedData
void * pPreservedData
Holds a pointer to client data associated with the object.
Definition: includes/nvdstracker.h:253
_NvMOTTrackedObj::ptWorldFeet
float ptWorldFeet[2]
Foot location in 3D coordinates.
Definition: includes/nvdstracker.h:339
_NvMOTQuery::outputReidTensor
bool outputReidTensor
Whether to output ReID tensor in user meta.
Definition: includes/nvdstracker.h:436
_NvMOTConfig::miscConfig
NvMOTMiscConfig miscConfig
Holds miscellaneous configurations.
Definition: includes/nvdstracker.h:145
_NvMOTConfig::customConfigFilePathSize
uint16_t customConfigFilePathSize
Holds the length of customConfigFilePath.
Definition: includes/nvdstracker.h:147
_NvMOTQuery::outputVisibility
bool outputVisibility
Whether to output visibility in user meta.
Definition: includes/nvdstracker.h:442
_NvMOTFrame::numBuffers
uint8_t numBuffers
Holds the number of entries in bufferList.
Definition: includes/nvdstracker.h:303
_NvMOTTrackedObj::age
uint32_t age
Holds the track length in frames.
Definition: includes/nvdstracker.h:329
_NvMOTTrackerMiscData::pShadowTrackBatch
NvDsTargetMiscDataBatch * pShadowTrackBatch
Holds the frame info of shadow tracks.
Definition: includes/nvdstracker.h:399
_NvDsObjConvexHull
Holds convex hull information.
Definition: includes/nvds_tracker_meta.h:151
_NvMOTQuery::computeConfig
NvMOTCompute computeConfig
Holds flags for supported compute targets.
Definition: includes/nvdstracker.h:423
_NvMOTObjToTrack::bbox
NvMOTRect bbox
Holds the bounding box of the object.
Definition: includes/nvdstracker.h:247
_NvMOTPerTransformBatchConfig::maxSize
uint32_t maxSize
Holds the maximum size of the buffer in bytes.
Definition: includes/nvdstracker.h:107
_NvMOTTrackedObj::confidence
float confidence
Holds the tracking confidence of the object.
Definition: includes/nvdstracker.h:327
_NvMOTTrackedObjBatch::numFilled
uint32_t numFilled
Holds the number of filled blocks in the list.
Definition: includes/nvdstracker.h:382
NvMOTCompute
uint8_t NvMOTCompute
Definition: includes/nvdstracker.h:90
NvMOTStreamId
uint64_t NvMOTStreamId
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:56
_NvMOTMask::allocatedSize
uint32_t allocatedSize
Allocated size.
Definition: includes/nvdstracker.h:234
_NvMOTTrackedObjBatch::numAllocated
uint32_t numAllocated
Holds the number of blocks allocated for the list.
Definition: includes/nvdstracker.h:380
_NvMOTObjToTrack
Holds information about an object to be tracked.
Definition: includes/nvdstracker.h:242
NvMOTConfigStatus_Invalid
@ NvMOTConfigStatus_Invalid
Configuration contained an invalid value.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:143
_NvMOTObjToTrackList::numAllocated
uint32_t numAllocated
Holds the number of blocks allocated for the list.
Definition: includes/nvdstracker.h:267
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition: includes/nvbufsurface.h:355
_NvMOTRect::height
float height
Holds the height of the bounding box, in pixels.
Definition: includes/nvdstracker.h:219
_NvMOTConfig::computeConfig
NvMOTCompute computeConfig
Holds the compute target.
Definition: includes/nvdstracker.h:133
NvMOTContext
Context for input video streams.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/context.hpp:23
_NvMOTObjToTrack::doTracking
bool doTracking
Holds a Boolean which is true if NvMOT is to track this object.
Definition: includes/nvdstracker.h:251
_NvMOTConfig::maxStreams
uint32_t maxStreams
Holds the maximum number of streams in a batch.
Definition: includes/nvdstracker.h:135
_NvMOTProcessParams
Holds parameters for processing a batch.
Definition: includes/nvdstracker.h:408
_NvMOTConfig::maxBufSurfAddrSize
uint32_t maxBufSurfAddrSize
Holds the max number of surface buffer addresses from buffer pool.
Definition: includes/nvdstracker.h:137
_NvMOTTrackedObjList
Holds a list of tracked objects.
Definition: includes/nvdstracker.h:356
_NvMOTQuery::maxTrajectoryBufferLength
uint32_t maxTrajectoryBufferLength
maximum frame of history to save per terminated track.
Definition: includes/nvdstracker.h:456
_NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
Definition: includes/nvdstracker.h:420
NvMOT_RetrieveMiscData
NvMOTStatus NvMOT_RetrieveMiscData(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackerMiscData *pTrackerMiscData)
Retrieve past-frame, terminated-track, and shadow-track data from the low-level tracker.
_NvMOTFrame::frameNum
NvMOTFrameNum frameNum
Holds the sequential frame number that identifies the frame within the stream.
Definition: includes/nvdstracker.h:291
_NvMOTPerTransformBatchConfig::maxWidth
uint32_t maxWidth
Holds the maximum width of each frame.
Definition: includes/nvdstracker.h:101
_NvMOTTrackedObj::mask
NvMOTMask mask
Each object's segmentation mask.
Definition: includes/nvdstracker.h:343
NvMOTStatus
NvMOTStatus
Defines generic status codes for tracking operations.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:174
NvMOTPerTransformBatchConfig
struct _NvMOTPerTransformBatchConfig NvMOTPerTransformBatchConfig
Holds a configuration for batches for an input transform (a scaling/color conversion).
_NvMOTRect::width
float width
Holds the width of the bounding box, in pixels.
Definition: includes/nvdstracker.h:217
_NvMOTObjToTrackList::detectionDone
bool detectionDone
Holds a Boolean which is true if detection was done on this frame even if the list of objects to trac...
Definition: includes/nvdstracker.h:263
_NvMOTTrackedObj::bbox3DImg
float bbox3DImg[8][2]
3D bbox in frame co-ordinates.
Definition: includes/nvdstracker.h:348
NvMOTFrameNum
uint32_t NvMOTFrameNum
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:57
_NvMOTProcessParams::frameList
NvMOTFrame * frameList
Holds a pointer to an array of frame data.
Definition: includes/nvdstracker.h:411
_NvMOTTrackedObj::classId
NvMOTClassId classId
Holds the class ID of the object to be tracked.
Definition: includes/nvdstracker.h:321
_NvMOTFrame::srcFrameHeight
uint32_t srcFrameHeight
Holds the height of the original source frame.
Definition: includes/nvdstracker.h:297
_NvMOTRect::x
float x
Holds the left edge position of the object bounding box, in pixels.
Definition: includes/nvdstracker.h:213
NvMOTConfigResponse
struct _NvMOTConfigResponse NvMOTConfigResponse
Holds a tracker's configuration status.
_NvMOTQuery::maxConvexHullSize
uint32_t maxConvexHullSize
Holdes maximum number of points in a convex hull.
Definition: includes/nvdstracker.h:448
_NvMOTQuery::contextHandle
NvMOTContextHandle contextHandle
Hold the context handle.
Definition: includes/nvdstracker.h:460
_NvMOTRect::y
float y
Holds the top edge position of the object bounding box, in pixels.
Definition: includes/nvdstracker.h:215
_NvMOTTrackedObj::convexHull
NvDsObjConvexHull convexHull
Convex hull information projected on frame.
Definition: includes/nvdstracker.h:341
_NvMOTConfigResponse::transformBatchStatus
NvMOTConfigStatus transformBatchStatus
Holds the transform batch configuration request status: summary status for all transforms.
Definition: includes/nvdstracker.h:190
_NvMOTPerTransformBatchConfig::bufferType
NvBufSurfaceMemType bufferType
Holds the type of buffer.
Definition: includes/nvdstracker.h:99
_NvMOTTimeMeta
Per-frame timing: stream PTS (when valid), host-local ns for deltas, and frame index.
Definition: includes/nvdstracker.h:66
_NvMOTFrame::sensorName
const char * sensorName
Holds the sensor name of the stream source (e.g.
Definition: includes/nvdstracker.h:312
NvMOTFrame
struct _NvMOTFrame NvMOTFrame
Holds a frame containing the image and objects to be tracked.
_NvMOTTrackedObjList::numFilled
uint32_t numFilled
Holds the number of populated blocks in the list.
Definition: includes/nvdstracker.h:369
TimeStamp
NvMOTTimeStamp TimeStamp
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:59
_NvDsTargetMiscDataBatch
Batch of all streams of a given target misc output.
Definition: includes/nvds_tracker_meta.h:113
_NvMOTObjToTrackList
Holds a list of objects.
Definition: includes/nvdstracker.h:259
NvMOTTrackerMiscData
struct _NvMOTTrackerMiscData NvMOTTrackerMiscData
Tracker misc data.
NvMOT_RemoveStreams
NvMOTStatus NvMOT_RemoveStreams(NvMOTContextHandle contextHandle, NvMOTStreamId streamIdMask)
Removes streams from a batch.
_NvDsObj3DBbox
Holds 3D bbox information for an object.
Definition: includes/nvds_tracker_meta.h:177
_NvMOTQuery::outputTerminatedTracks
bool outputTerminatedTracks
Whether to output terminted Tacks info in user meta.
Definition: includes/nvdstracker.h:454
_NvMOTFrame::doTracking
bool doTracking
Holds a Boolean which is true if objects in this frame are to be tracked.
Definition: includes/nvdstracker.h:299
NvMOTContextHandle
struct NvMOTContext * NvMOTContextHandle
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:324
_NvMOTConfig::perTransformBatchConfig
NvMOTPerTransformBatchConfig * perTransformBatchConfig
Holds a pointer to a list of numTransform batch configurations, one per transform,...
Definition: includes/nvdstracker.h:143
NvMOTBatchMode_NonBatch
@ NvMOTBatchMode_NonBatch
Enables non-batch processing.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:152
_NvMOTTrackerMiscData
Tracker misc data.
Definition: includes/nvdstracker.h:390
NvMOTTimeMeta
struct _NvMOTTimeMeta NvMOTTimeMeta
Holds the stream timestamp, host-local timestamp, and frame index.
NvMOT_DeInit
void NvMOT_DeInit(NvMOTContextHandle contextHandle)
Deinitialize a stream context.
_NvMOTTrackedObj::associatedObjectIn
NvMOTObjToTrack * associatedObjectIn
Holds a pointer to the associated input object, if there is one.
Definition: includes/nvdstracker.h:331
_NvMOTConfigResponse::miscConfigStatus
NvMOTConfigStatus miscConfigStatus
Holds the status of the miscellaneous configurations.
Definition: includes/nvdstracker.h:192
NvMOTStatus_OK
@ NvMOTStatus_OK
Operation completed successfully.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:176
_NvMOTMask
Holds the segmentaiton mask of an object.
Definition: includes/nvdstracker.h:225
_NvMOTQuery::colorFormats
NvBufSurfaceColorFormat colorFormats[1]
Holds the color formats for input buffers; a required value.
Definition: includes/nvdstracker.h:428
_NvMOTTrackedObjList::streamID
NvMOTStreamId streamID
Holds the stream ID of the stream associated with objects in the list.
Definition: includes/nvdstracker.h:359
NvMOTBatchMode_MaxValue
@ NvMOTBatchMode_MaxValue
Represents the maximum bit-mask value.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:153
_NvMOTTimeMeta::frameTimeStamp
NvMOTTimeStamp frameTimeStamp
Stream/media time (e.g.
Definition: includes/nvdstracker.h:69
_NvMOTConfig
Holds a tracker configuration.
Definition: includes/nvdstracker.h:130
_NvMOTConfig::customConfigFilePath
char * customConfigFilePath
A pointer to the pathname of the tracker's custom configuration file.
Definition: includes/nvdstracker.h:150
_NvMOTQuery::outputFootLocation
bool outputFootLocation
Whether to output foot location in user meta.
Definition: includes/nvdstracker.h:444
_NvMOTMask::width
uint32_t width
Width of the segmentation mask.
Definition: includes/nvdstracker.h:230
NvDsCurrentTimestampNs
static TimeStamp NvDsCurrentTimestampNs(void)
Return wall-clock time in nanoseconds since the Unix epoch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:62
NvMOTBatchMode
NvMOTBatchMode
Defines supported tracker batch-processing modes.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/nvdstracker.h:148
_NvMOTConfigResponse::computeStatus
NvMOTConfigStatus computeStatus
Holds the compute target request status.
Definition: includes/nvdstracker.h:187
_NvMOTFrame::seq_index
uint32_t seq_index
Holds the index of the stream in the sequence of streams.
Definition: includes/nvdstracker.h:288
NvBufSurfaceColorFormat
NvBufSurfaceColorFormat
Defines color formats for NvBufSurface.
Definition: includes/nvbufsurface.h:110
_NvDsReidTensorBatch
ReID tensor of the batch.
Definition: includes/nvds_tracker_meta.h:128
_NvMOTTrackedObjList::valid
bool valid
Holds a Boolean which is true if this entry in the batch is valid.
Definition: includes/nvdstracker.h:363
NvMOTMiscConfig
struct _NvMOTMiscConfig NvMOTMiscConfig
Holds miscellaneous configurations.
ds3d::v2xinfer::format
static std::string format(const char *fmt,...)
Definition: sources/libs/ds3d/inference_custom_lib/ds3d_v2x_infer_custom_preprocess/tensor.hpp:31
NvMOTTrackedObjList
struct _NvMOTTrackedObjList NvMOTTrackedObjList
Holds a list of tracked objects.
_NvMOTConfig::numTransforms
uint8_t numTransforms
Holds the number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
Definition: includes/nvdstracker.h:140
_NvMOTTrackedObjBatch::pReidTensorBatch
NvDsReidTensorBatch * pReidTensorBatch
The whole batch’s reid tensor to fill by low level tracker.
Definition: includes/nvdstracker.h:384
_NvMOTQuery::outputTrajectory
bool outputTrajectory
Whether to output target trajectories in user meta.
Definition: includes/nvdstracker.h:440
_NvMOTTrackedObjBatch::list
NvMOTTrackedObjList * list
Holds a pointer to an array of object lists.
Definition: includes/nvdstracker.h:378
_NvMOTMiscConfig
Holds miscellaneous configurations.
Definition: includes/nvdstracker.h:114