NVIDIA DeepStream SDK API Reference

4.0.1 Release

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups
nvdsmeta.h File Reference

Detailed Description

NVIDIA DeepStream Metadata Structures

Description: This file defines DeepStream metadata structures.

Definition in file nvdsmeta.h.

Go to the source code of this file.

Data Structures

struct  _NvDsMetaPool
 Holds information about given metadata pool. More...
 
struct  _NvDsBaseMeta
 Holds information about base metadata of given metadata type. More...
 
struct  _NvDsBatchMeta
 Holds information a formed batched containing the frames from different sources. More...
 
struct  _NvDsFrameMeta
 Holds information of frame metadata in the batch. More...
 
struct  _NvDsObjectMeta
 Holds information of object metadata in the frame. More...
 
struct  _NvDsClassifierMeta
 Holds information of classifier metadata in the object. More...
 
struct  _NvDsLabelInfo
 Holds information of label metadata in the classifier. More...
 
struct  NvDsDisplayMeta
 Holds information of display metadata that user can specify in the frame. More...
 
struct  _NvDsUserMeta
 Holds information of user metadata that user can specify. More...
 

Macros

#define MAX_USER_FIELDS   4
 number of additional fields in the metadata structure that user can use More...
 
#define MAX_RESERVED_FIELDS   4
 number of additional reserved fields in the metadata structure. More...
 
#define MAX_LABEL_SIZE   128
 maximum array size to store the text result More...
 
#define MAX_ELEMENTS_IN_DISPLAY_META   16
 maximum elements those can be held in given display metadata More...
 
#define UNTRACKED_OBJECT_ID   0xFFFFFFFFFFFFFFFF
 Untracked object id. More...
 

Typedefs

typedef GList NvDsFrameMetaList
 
typedef GList NvDsUserMetaList
 
typedef GList NvDsObjectMetaList
 
typedef GList NvDisplayMetaList
 
typedef GList NvDsClassifierMetaList
 
typedef GList NvDsLabelInfoList
 
typedef GList NvDsMetaList
 
typedef void NvDsElementMeta
 
typedef gpointer(* NvDsMetaCopyFunc )(gpointer data, gpointer user_data)
 Specifies the type of function to copy meta data. More...
 
typedef void(* NvDsMetaReleaseFunc )(gpointer data, gpointer user_data)
 Specifies the type of function to free meta data. More...
 
typedef struct _NvDsMetaPool NvDsMetaPool
 Holds information about given metadata pool. More...
 
typedef struct _NvDsBaseMeta NvDsBaseMeta
 Holds information about base metadata of given metadata type. More...
 
typedef struct _NvDsBatchMeta NvDsBatchMeta
 Holds information a formed batched containing the frames from different sources. More...
 
typedef struct _NvDsFrameMeta NvDsFrameMeta
 Holds information of frame metadata in the batch. More...
 
typedef struct _NvDsObjectMeta NvDsObjectMeta
 Holds information of object metadata in the frame. More...
 
typedef struct _NvDsClassifierMeta NvDsClassifierMeta
 Holds information of classifier metadata in the object. More...
 
typedef struct _NvDsLabelInfo NvDsLabelInfo
 Holds information of label metadata in the classifier. More...
 
typedef struct NvDsDisplayMeta NvDsDisplayMeta
 Holds information of display metadata that user can specify in the frame. More...
 
typedef struct _NvDsUserMeta NvDsUserMeta
 Holds information of user metadata that user can specify. More...
 

Enumerations

enum  NvDsMetaType {
  NVDS_INVALID_META =-1,
  NVDS_BATCH_META = 1,
  NVDS_FRAME_META,
  NVDS_OBJ_META,
  NVDS_DISPLAY_META,
  NVDS_CLASSIFIER_META,
  NVDS_LABEL_INFO_META,
  NVDS_USER_META,
  NVDS_PAYLOAD_META,
  NVDS_EVENT_MSG_META,
  NVDS_OPTICAL_FLOW_META,
  NVDS_LATENCY_MEASUREMENT_META,
  NVDSINFER_TENSOR_OUTPUT_META,
  NVDSINFER_SEGMENTATION_META,
  NVDS_RESERVED_META = 4095,
  NVDS_GST_CUSTOM_META = 4096,
  NVDS_START_USER_META = NVDS_GST_CUSTOM_META + 4096 + 1,
  NVDS_FORCE32_META = 0x7FFFFFFF
}
 Specifies the type of meta data. More...
 

Functions

void nvds_acquire_meta_lock (NvDsBatchMeta *batch_meta)
 lock to be acquired before updating metadata More...
 
void nvds_release_meta_lock (NvDsBatchMeta *batch_meta)
 lock to be released after updating metadata More...
 
NvDsBatchMetanvds_create_batch_meta (guint max_batch_size)
 Creates a NvDsBatchMeta of given batch size. More...
 
