NVIDIA DeepStream SDK API Reference

4.0.2 Release

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvdsmeta.h
Go to the documentation of this file.
1 
12 #ifndef _NVDSMETA_NEW_H_
13 #define _NVDSMETA_NEW_H_
14 
15 #include "glib.h"
16 #include "gmodule.h"
17 #include "nvll_osd_struct.h"
18 
19 #ifdef __cplusplus
20 extern "C"
21 {
22 #endif
23 
25 #define MAX_USER_FIELDS 4
26 
28 #define MAX_RESERVED_FIELDS 4
29 
30 #define MAX_LABEL_SIZE 128
31 
32 #define MAX_ELEMENTS_IN_DISPLAY_META 16
33 
34 #define UNTRACKED_OBJECT_ID 0xFFFFFFFFFFFFFFFF
35 
36 typedef GList NvDsFrameMetaList;
37 typedef GList NvDsUserMetaList;
38 typedef GList NvDsObjectMetaList;
39 typedef GList NvDisplayMetaList;
40 typedef GList NvDsClassifierMetaList;
41 typedef GList NvDsLabelInfoList;
42 typedef GList NvDsMetaList;
43 typedef void NvDsElementMeta;
44 
53 typedef gpointer (*NvDsMetaCopyFunc) (gpointer data, gpointer user_data);
61 typedef void (*NvDsMetaReleaseFunc) (gpointer data, gpointer user_data);
62 
68 typedef enum {
109  NVDS_FORCE32_META = 0x7FFFFFFF
110 } NvDsMetaType;
111 
115 typedef struct _NvDsMetaPool {
127  NvDsMetaList * empty_list;
129  NvDsMetaList * full_list;
134 }NvDsMetaPool;
135 
139 typedef struct _NvDsBaseMeta {
145  void * uContext;
155 } NvDsBaseMeta;
156 
161 typedef struct _NvDsBatchMeta {
180  NvDsFrameMetaList *frame_meta_list;
182  NvDsUserMetaList *batch_user_meta_list;
185  GRecMutex meta_mutex;
190 } NvDsBatchMeta;
191 
195 typedef struct _NvDsFrameMeta {
200  guint pad_index;
204  guint batch_id;
206  gint frame_num;
208  guint64 buf_pts;
210  guint64 ntp_timestamp;
213  guint source_id;
217  /* width of the frame at the input of stream muxer */
219  /* height of the frame at the input of stream muxer */
221  /* surface type of sub frame. This is required in case multiple surfaces
222  * per frame */
224  /* surface index of sub frame. This is required in case multiple surfaces
225  * per frame */
230  gboolean bInferDone;
232  NvDsObjectMetaList *obj_meta_list;
234  NvDisplayMetaList *display_meta_list;
236  NvDsUserMetaList *frame_user_meta_list;
241 } NvDsFrameMeta;
242 
246 typedef struct _NvDsObjectMeta {
254  gint class_id;
257  guint64 object_id;
259  gfloat confidence;
272  NvDsClassifierMetaList *classifier_meta_list;
274  NvDsUserMetaList *obj_user_meta_list;
280 
284 typedef struct _NvDsClassifierMeta {
287  guint num_labels;
291  NvDsLabelInfoList *label_info_list;
293 
297 typedef struct _NvDsLabelInfo {
300  guint num_classes;
309  guint label_id;
311  gfloat result_prob;
312 } NvDsLabelInfo;
313 
317 typedef struct NvDsDisplayMeta {
320  guint num_rects;
322  guint num_labels;
324  guint num_lines;
342 
346 typedef struct _NvDsUserMeta {
351 } NvDsUserMeta;
352 
358 void nvds_acquire_meta_lock (NvDsBatchMeta *batch_meta);
359 
365 void nvds_release_meta_lock (NvDsBatchMeta *batch_meta);
366 
374 NvDsBatchMeta *nvds_create_batch_meta(guint max_batch_size);
375 
381 gboolean nvds_destroy_batch_meta(NvDsBatchMeta *batch_meta);
382 
394 
405  NvDsFrameMeta * frame_meta);
406 
416  NvDsFrameMeta * frame_meta);
417 
429 
441 void nvds_add_obj_meta_to_frame(NvDsFrameMeta * frame_meta,
442  NvDsObjectMeta *obj_meta, NvDsObjectMeta *obj_parent);
443 
453  NvDsObjectMeta *obj_meta);
454 
466  NvDsBatchMeta *batch_meta);
467 
479  NvDsClassifierMeta * classifier_meta);
480 
490  NvDsClassifierMeta *classifier_meta);
491 
503  NvDsBatchMeta *batch_meta);
504 
515  NvDsDisplayMeta * display_meta);
516 
526  NvDsDisplayMeta *display_meta);
527 
539  NvDsBatchMeta *batch_meta);
540 
551  NvDsClassifierMeta *classifier_meta, NvDsLabelInfo * label_info_meta);
552 
562  NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta);
563 
574  NvDsUserMeta * user_meta);
575 
586  NvDsUserMeta * user_meta);
587 
598  NvDsUserMeta * user_meta);
599 
609 
621  NvDsUserMeta * user_meta);
622 
632  NvDsUserMeta * user_meta);
633 
643  NvDsUserMeta * user_meta);
644 
650 gboolean nvds_get_current_metadata_info(NvDsBatchMeta *batch_meta);
651 
664 gpointer nvds_batch_meta_copy_func (gpointer data, gpointer user_data);
665 
672 void nvds_batch_meta_release_func(gpointer data, gpointer user_data);
673 
683 NvDsFrameMeta *nvds_get_nth_frame_meta (NvDsFrameMetaList *frame_meta_list,
684  guint index);
685 
694  NvDsFrameMetaList *meta_list);
695 
704 void nvds_clear_obj_meta_list(NvDsFrameMeta *frame_meta,
705  NvDsObjectMetaList *meta_list);
706 
716  NvDsClassifierMetaList *meta_list);
717 
727  NvDsLabelInfoList *meta_list);
728 
738  NvDisplayMetaList *meta_list);
739 
749  NvDsUserMetaList *meta_list);
750 
760  NvDsUserMetaList *meta_list);
761 
771  NvDsUserMetaList *meta_list);
772 
782 NvDsMetaList *nvds_clear_meta_list(NvDsBatchMeta *batch_meta,
783  NvDsMetaList *meta_list, NvDsMetaPool *meta_pool);
784 
792 void nvds_copy_frame_meta(NvDsFrameMeta *src_frame_meta,
793  NvDsFrameMeta *dst_frame_meta);
794 
802 void nvds_copy_obj_meta(NvDsObjectMeta *src_object_meta,
803  NvDsObjectMeta *dst_object_meta);
804 
812 void nvds_copy_classifier_meta(NvDsClassifierMeta *src_classifier_meta,
813  NvDsClassifierMeta *dst_classifier_meta);
814 
822 void nvds_copy_label_info_meta(NvDsLabelInfo *src_label_info,
823  NvDsLabelInfo *dst_label_info);
824 
832 void nvds_copy_display_meta(NvDsDisplayMeta *src_display_meta,
833  NvDsDisplayMeta *dst_display_meta);
834 
842 void nvds_copy_batch_user_meta_list(NvDsUserMetaList *src_user_meta_list,
843  NvDsBatchMeta *dst_batch_meta);
844 
852 void nvds_copy_frame_user_meta_list(NvDsUserMetaList *src_user_meta_list,
853  NvDsFrameMeta *dst_frame_meta);
854 
862 void nvds_copy_obj_user_meta_list(NvDsUserMetaList *src_user_meta_list,
863  NvDsObjectMeta *dst_object_meta);
864 
872 void nvds_copy_display_meta_list(NvDisplayMetaList *src_display_meta_list,
873  NvDsFrameMeta *dst_frame_meta);
874 
882 void nvds_copy_frame_meta_list (NvDsFrameMetaList *src_frame_meta_list,
883  NvDsBatchMeta *dst_batch_meta);
884 
892 void nvds_copy_obj_meta_list(NvDsObjectMetaList *src_obj_meta_list,
893  NvDsFrameMeta *dst_frame_meta);
894 
902 void nvds_copy_classification_list(NvDsClassifierMetaList *src_classifier_meta_list,
903  NvDsObjectMeta *dst_object_meta);
904 
912 void nvds_copy_label_info_list(NvDsLabelInfoList *src_label_info_list,
913  NvDsClassifierMeta *dst_classifier_meta);
914 
924 NvDsMetaType nvds_get_user_meta_type(gchar *meta_descriptor);
925 
926 #ifdef __cplusplus
927 }
928 #endif
929 #endif
void NvDsElementMeta
Definition: nvdsmeta.h:43
NvDsFrameMeta * nvds_get_nth_frame_meta(NvDsFrameMetaList *frame_meta_list, guint index)
Returns NvDsFrameMeta pointer at given index from the frame_meta_list.
gchar * pResult_label
A pointer to store the result if it exceeds MAX_LABEL_SIZE bytes.
Definition: nvdsmeta.h:305
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.
Holds information of frame metadata in the batch.
Definition: nvdsmeta.h:195
guint element_size
size of an element in the given pool.
Definition: nvdsmeta.h:121
void nvds_clear_frame_user_meta_list(NvDsFrameMeta *frame_meta, NvDsUserMetaList *meta_list)
removes all the user metadata present in the frame metadata
GList NvDsLabelInfoList
Definition: nvdsmeta.h:41
NvDsMetaList * full_list
List containing full elements.
Definition: nvdsmeta.h:129
void nvds_release_meta_lock(NvDsBatchMeta *batch_meta)
lock to be released after updating metadata
NvDsMetaReleaseFunc release_func
release function to be provided by the user It is called when meta_data is going to be released...
Definition: nvdsmeta.h:154
void nvds_remove_obj_meta_from_frame(NvDsFrameMeta *frame_meta, NvDsObjectMeta *obj_meta)
Removes given object meta from the frame metadata.
metadata type to be set for formed batch
Definition: nvdsmeta.h:71
gint64 reserved[MAX_RESERVED_FIELDS]
For internal purpose.
Definition: nvdsmeta.h:240
gint num_surfaces_per_frame
Number of surfaces present in this frame.
Definition: nvdsmeta.h:216
guint64 object_id
Unique ID for tracking the object.
Definition: nvdsmeta.h:257
Holds information about base metadata of given metadata type.
Definition: nvdsmeta.h:139
void nvds_copy_obj_meta(NvDsObjectMeta *src_object_meta, NvDsObjectMeta *dst_object_meta)
deep copy of src_object_meta to dst_object_meta.
guint num_full_elements
number of filled elements.
Definition: nvdsmeta.h:125
NvDsMetaList * empty_list
List containing empty elements.
Definition: nvdsmeta.h:127
NvDsFrameMeta * nvds_acquire_frame_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires NvDsFrameMeta from frame_meta pool.
NvOSD_TextParams text_params[MAX_ELEMENTS_IN_DISPLAY_META]
Text describing the user defined string can be overlayed using this structure.
Definition: nvdsmeta.h:332
NvDisplayMetaList * display_meta_list
list of pointers of type “NvDsDisplayMeta” in use for the given frame
Definition: nvdsmeta.h:234
gchar result_label[MAX_LABEL_SIZE]
an array to store the string describing the label of the classified object
Definition: nvdsmeta.h:303
NvDsMetaCopyFunc copy_func
copy function to be provided by the user.
Definition: nvdsmeta.h:150
gint class_id
Index of the object class infered by the primary detector/classifier.
Definition: nvdsmeta.h:254
guint num_lines
number of lines present in display meta
Definition: nvdsmeta.h:324
NvOSD_TextParams text_params
Text describing the object can be overlayed using this structure.
Definition: nvdsmeta.h:267
guint label_id
label_id in case of multi label classifier
Definition: nvdsmeta.h:309
gint unique_component_id
unique component id that attaches NvDsClassifierMeta metadata
Definition: nvdsmeta.h:289
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:298
void nvds_copy_display_meta(NvDsDisplayMeta *src_display_meta, NvDsDisplayMeta *dst_display_meta)
deep copy of src_display_meta to dst_display_meta.
void nvds_copy_label_info_meta(NvDsLabelInfo *src_label_info, NvDsLabelInfo *dst_label_info)
deep copy of src_label_info to dst_label_info.
struct NvDsDisplayMeta NvDsDisplayMeta
Holds information of display metadata that user can specify in the frame.
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 lev...
gint64 misc_osd_data[MAX_USER_FIELDS]
user specific osd metadata
Definition: nvdsmeta.h:338
Holds information of label metadata in the classifier.
Definition: nvdsmeta.h:297
NvDsMetaType
Specifies the type of meta data.
Definition: nvdsmeta.h:68
metadata type to be set for detected object
Definition: nvdsmeta.h:75
used for internal purpose
Definition: nvdsmeta.h:83
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:318
guint num_rects
number of rectangles present in display meta
Definition: nvdsmeta.h:320
struct _NvDsFrameMeta NvDsFrameMeta
Holds information of frame metadata in the batch.
struct _NvDsObjectMeta NvDsObjectMeta
Holds information of object metadata in the frame.
void nvds_clear_batch_user_meta_list(NvDsBatchMeta *batch_meta, NvDsUserMetaList *meta_list)
removes all the user metadata present in the batch metadata
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...
NvDsUserMeta * nvds_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...
struct _NvDsObjectMeta * parent
pointer to the parent NvDsObjectMeta.
Definition: nvdsmeta.h:250
struct _NvDsBatchMeta NvDsBatchMeta
Holds information a formed batched containing the frames from different sources.
#define MAX_USER_FIELDS
Copyright (c) 2019, NVIDIA CORPORATION.
Definition: nvdsmeta.h:25
gboolean bInferDone
boolean indicating whether inference is performed on given frame
Definition: nvdsmeta.h:230
void nvds_remove_user_meta_from_object(NvDsObjectMeta *obj_meta, NvDsUserMeta *user_meta)
Removes given user metadata from the object metadata.
NvDsMetaReleaseFunc release_func
release function.
Definition: nvdsmeta.h:133
Holds information of user metadata that user can specify.
Definition: nvdsmeta.h:346
Holds the box parameters of the box to be overlayed.
guint max_frames_in_batch
maximum number of frames those can be present the batch
Definition: nvdsmeta.h:164
struct _NvDsUserMeta NvDsUserMeta
Holds information of user metadata that user can specify.
Reserved field.
Definition: nvdsmeta.h:100
NvDsBaseMeta base_meta
base metadata for frame
Definition: nvdsmeta.h:197
void nvds_batch_meta_release_func(gpointer data, gpointer user_data)
batch_meta release function called when meta_data is going to be released.
NvDsMetaPool * obj_meta_pool
pool of pointers of type “NvDsObjMeta”
Definition: nvdsmeta.h:170
void * uContext
pointer to user context.
Definition: nvdsmeta.h:145
gpointer(* NvDsMetaCopyFunc)(gpointer data, gpointer user_data)
Specifies the type of function to copy meta data.
Definition: nvdsmeta.h:53
gint64 misc_obj_info[MAX_USER_FIELDS]
For additional user object info.
Definition: nvdsmeta.h:276
guint num_labels
number of outputs/labels of the classifier
Definition: nvdsmeta.h:287
GList NvDsMetaList
Definition: nvdsmeta.h:42
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.
gint64 misc_batch_info[MAX_USER_FIELDS]
For additional user specific batch info.
Definition: nvdsmeta.h:187
guint batch_id
location of the frame in the batch.
Definition: nvdsmeta.h:204
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 ...
struct _NvDsMetaPool NvDsMetaPool
Holds information about given metadata pool.
metadata type to be set for payload generated by msg broker
Definition: nvdsmeta.h:88
GList NvDisplayMetaList
Definition: nvdsmeta.h:39
struct _NvDsBaseMeta NvDsBaseMeta
Holds information about base metadata of given metadata type.
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.
GList NvDsObjectMetaList
Definition: nvdsmeta.h:38
Holds information about given metadata pool.
Definition: nvdsmeta.h:115
Holds information a formed batched containing the frames from different sources.
Definition: nvdsmeta.h:161
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.
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:347
NvDsMetaPool * label_info_meta_pool
A pool of pointers of type “NvDsLabelInfo”
Definition: nvdsmeta.h:178
NvDsLabelInfoList * label_info_list
list of label pointers of the given class
Definition: nvdsmeta.h:291
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 lev...
NvDsMetaPool * display_meta_pool
A pool of pointers of type “NvDsDisplayMeta”
Definition: nvdsmeta.h:174
GRecMutex meta_mutex
lock to be taken before accessing metadata to avoid simultaneous update of same metadata by multiple ...
Definition: nvdsmeta.h:185
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:285
guint result_class_id
class_id of the best result
Definition: nvdsmeta.h:307
Holds information of classifier metadata in the object.
Definition: nvdsmeta.h:284
metadata type to be set for frame
Definition: nvdsmeta.h:73
void nvds_remove_display_meta_from_frame(NvDsFrameMeta *frame_meta, NvDsDisplayMeta *display_meta)
Removes given display meta from frame metadata.
#define MAX_LABEL_SIZE
maximum array size to store the text result
Definition: nvdsmeta.h:30
metadata type to be set for metadata attached by nvidia gstreamer plugins before nvstreammux gstreame...
Definition: nvdsmeta.h:106
guint64 ntp_timestamp
ntp timestamp 
Definition: nvdsmeta.h:210
NvDsObjectMetaList * obj_meta_list
list of pointers of type “NvDsObjectMeta” in use for the given frame
Definition: nvdsmeta.h:232
void nvds_clear_label_info_meta_list(NvDsClassifierMeta *classifier_meta, NvDsLabelInfoList *meta_list)
removes all the label info metadata present in classifier metadata
GList NvDsFrameMetaList
Definition: nvdsmeta.h:36
guint max_elements_in_pool
max elements in the pool.
Definition: nvdsmeta.h:119
NvDsMetaPool * classifier_meta_pool
pool of pointers of type “NvDsClassifierMeta”
Definition: nvdsmeta.h:172
NvOSD_RectParams rect_params[MAX_ELEMENTS_IN_DISPLAY_META]
Structure containing the positional parameters to overlay borders or semi-transparent rectangles as r...
Definition: nvdsmeta.h:329
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...
void nvds_remove_classifier_meta_from_obj(NvDsObjectMeta *obj_meta, NvDsClassifierMeta *classifier_meta)
Removes given classifier meta from object metadata.
#define MAX_ELEMENTS_IN_DISPLAY_META
maximum elements those can be held in given display metadata
Definition: nvdsmeta.h:32
gint64 reserved[MAX_RESERVED_FIELDS]
For internal purpose only.
Definition: nvdsmeta.h:278
Holds information of object metadata in the frame.
Definition: nvdsmeta.h:246
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.
void nvds_copy_classifier_meta(NvDsClassifierMeta *src_classifier_meta, NvDsClassifierMeta *dst_classifier_meta)
deep copy of src_classifier_meta to dst_classifier_meta.
gint64 reserved[MAX_RESERVED_FIELDS]
for internal purpose
Definition: nvdsmeta.h:340
Holds the box parameters of the line to be overlayed.
void nvds_remove_user_meta_from_batch(NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
Removes given user metadata from the batch metadata.
GList NvDsClassifierMetaList
Definition: nvdsmeta.h:40
gfloat result_prob
probability of best result
Definition: nvdsmeta.h:311
void nvds_clear_classifier_meta_list(NvDsObjectMeta *obj_meta, NvDsClassifierMetaList *meta_list)
removes all the classifier metadata present in the object metadata
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 l...
metadata type to be set for display
Definition: nvdsmeta.h:77
NvDsMetaPool * user_meta_pool
A pool of pointers of type “NvDsUserMeta”
Definition: nvdsmeta.h:176
NvDsMetaList * nvds_clear_meta_list(NvDsBatchMeta *batch_meta, NvDsMetaList *meta_list, NvDsMetaPool *meta_pool)
removes all the metadata elements present in the given metadata list
NvDsDisplayMeta * nvds_acquire_display_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires NvDsDisplayMeta from the display meta pool User must acquire the display meta from the displ...
GList NvDsUserMetaList
Definition: nvdsmeta.h:37
metadata type to be set for latency measurement
Definition: nvdsmeta.h:92
NvDsBatchMeta * nvds_create_batch_meta(guint max_batch_size)
Creates a NvDsBatchMeta of given batch size.
gboolean nvds_destroy_batch_meta(NvDsBatchMeta *batch_meta)
Releases NvDsBatchMeta batch_meta pointer.
gint frame_num
current frame number of the source
Definition: nvdsmeta.h:206
void nvds_clear_obj_meta_list(NvDsFrameMeta *frame_meta, NvDsObjectMetaList *meta_list)
removes all the object metadata present in the frame metadata
guint pad_index
pad or port index of stream muxer component for the frame in the batch
Definition: nvdsmeta.h:200
NVIDIA Multimedia Utilities: On-Screen Display Manager
Holds the text parameters of the text to be overlayed.
guint num_labels
number of labels/strings present in display meta
Definition: nvdsmeta.h:322
guint source_frame_height
Definition: nvdsmeta.h:220
metadata type to be set for optical flow
Definition: nvdsmeta.h:90
void nvds_remove_user_meta_from_frame(NvDsFrameMeta *frame_meta, NvDsUserMeta *user_meta)
Removes given user metadata from the frame metadata.
NvDsUserMetaList * obj_user_meta_list
list of pointers of type NvDsUserMeta
Definition: nvdsmeta.h:274
guint surface_index
Definition: nvdsmeta.h:226
struct _NvDsLabelInfo NvDsLabelInfo
Holds information of label metadata in the classifier.
void nvds_clear_frame_meta_list(NvDsBatchMeta *batch_meta, NvDsFrameMetaList *meta_list)
removes all the frame metadata present in the batch metadata
void nvds_copy_frame_meta(NvDsFrameMeta *src_frame_meta, NvDsFrameMeta *dst_frame_meta)
deep copy of src_frame_meta to dst_frame_meta.
NvDsClassifierMetaList * classifier_meta_list
list of pointers of type NvDsClassifierMeta
Definition: nvdsmeta.h:272
struct _NvDsClassifierMeta NvDsClassifierMeta
Holds information of classifier metadata in the object.
guint num_classes
number of classes of the given label
Definition: nvdsmeta.h:300
NvOSD_RectParams rect_params
Structure containing the positional parameters of the object in the frame.
Definition: nvdsmeta.h:264
NvDsObjectMeta * nvds_acquire_obj_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires NvDsObjectMeta from the object meta pool User must acquire the object meta from the object m...
guint surface_type
Definition: nvdsmeta.h:223
guint num_frames_in_batch
Number of frames present in the current batch.
Definition: nvdsmeta.h:166
guint source_id
source_id of the frame in the batch e.g.
Definition: nvdsmeta.h:213
metadata type to be set for object classifier
Definition: nvdsmeta.h:79
gint64 reserved[MAX_RESERVED_FIELDS]
For internal purpose.
Definition: nvdsmeta.h:189
gfloat confidence
confidence value of the object, set by inference component
Definition: nvdsmeta.h:259
Start adding user specific meta types from here.
Definition: nvdsmeta.h:108
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:247
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. ...
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...
NvDsMetaType meta_type
type of the pool.
Definition: nvdsmeta.h:117
metadata type to be set for payload generated by msg converter
Definition: nvdsmeta.h:86
void * user_meta_data
pointer to user data to be attached Refer to deepstream-user-metadata-test example for usage ...
Definition: nvdsmeta.h:350
guint num_empty_elements
number of empty elements.
Definition: nvdsmeta.h:123
gint64 misc_frame_info[MAX_USER_FIELDS]
For additional user frame info.
Definition: nvdsmeta.h:238
void nvds_clear_display_meta_list(NvDsFrameMeta *frame_meta, NvDisplayMetaList *meta_list)
removes all the display metadata present in the frame metadata
metadata type of raw inference output attached by gst-nvinfer.
Definition: nvdsmeta.h:95
guint64 buf_pts
pts of the frame
Definition: nvdsmeta.h:208
NvDsFrameMetaList * frame_meta_list
A list of pointers of type “NvDsFrameMeta" in use in the current batch.
Definition: nvdsmeta.h:180
NvDsMetaPool * frame_meta_pool
pool of pointers of type “NvDsFrameMeta”
Definition: nvdsmeta.h:168
void nvds_remove_frame_meta_from_batch(NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
Removes given frame meta from the batch metadata.
void nvds_remove_label_info_meta_from_classifier(NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta)
Removes given labelinfo meta from the classifier metadata.
void nvds_clear_obj_user_meta_list(NvDsObjectMeta *object_meta, NvDsUserMetaList *meta_list)
removes all the user metadata present in the object metadata
gboolean nvds_get_current_metadata_info(NvDsBatchMeta *batch_meta)
Debug function to get current metadata info.
gint unique_component_id
unique component id that attaches NvDsObjectMeta metadata
Definition: nvdsmeta.h:252
NvDsMetaType nvds_get_user_meta_type(gchar *meta_descriptor)
generates a unique user metadata type from the given string describing user specific metadata...
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 b...
NvDsUserMetaList * batch_user_meta_list
A list of pointers of type “NvDsUserMeta” in use in the current batch.
Definition: nvdsmeta.h:182
NvDsMetaCopyFunc copy_func
copy function.
Definition: nvdsmeta.h:131
metadata type of segmentation model output attached by gst-nvinfer.
Definition: nvdsmeta.h:98
NvDsLabelInfo * nvds_acquire_label_info_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires NvDsLabelInfo from the labelinfo meta pool User must acquire the labelinfo meta from the lab...
guint source_frame_width
Definition: nvdsmeta.h:218
NvDsUserMetaList * frame_user_meta_list
list of pointers of type “NvDsUserMeta” in use for the given frame
Definition: nvdsmeta.h:236
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.
NvDsClassifierMeta * nvds_acquire_classifier_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires NvDsClassifierMeta from the classifier meta pool User must acquire the classifier meta from ...
#define MAX_RESERVED_FIELDS
number of additional reserved fields in the metadata structure.
Definition: nvdsmeta.h:28
NvDsMetaType meta_type
metadata type of the given element
Definition: nvdsmeta.h:143
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:162
metadata type to be set for given label of classifier
Definition: nvdsmeta.h:81
struct _NvDsBatchMeta * batch_meta
pointer to batch_meta
Definition: nvdsmeta.h:141
NvOSD_LineParams line_params[MAX_ELEMENTS_IN_DISPLAY_META]
parameters of the line of polygon that user can draw in the frame.
Definition: nvdsmeta.h:336
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...
guint num_obj_meta
number of object meta elements attached to the current frame
Definition: nvdsmeta.h:228
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.
gchar obj_label[MAX_LABEL_SIZE]
an array to store the string describing the class of the detected object
Definition: nvdsmeta.h:270
void(* NvDsMetaReleaseFunc)(gpointer data, gpointer user_data)
Specifies the type of function to free meta data.
Definition: nvdsmeta.h:61
void nvds_acquire_meta_lock(NvDsBatchMeta *batch_meta)
lock to be acquired before updating metadata
Holds information of display metadata that user can specify in the frame.
Definition: nvdsmeta.h:317