28 #ifndef _NVMOTRACKER_H_
29 #define _NVMOTRACKER_H_
42 #define NVMOT_MAX_TRANSFORMS 4
52 #define NVMOTCOMP_GPU 0x01
53 #define NVMOTCOMP_CPU 0x02
54 #define NVMOTCOMP_PVA 0x04
55 #define NVMOTCOMP_ANY 0xff
57 #define NVMOTCOMP_DEFAULT NVMOTCOMP_ANY
99 typedef void (*
logMsg) (
int logLevel,
const char * format, ...);
363 NvMOTContextHandle *pContextHandle,
uint16_t customConfigFilePathSize
Holds the length of customConfigFilePath.
struct _NvMOTPerTransformBatchConfig NvMOTPerTransformBatchConfig
Holds a configuration for batches for an input transform (a scaling/color conversion).
Holds a batch of lists of tracked objects.
uint32_t maxObjPerBatch
Holds the maximum number of objects to track per batch.
NvBufSurfaceColorFormat
Specifies color formats for NvBufSurface.
uint8_t numTransforms
Holds the number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
NvMOTCompute computeConfig
Holds the compute target.
struct _NvMOTObjToTrackList NvMOTObjToTrackList
Holds a list of objects.
Holds information about each tracked object.
uint32_t numFilled
Holds the number of populated blocks in the list.
NvMOTStatus NvMOT_Query(uint16_t customConfigFilePathSize, char *pCustomConfigFilePath, NvMOTQuery *pQuery)
Queries the tracker library's capabilities and requirements.
float width
Holds the width of the bounding box, in pixels.
Batch of lists of buffered objects.
uint32_t maxStreams
Holds the maximum number of streams in a batch.
bool reset
Holds a Boolean which is true to reset tracking for the stream.
void NvMOT_DeInit(NvMOTContextHandle contextHandle)
Deinitializes a stream context.
struct NvMOTContext * NvMOTContextHandle
uint8_t numTransforms
Holds the number of NvMOTPerTransformBatchConfig entries in perTransformBatchConfig.
NvMOTObjToTrackList objectsIn
Holds a list of objects in this frame which are to be tracked.
char * customConfigFilePath
A pointer to the pathname of the tracker's custom configuration file.
Holds a tracker configuration.
NvMOTTrackedObj * list
Holds a pointer to a list or array of object information blocks.
uint16_t classId
Holds the class of the object.
NvMOTConfigStatus transformBatchStatus
Holds the transform batch configuration request status: summary status for all transforms.
NvMOTCompute computeConfig
Holds flags for supported compute targets.
float y
Holds the top edge position of the object bounding box, in pixels.
NvMOTFrame * frameList
Holds a pointer to an array of frame data.
struct _NvMOTConfigResponse NvMOTConfigResponse
Holds a tracker's configuration status.
bool doTracking
Holds a Boolean which is true if NvMOT is to track this object.
bool doTracking
Holds a Boolean which is true if objects in this frame are to be tracked.
struct _NvMOTRect NvMOTRect
Holds the definition of a rectangle.
NvMOTRect bbox
Holds the bounding box.
struct _NvMOTObjToTrack NvMOTObjToTrack
Holds information about an object to be tracked.
Holds information about a single buffer in a batch.
uint32_t numAllocated
Holds the number of blocks allocated for the list.
uint32_t numAllocated
Holds the number of blocks allocated for the list.
uint32_t frameNum
Holds the frame number for objects in the list.
struct _NvMOTTrackedObjList NvMOTTrackedObjList
Holds a list of tracked objects.
Holds miscellaneous configurations.
NvBufSurfaceColorFormat colorFormats[NVMOT_MAX_TRANSFORMS]
Holds the color formats for input buffers; a required value.
void(* logMsg)(int logLevel, const char *format,...)
Holds a pointer to a callback for logging messages.
NvMOTStatus NvMOT_Process(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvMOTTrackedObjBatch *pTrackedObjectsBatch)
Processes a batch.
NvMOTConfigStatus
Defines configuration request return codes.
struct _NvMOTMiscConfig NvMOTMiscConfig
Holds miscellaneous configurations.
uint8_t numBuffers
Holds the number of entries in bufferList.
NvMOTConfigStatus computeStatus
Holds the compute target request status.
uint16_t classId
Holds the class ID of the object to be tracked.
NvMOTConfigStatus miscConfigStatus
Holds the status of the miscellaneous configurations.
uint64_t trackingId
Holds a unique ID for the object, assigned by the tracker.
struct _NvMOTProcessParams NvMOTProcessParams
Holds parameters for processing a batch.
void NvMOT_RemoveStreams(NvMOTContextHandle contextHandle, NvMOTStreamId streamIdMask)
Removes streams from a batch.
uint32_t gpuId
Holds the ID of the GPU to be used.
NvMOTStatus NvMOT_Init(NvMOTConfig *pConfigIn, NvMOTContextHandle *pContextHandle, NvMOTConfigResponse *pConfigResponse)
Initializes a tracking context for a batch of one or more image streams.
#define NVMOT_MAX_TRANSFORMS
NvMOTMiscConfig miscConfig
Holds miscellaneous configurations.
NvMOTStatus NvMOT_ProcessPast(NvMOTContextHandle contextHandle, NvMOTProcessParams *pParams, NvDsPastFrameObjBatch *pPastFrameObjBatch)
Process the past-frame data in the low-level tracker lib and retrieve.
NvMOTObjToTrack * list
Holds a pointer to a list or array of object information blocks.
bool supportBatchProcessing
Holds a Boolean which is true if batch processing is supported.
bool detectionDone
Holds a Boolean which is true if detection was done on this frame even if the list of objects to trac...
float x
Holds the left edge position of the object bounding box, in pixels.
bool timeStampValid
Holds a Boolean which is true if the timestamp value is properly populated.
Holds a list of tracked objects.
float confidence
Holds the detection confidence of the object.
uint32_t age
Holds the track length in frames.
NvMOTPerTransformBatchConfig * perTransformBatchConfig
Holds a pointer to a list of numTransform batch configurations, one per transform, including type and resolution.
NvMOTStatus
Defines generic status codes for tracking operations.
struct _NvMOTTrackedObjBatch NvMOTTrackedObjBatch
Holds a batch of lists of tracked objects.
struct _NvMOTQuery NvMOTQuery
uint32_t frameNum
Holds the sequential frame number that identifies the frame within the stream.
uint32_t numFrames
Holds the number of frames in the batch.
Holds parameters for processing a batch.
NvMOTRect bbox
Holds the bounding box of the object.
Holds a tracker's configuration status.
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
uint32_t maxObjPerStream
Holds the maximum number of objects to track per stream.
time_t timeStamp
Holds the timestamp of the frame at the time of capture.
NvBufSurfaceMemType memType
Holds the preferred memory type for input buffers.
NvMOTConfigStatus customConfigStatus
Holds the status of the custom configurations.
struct _NvMOTConfig NvMOTConfig
Holds a tracker configuration.
NvMOTStreamId streamID
Holds the stream ID of the stream associated with objects in the list.
NvMOTConfigStatus summaryStatus
Holds the summary status of the entire configuration request.
uint32_t numAllocated
Holds the number of blocks allocated for the list.
float height
Holds the height of the bounding box, in pixels.
Holds the definition of a rectangle.
Holds a frame containing the image and objects to be tracked.
Holds information about an object to be tracked.
uint32_t numFilled
Holds the number of filled blocks in the list.
float confidence
Holds the tracking confidence of the object.
void * pPreservedData
Holds a pointer to client data associated with the object.
bool valid
Holds a Boolean which is true if this entry in the batch is valid.
struct _NvMOTFrame NvMOTFrame
Holds a frame containing the image and objects to be tracked.
uint32_t numFilled
Holds the number of populated blocks in the list.
NvMOTObjToTrack * associatedObjectIn
Holds a pointer to the associated input object, if there is one.
NvBufSurfaceParams ** bufferList
Holds a pointer to an array of pointers to buffer parameter structures.
struct _NvMOTTrackedObj NvMOTTrackedObj
Holds information about each tracked object.
NvMOTTrackedObjList * list
Holds a pointer to an array of object lists.
bool supportPastFrame
Holds a Boolean which is true if outputing past frame is supported.
NvMOTStreamId streamID
Holds the stream ID of the stream source for this frame.