gboolean nvds_destroy_batch_meta (NvDsBatchMeta *batch_meta)
 Releases NvDsBatchMeta batch_meta pointer. More...
 
NvDsFrameMetanvds_acquire_frame_meta_from_pool (NvDsBatchMeta *batch_meta)
 Acquires NvDsFrameMeta from frame_meta pool. More...
 
void nvds_add_frame_meta_to_batch (NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
 After acquiring and filling frame metadata, user must add it to the batch metadata with this API. More...
 
void nvds_remove_frame_meta_from_batch (NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
 Removes given frame meta from the batch metadata. More...
 
NvDsObjectMetanvds_acquire_obj_meta_from_pool (NvDsBatchMeta *batch_meta)
 Acquires NvDsObjectMeta from the object meta pool User must acquire the object meta from the object meta pool to fill object metatada. More...
 
void nvds_add_obj_meta_to_frame (NvDsFrameMeta *frame_meta, NvDsObjectMeta *obj_meta, NvDsObjectMeta *obj_parent)
 After acquiring and filling object metadata user must add it to the frame metadata with this API. More...
 
void nvds_remove_obj_meta_from_frame (NvDsFrameMeta *frame_meta, NvDsObjectMeta *obj_meta)
 Removes given object meta from the frame metadata. More...
 
NvDsClassifierMetanvds_acquire_classifier_meta_from_pool (NvDsBatchMeta *batch_meta)
 Acquires NvDsClassifierMeta from the classifier meta pool User must acquire the classifier meta from the classifier meta pool to fill classifier metatada. More...
 
void nvds_add_classifier_meta_to_object (NvDsObjectMeta *obj_meta, NvDsClassifierMeta *classifier_meta)
 After acquiring and filling classifier metadata user must add it to the object metadata with this API. More...
 
void nvds_remove_classifier_meta_from_obj (NvDsObjectMeta *obj_meta, NvDsClassifierMeta *classifier_meta)
 Removes given classifier meta from object metadata. More...
 
NvDsDisplayMetanvds_acquire_display_meta_from_pool (NvDsBatchMeta *batch_meta)
 Acquires NvDsDisplayMeta from the display meta pool User must acquire the display meta from the display meta pool to fill display metatada. More...
 
void nvds_add_display_meta_to_frame (NvDsFrameMeta *frame_meta, NvDsDisplayMeta *display_meta)
 After acquiring and filling classifier metadata user must add it to the frame metadata with this API. More...
 
void nvds_remove_display_meta_from_frame (NvDsFrameMeta *frame_meta, NvDsDisplayMeta *display_meta)
 Removes given display meta from frame metadata. More...
 
NvDsLabelInfonvds_acquire_label_info_meta_from_pool (NvDsBatchMeta *batch_meta)
 Acquires NvDsLabelInfo from the labelinfo meta pool User must acquire the labelinfo meta from the labelinfo meta pool to fill labelinfo metatada. More...
 
void nvds_add_label_info_meta_to_classifier (NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta)
 After acquiring and filling labelinfo metadata user must add it to the classifier metadata with this API. More...
 
void nvds_remove_label_info_meta_from_classifier (NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta)
 Removes given labelinfo meta from the classifier metadata. More...
 
void nvds_add_user_meta_to_batch (NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
 After acquiring and filling user metadata user must add it to batch metadata if required at batch level with this API. More...
 
void nvds_add_user_meta_to_frame (NvDsFrameMeta *frame_meta, NvDsUserMeta *user_meta)
 After acquiring and filling user metadata user must add it to frame metadata if required at frame level with this API. More...
 
void nvds_add_user_meta_to_obj (NvDsObjectMeta *obj_meta, NvDsUserMeta *user_meta)
 After acquiring and filling user metadata user must add it to object metadata if required at object level with this API. More...
 
NvDsUserMetanvds_acquire_user_meta_from_pool (NvDsBatchMeta *batch_meta)
 acquires NvDsUserMeta from the user meta pool User must acquire the user meta from the user meta pool to fill user metatada More...
 
void nvds_remove_user_meta_from_batch (NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
 Removes given user metadata from the batch metadata. More...
 
void nvds_remove_user_meta_from_frame (NvDsFrameMeta *frame_meta, NvDsUserMeta *user_meta)
 Removes given user metadata from the frame metadata. More...
 
void nvds_remove_user_meta_from_object (NvDsObjectMeta *obj_meta, NvDsUserMeta *user_meta)
 Removes given user metadata from the object metadata. More...
 
gboolean nvds_get_current_metadata_info (NvDsBatchMeta *batch_meta)
 Debug function to get current metadata info. More...
 
gpointer nvds_batch_meta_copy_func (gpointer data, gpointer user_data)
 copy function to copy batch_meta It is called when meta_data needs to copied / transformed from one buffer to other. More...
 
void nvds_batch_meta_release_func (gpointer data, gpointer user_data)
 batch_meta release function called when meta_data is going to be released. More...
 
NvDsFrameMetanvds_get_nth_frame_meta (NvDsFrameMetaList *frame_meta_list, guint index)
 Returns NvDsFrameMeta pointer at given index from the frame_meta_list. More...
 
void nvds_clear_frame_meta_list (NvDsBatchMeta *batch_meta, NvDsFrameMetaList *meta_list)
 removes all the frame metadata present in the batch metadata More...
 
void nvds_clear_obj_meta_list (NvDsFrameMeta *frame_meta, NvDsObjectMetaList *meta_list)
 removes all the object metadata present in the frame metadata More...
 
void nvds_clear_classifier_meta_list (NvDsObjectMeta *obj_meta, NvDsClassifierMetaList *meta_list)
 removes all the classifier metadata present in the object metadata More...
 
void nvds_clear_label_info_meta_list (NvDsClassifierMeta *classifier_meta, NvDsLabelInfoList *meta_list)
 removes all the label info metadata present in classifier metadata More...
 
void nvds_clear_display_meta_list (NvDsFrameMeta *frame_meta, NvDisplayMetaList *meta_list)
 removes all the display metadata present in the frame metadata More...
 
void nvds_clear_batch_user_meta_list (NvDsBatchMeta *batch_meta, NvDsUserMetaList *meta_list)
 removes all the user metadata present in the batch metadata More...
 
void nvds_clear_frame_user_meta_list (NvDsFrameMeta *frame_meta, NvDsUserMetaList *meta_list)
 removes all the user metadata present in the frame metadata More...
 
void nvds_clear_obj_user_meta_list (NvDsObjectMeta *object_meta, NvDsUserMetaList *meta_list)
 removes all the user metadata present in the object metadata More...
 
NvDsMetaListnvds_clear_meta_list (NvDsBatchMeta *batch_meta, NvDsMetaList *meta_list, NvDsMetaPool *meta_pool)
 removes all the metadata elements present in the given metadata list More...
 
void nvds_copy_frame_meta (NvDsFrameMeta *src_frame_meta, NvDsFrameMeta *dst_frame_meta)
 deep copy of src_frame_meta to dst_frame_meta. More...
 
void nvds_copy_obj_meta (NvDsObjectMeta *src_object_meta, NvDsObjectMeta *dst_object_meta)
 deep copy of src_object_meta to dst_object_meta. More...
 
void nvds_copy_classifier_meta (NvDsClassifierMeta *src_classifier_meta, NvDsClassifierMeta *dst_classifier_meta)
 deep copy of src_classifier_meta to dst_classifier_meta. More...
 
void nvds_copy_label_info_meta (NvDsLabelInfo *src_label_info, NvDsLabelInfo *dst_label_info)
 deep copy of src_label_info to dst_label_info. More...
 
void nvds_copy_display_meta (NvDsDisplayMeta *src_display_meta, NvDsDisplayMeta *dst_display_meta)
 deep copy of src_display_meta to dst_display_meta. More...
 
void nvds_copy_batch_user_meta_list (NvDsUserMetaList *src_user_meta_list, NvDsBatchMeta *dst_batch_meta)
 deep copy of src_user_meta_list to user meta list present in the dst_batch_meta. More...
 
void nvds_copy_frame_user_meta_list (NvDsUserMetaList *src_user_meta_list, NvDsFrameMeta *dst_frame_meta)
 deep copy of src_user_meta_list to user meta list present in the dst_frame_meta. More...
 
void nvds_copy_obj_user_meta_list (NvDsUserMetaList *src_user_meta_list, NvDsObjectMeta *dst_object_meta)
 deep copy of src_user_meta_list to user meta list present in the dst_object_meta. More...
 
void nvds_copy_display_meta_list (NvDisplayMetaList *src_display_meta_list, NvDsFrameMeta *dst_frame_meta)
 deep copy of src_display_meta_list to display meta list present in the dst_frame_meta. More...
 
void nvds_copy_frame_meta_list (NvDsFrameMetaList *src_frame_meta_list, NvDsBatchMeta *dst_batch_meta)
 deep copy of src_frame_meta_list to frame meta list present in the dst_batch_meta. More...
 
void nvds_copy_obj_meta_list (NvDsObjectMetaList *src_obj_meta_list, NvDsFrameMeta *dst_frame_meta)
 deep copy of src_obj_meta_list to frame meta list present in the dst_frame_meta. More...
 
void nvds_copy_classification_list (NvDsClassifierMetaList *src_classifier_meta_list, NvDsObjectMeta *dst_object_meta)
 deep copy of src_classifier_meta_list to classifier meta list present in the dst_object_meta. More...
 
void nvds_copy_label_info_list (NvDsLabelInfoList *src_label_info_list, NvDsClassifierMeta *dst_classifier_meta)
 deep copy of src_label_info_list to label info meta list present in the dst_classifier_meta. More...
 
NvDsMetaType nvds_get_user_meta_type (gchar *meta_descriptor)
 generates a unique user metadata type from the given string describing user specific metadata. More...