28 #ifndef _NVMOTRACKER_H_
29 #define _NVMOTRACKER_H_
41 #define NVMOT_MAX_TRANSFORMS 4
51 #define NVMOTCOMP_GPU 0x01
52 #define NVMOTCOMP_CPU 0x02
53 #define NVMOTCOMP_PVA 0x04
54 #define NVMOTCOMP_ANY 0xff
55 #define NVMOTCOMP_DEFAULT NVMOTCOMP_ANY
82 typedef void (*
logMsg) (
int logLevel,
const char * format, ...);
274 NvMOTContextHandle *pContextHandle,
NvMOTStatus NvMOT_Process(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackedObjBatch *pTrackedObjectsBatch)
Process a batch.
uint16_t customConfigFilePathSize
The char length in customConfigFilePath.
struct _NvMOTQuery NvMOTQuery
struct _NvMOTRect NvMOTRect
Rectangle.
struct _NvMOTConfig NvMOTConfig
Tracker configuration.
int height
Height of the bounding box in pixels.
Batch of lists of tracked objects.
uint32_t maxObjPerBatch
Max number of objects to track per batch.
NvMOTStatus NvMOT_Init(NvMOTConfig *pConfigIn, NvMOTContextHandle *pContextHandle, NvMOTConfigResponse *pConfigResponse)
Initialize tracking context for a batch.
uint8_t numTransforms
Number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
void NvMOT_DeInit(NvMOTContextHandle contextHandle)
De-initialize a stream context.
NvMOTCompute computeConfig
Compute target.
Information for each tracked object.
uint32_t numFilled
Number of populated blocks in the list.
uint32_t maxStreams
Maximum number of streams in a batch.
bool reset
True: reset tracking for the stream.
uint8_t numTransforms
Number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
struct _NvMOTPerTransformBatchConfig NvMOTPerTransformBatchConfig
Configuration for batches for each input transform (scaling/color conversion)
NvMOTObjToTrackList objectsIn
List of objects to be tracked in this frame.
struct _NvMOTProcessParams NvMOTProcessParams
Parameters for processing each batch.
char * customConfigFilePath
Path to the tracker's custom config file.
NvMOTTrackedObj * list
Pointer to a list/array of object info blocks.
uint16_t classId
Class of the object to be tracked.
NvMOTConfigStatus transformBatchStatus
Transform batch config request status.
NvMOTCompute computeConfig
Supported compute targets.
NvMOTFrame * frameList
Pointer to an array of frame data.
bool doTracking
True: track this object.
bool doTracking
True: track objects in this frame; False: do not track this frame.
int width
Width of the bounding box in pixels.
struct NvMOTContext * NvMOTContextHandle
NvMOTRect bbox
Bounding box.
int x
Pixel coordinate of left edge of the object bounding box.
NvMOTStatus
Generic status for tracking operations.
struct _NvMOTMiscConfig NvMOTMiscConfig
Miscellaneous configurations.
Holds information about a single buffer in a batch.
uint32_t numAllocated
Number of blocks allocated for the list.
uint32_t numAllocated
Number of blocks allocated for the list.
uint32_t frameNum
Frame number for objects in the list.
struct _NvMOTTrackedObj NvMOTTrackedObj
Information for each tracked object.
Miscellaneous configurations.
NvBufSurfaceColorFormat colorFormats[NVMOT_MAX_TRANSFORMS]
Required color formats for input buffers.
void NvMOT_RemoveStreams(NvMOTContextHandle contextHandle, NvMOTStreamId streamIdMask)
Optional handler for removing streams from a batch.
void(* logMsg)(int logLevel, const char *format,...)
Callback for logging messages.
uint8_t numBuffers
Number of entries in bufferList.
NvMOTStatus NvMOT_Query(uint16_t customConfigFilePathSize, char *pCustomConfigFilePath, NvMOTQuery *pQuery)
Query tracker lib capabilities and requirements.
NvMOTConfigStatus
Configuration request return status.
struct _NvMOTObjToTrackList NvMOTObjToTrackList
List of objects.
struct _NvMOTConfigResponse NvMOTConfigResponse
Tracker configuration status.
NvMOTConfigStatus computeStatus
Compute target request status.
uint16_t classId
Class of the object to be tracked.
NvMOTConfigStatus miscConfigStatus
Status of the miscellaneous configs.
uint64_t trackingId
Unique ID for the object as assigned by the tracker.
struct _NvMOTFrame NvMOTFrame
Frame containing the image and objects to be tracked.
NvBufSurfaceColorFormat
Specifies color formats for NvBufSurface.
uint32_t gpuId
GPU to be used.
#define NVMOT_MAX_TRANSFORMS
NvMOTMiscConfig miscConfig
Miscellaneous configs.
NvMOTObjToTrack * list
Pointer to a list/array of object info blocks.
bool supportBatchProcessing
Whether batch processing is supported.
struct _NvMOTTrackedObjBatch NvMOTTrackedObjBatch
Batch of lists of tracked objects.
bool detectionDone
True if detection was done on this frame even if the list of objects to track is empty.
int y
Pixel coordinate of top edge of the object bounding box.
bool timeStampValid
The timestamp value is properly populated.
float confidence
Detection confidence of the object.
uint32_t age
Track length in frames.
NvMOTPerTransformBatchConfig * perTransformBatchConfig
List of numTransform batch configs including type and resolution, one for each transform.
uint32_t frameNum
Frame number sequentially identifying the frame within a stream.
uint32_t numFrames
Number of frames in the batch.
Parameters for processing each batch.
NvMOTRect bbox
Bounding box.
Tracker configuration status.
uint32_t maxObjPerStream
Max number of objects to track per stream.
time_t timeStamp
Timestamp of the frame at the time of capture.
NvBufSurfaceMemType memType
Preferred memory type of input buffers.
NvMOTConfigStatus customConfigStatus
Status of the custom configs.
NvMOTStreamId streamID
Stream associated with objects in the list.
NvMOTConfigStatus summaryStatus
Summary status of the entire configuration request.
uint32_t numAllocated
Number of blocks allocated for the list.
Frame containing the image and objects to be tracked.
Information for each object to be tracked.
uint32_t numFilled
Number of filled blocks in the list.
float confidence
Tracking confidence of the object.
struct _NvMOTTrackedObjList NvMOTTrackedObjList
List of tracked objects.
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
struct _NvMOTObjToTrack NvMOTObjToTrack
Information for each object to be tracked.
void * pPreservedData
Used for the client to keep track of any data associated with the object.
bool valid
This entry in the batch is valid.
uint32_t numFilled
Number of populated blocks in the list.
NvMOTObjToTrack * associatedObjectIn
The associated input object if there is one.
NvBufSurfaceParams ** bufferList
Array of pointers to buffer params.
NvMOTTrackedObjList * list
Pointer to array of obj lists.
NvMOTStreamId streamID
The stream source for this frame.