NVIDIA DeepStream SDK API Reference

7.1 Release
invtracker_proc.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2024 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 _INVTRACKERPROC_H
14 #define _INVTRACKERPROC_H
15 
16 #include "nvbufsurface.h"
17 #include "nvdstracker.h"
18 
19 #include <vector>
20 
23 {
28 };
29 
32 {
36 };
37 
40 {
49 };
50 
53 {
55  uint32_t batchSize;
56  uint32_t trackerWidth;
57  uint32_t trackerHeight;
60  std::vector<std::string> trackerConfigFilePerSubBatch;
61 
64 
66  int32_t gpuId;
67  int32_t compute_hw;
68 
69  uint32_t trackingSurfType;
71 
72  bool inputTensorMeta = false;
73  uint32_t tensorMetaGieId = 0;
75  std::vector<std::vector<int>> subBatchesConfig = {};
76  std::vector<uint32_t> subBatchSizes = {};
79  bool dynamicSubBatching = false;
81 
85  uint32_t numTransforms;
88  bool pastFrame;
91 
93 
97  uint32_t reidFeatureSize;
103 
104  char* gstName;
105 };
106 
109 {
110 public:
111  virtual ~INvTrackerProc() {};
112 
113  virtual bool init(const TrackerConfig& config) = 0;
114  virtual void deInit() = 0;
115 
117  virtual bool addSource(uint32_t sourceId) = 0;
119  virtual bool removeSource(uint32_t sourceId, bool removeObjectIdMapping=true) = 0;
121  virtual bool resetSource(uint32_t sourceId) = 0;
123  virtual bool submitInput(const InputParams& inputParams) = 0;
125  virtual CompletionStatus waitForCompletion(InputParams& inputParams) = 0;
127  virtual bool flushReqs() = 0;
128 };
129 
130 #endif
TrackerConfig::subBatchesConfig
std::vector< std::vector< int > > subBatchesConfig
vector < sub-batch ids : vector <source ids in each sub-batch > >
Definition: invtracker_proc.h:75
InputParams
Input data for tracker plugin.
Definition: invtracker_proc.h:22
TrackerConfig::outputVisibility
bool outputVisibility
Definition: invtracker_proc.h:100
TrackerConfig::trackingSurfType
uint32_t trackingSurfType
Definition: invtracker_proc.h:69
TrackerConfig::maxTargetsPerStream
uint32_t maxTargetsPerStream
Definition: invtracker_proc.h:86
TrackerConfig::trackerLibFile
char * trackerLibFile
Definition: invtracker_proc.h:58
INvTrackerProc::waitForCompletion
virtual CompletionStatus waitForCompletion(InputParams &inputParams)=0
Wait until a batch's process is done.
INvTrackerProc::flushReqs
virtual bool flushReqs()=0
Flush the request to send the batch downstream.
NvBufSurface
Holds information about batched buffers.
Definition: nvbufsurface.h:520
TrackerConfig::batchSize
uint32_t batchSize
From DeepStream app config file.
Definition: invtracker_proc.h:55
TrackerConfig::trackerConfigFilePerSubBatch
std::vector< std::string > trackerConfigFilePerSubBatch
Definition: invtracker_proc.h:60
TrackerConfig::maxMiscDataPoolSize
uint32_t maxMiscDataPoolSize
Definition: invtracker_proc.h:96
TrackerConfig::tensorMetaGieId
uint32_t tensorMetaGieId
Definition: invtracker_proc.h:73
TrackerConfig::outputConvexHull
bool outputConvexHull
Definition: invtracker_proc.h:102
TrackerConfig::reidFeatureSize
uint32_t reidFeatureSize
Definition: invtracker_proc.h:97
TrackingIdResetMode_NewIdAfterStreamReset
@ TrackingIdResetMode_NewIdAfterStreamReset
Terminate existing objects and assign new ids after stream reset.
Definition: invtracker_proc.h:44
TrackerConfig::outputTerminatedTracks
bool outputTerminatedTracks
Definition: invtracker_proc.h:89
TrackerConfig::colorFormat
NvBufSurfaceColorFormat colorFormat
From low level tracker library query.
Definition: invtracker_proc.h:83
TrackerConfig::maxTrajectoryBufferLength
uint32_t maxTrajectoryBufferLength
Definition: invtracker_proc.h:90
TrackerConfig::displayTrackingId
bool displayTrackingId
Definition: invtracker_proc.h:62
InputParams::pPreservedData
void * pPreservedData
Definition: invtracker_proc.h:26
TrackerConfig::maxConvexHullSize
uint32_t maxConvexHullSize
Definition: invtracker_proc.h:98
TrackerConfig::subBatchErrRecoveryTrialCnt
int subBatchErrRecoveryTrialCnt
Definition: invtracker_proc.h:80
TrackerConfig::outputShadowTracks
bool outputShadowTracks
Definition: invtracker_proc.h:92
TrackerConfig::trackingSurfTypeFromConfig
bool trackingSurfTypeFromConfig
Definition: invtracker_proc.h:70
INvTrackerProc::addSource
virtual bool addSource(uint32_t sourceId)=0
Tracker actions when a source is added to the pipeline.
TrackerConfig::pastFrame
bool pastFrame
Definition: invtracker_proc.h:88
TrackerConfig::subBatchSizes
std::vector< uint32_t > subBatchSizes
Definition: invtracker_proc.h:76
_NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
Definition: nvdsmeta.h:242
TrackingIdResetMode_Default
@ TrackingIdResetMode_Default
No id reset.
Definition: invtracker_proc.h:42
InputParams::pSurfaceBatch
NvBufSurface * pSurfaceBatch
Definition: invtracker_proc.h:24
CompletionStatus
CompletionStatus
Tracker process completion status.
Definition: invtracker_proc.h:31
TrackerConfig::compute_hw
int32_t compute_hw
Definition: invtracker_proc.h:67
INvTrackerProc::deInit
virtual void deInit()=0
TrackerConfig::maxConvBufPoolSize
uint32_t maxConvBufPoolSize
Store buffer pool size since low level tracker needs this info.
Definition: invtracker_proc.h:95
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition: nvbufsurface.h:312
TrackerConfig::maxShadowTrackingAge
uint32_t maxShadowTrackingAge
Definition: invtracker_proc.h:87
TrackerConfig::trackerConfigFileList
char * trackerConfigFileList
Definition: invtracker_proc.h:59
TrackingIdResetMode_MaxValue
@ TrackingIdResetMode_MaxValue
Max value of the enum.
Definition: invtracker_proc.h:48
TrackerConfig::numTransforms
uint32_t numTransforms
Definition: invtracker_proc.h:85
TrackerConfig::memType
NvBufSurfaceMemType memType
Definition: invtracker_proc.h:84
NvMOTCompute
uint8_t NvMOTCompute
Definition: nvdstracker.h:64
TrackerConfig::outputReidTensor
bool outputReidTensor
Definition: invtracker_proc.h:99
TrackerConfig::trackingIdResetMode
TrackingIdResetMode trackingIdResetMode
Definition: invtracker_proc.h:63
INvTrackerProc
Virtual base class for tracker plugin processing.
Definition: invtracker_proc.h:108
INvTrackerProc::init
virtual bool init(const TrackerConfig &config)=0
InputParams::eventMarker
bool eventMarker
Definition: invtracker_proc.h:27
CompletionStatus_Error
@ CompletionStatus_Error
Definition: invtracker_proc.h:34
INvTrackerProc::resetSource
virtual bool resetSource(uint32_t sourceId)=0
Tracker actions when a source is reset.
TrackerConfig::gstName
char * gstName
Definition: invtracker_proc.h:104
TrackingIdResetMode
TrackingIdResetMode
Bitwise flags for tracker id reset.
Definition: invtracker_proc.h:39
TrackerConfig::trackerWidth
uint32_t trackerWidth
Definition: invtracker_proc.h:56
TrackerConfig::outputFootLocation
bool outputFootLocation
Definition: invtracker_proc.h:101
TrackerConfig
Tracker plugin config params.
Definition: invtracker_proc.h:52
INvTrackerProc::submitInput
virtual bool submitInput(const InputParams &inputParams)=0
Submit an input batch to tracker process queue.
INvTrackerProc::removeSource
virtual bool removeSource(uint32_t sourceId, bool removeObjectIdMapping=true)=0
Tracker actions when a source is removed to the pipeline.
nvbufsurface.h
INvTrackerProc::~INvTrackerProc
virtual ~INvTrackerProc()
Definition: invtracker_proc.h:111
CompletionStatus_OK
@ CompletionStatus_OK
Definition: invtracker_proc.h:33
TrackerConfig::computeTarget
NvMOTCompute computeTarget
Definition: invtracker_proc.h:65
TrackingIdResetMode_FromZeroAfterEOS
@ TrackingIdResetMode_FromZeroAfterEOS
Id starts from 0 after stream reaching EOS.
Definition: invtracker_proc.h:46
CompletionStatus_Exit
@ CompletionStatus_Exit
Definition: invtracker_proc.h:35
TrackerConfig::inputTensorMeta
bool inputTensorMeta
Definition: invtracker_proc.h:72
nvdstracker.h
TrackerConfig::trackerHeight
uint32_t trackerHeight
Definition: invtracker_proc.h:57
TrackerConfig::gpuId
int32_t gpuId
Definition: invtracker_proc.h:66
NvBufSurfaceColorFormat
NvBufSurfaceColorFormat
Defines color formats for NvBufSurface.
Definition: nvbufsurface.h:107
InputParams::pBatchMeta
NvDsBatchMeta * pBatchMeta
Definition: invtracker_proc.h:25
TrackerConfig::dynamicSubBatching
bool dynamicSubBatching
dynamicSubBatching will be set to "true" when user specifies sub-batch sizes and
Definition: invtracker_proc.h:79