NVIDIA DeepStream SDK API Reference

5.0 Release

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvdsmeta.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  *
10  */
11 
27 #ifndef _NVDSMETA_NEW_H_
28 #define _NVDSMETA_NEW_H_
29 
30 #include <stdbool.h>
31 
32 #include "glib.h"
33 #include "gmodule.h"
34 #include "nvll_osd_struct.h"
35 
36 #ifdef __cplusplus
37 extern "C"
38 {
39 #endif
40 
43 #define MAX_USER_FIELDS 4
44 
45 #define MAX_RESERVED_FIELDS 4
46 
47 #define MAX_LABEL_SIZE 128
48 
50 #define MAX_ELEMENTS_IN_DISPLAY_META 16
51 
52 #define UNTRACKED_OBJECT_ID 0xFFFFFFFFFFFFFFFF
53 
54 typedef GList NvDsFrameMetaList;
55 typedef GList NvDsUserMetaList;
56 typedef GList NvDsObjectMetaList;
57 typedef GList NvDisplayMetaList;
58 typedef GList NvDsClassifierMetaList;
59 typedef GList NvDsLabelInfoList;
60 typedef GList NvDsMetaList;
61 typedef void NvDsElementMeta;
62 
63 /* In the following doc comment:
64  * @param[in] user_data A pointer to user-specific data. For internal use
65  * only; in applications it must be set to NULL.
66  */
77 typedef gpointer (*NvDsMetaCopyFunc) (gpointer data, gpointer user_data);
78 
89 typedef void (*NvDsMetaReleaseFunc) (gpointer data, gpointer user_data);
90 
98 typedef enum {
156  NVDS_FORCE32_META = 0x7FFFFFFF
157 } NvDsMetaType;
158 
163 typedef struct _NvDsComp_BboxInfo
164 {
167 
171 typedef struct _NvDsMetaPool {
177  NvDsMetaList * empty_list;
178  NvDsMetaList * full_list;
181 }NvDsMetaPool;
182 
186 typedef struct _NvDsBaseMeta {
192  void * uContext;
200 } NvDsBaseMeta;
201 
206 typedef struct _NvDsBatchMeta {
234  NvDsFrameMetaList *frame_meta_list;
237  NvDsUserMetaList *batch_user_meta_list;
240  GRecMutex meta_mutex;
245 } NvDsBatchMeta;
246 
250 typedef struct _NvDsFrameMeta {
255  guint pad_index;
259  guint batch_id;
261  gint frame_num;
263  guint64 buf_pts;
265  guint64 ntp_timestamp;
268  guint source_id;
272  /* Holds the width of the frame at input to Gst-streammux. */
274  /* Holds the height of the frame at input to Gst-streammux. */
276  /* Holds the surface type of the subframe, required in case of
277  multiple surfaces in the frame. */
279  /* Holds the surface index of tje subframe, required in case of
280  multiple surfaces in the frame. */
285  gboolean bInferDone;
288  NvDsObjectMetaList *obj_meta_list;
291  NvDisplayMetaList *display_meta_list;
294  NvDsUserMetaList *frame_user_meta_list;
299 } NvDsFrameMeta;
300 
304 typedef struct _NvDsObjectMeta {
314  gint class_id;
317  guint64 object_id;
329  gfloat confidence;
350  NvDsClassifierMetaList *classifier_meta_list;
352  NvDsUserMetaList *obj_user_meta_list;
358 
362 typedef struct _NvDsClassifierMeta {
365  guint num_labels;
369  NvDsLabelInfoList *label_info_list;
371 
375 typedef struct _NvDsLabelInfo {
378  guint num_classes;
386  guint label_id;
388  gfloat result_prob;
389 } NvDsLabelInfo;
390 
394 typedef struct NvDsDisplayMeta {
397  guint num_rects;
399  guint num_labels;
401  guint num_lines;
403  guint num_arrows;
405  guint num_circles;
427 
431 typedef struct _NvDsUserMeta {
436 } NvDsUserMeta;
437 
444 void nvds_acquire_meta_lock (NvDsBatchMeta *batch_meta);
445 
451 void nvds_release_meta_lock (NvDsBatchMeta *batch_meta);
452 
459 NvDsBatchMeta *nvds_create_batch_meta(guint max_batch_size);
460 
468 gboolean nvds_destroy_batch_meta(NvDsBatchMeta *batch_meta);
469 
481 
491  NvDsFrameMeta * frame_meta);
492 
502  NvDsFrameMeta * frame_meta);
503 
515 
528 void nvds_add_obj_meta_to_frame(NvDsFrameMeta * frame_meta,
529  NvDsObjectMeta *obj_meta, NvDsObjectMeta *obj_parent);
530 
540  NvDsObjectMeta *obj_meta);
541 
555  NvDsBatchMeta *batch_meta);
556 
570  NvDsClassifierMeta * classifier_meta);
571 
581  NvDsClassifierMeta *classifier_meta);
582 
594  NvDsBatchMeta *batch_meta);
595 
608  NvDsDisplayMeta * display_meta);
609 
619  NvDsDisplayMeta *display_meta);
620 
634  NvDsBatchMeta *batch_meta);
635 
645  NvDsClassifierMeta *classifier_meta, NvDsLabelInfo * label_info_meta);
646 
656  NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta);
657 
667  NvDsUserMeta * user_meta);
668 
678  NvDsUserMeta * user_meta);
679 
689  NvDsUserMeta * user_meta);
690 
702 
714  NvDsUserMeta * user_meta);
715 
725  NvDsUserMeta * user_meta);
726 
736  NvDsUserMeta * user_meta);
737 
746 gboolean nvds_get_current_metadata_info(NvDsBatchMeta *batch_meta);
747 
757 gpointer nvds_batch_meta_copy_func (gpointer data, gpointer user_data);
758 
766 void nvds_batch_meta_release_func(gpointer data, gpointer user_data);
767 
776 NvDsFrameMeta *nvds_get_nth_frame_meta (NvDsFrameMetaList *frame_meta_list,
777  guint index);
778 
787  NvDsFrameMetaList *meta_list);
788 
796 void nvds_clear_obj_meta_list(NvDsFrameMeta *frame_meta,
797  NvDsObjectMetaList *meta_list);
798 
808  NvDsClassifierMetaList *meta_list);
809 
819  NvDsLabelInfoList *meta_list);
820 
829  NvDisplayMetaList *meta_list);
830 
840  NvDsUserMetaList *meta_list);
841 
850  NvDsUserMetaList *meta_list);
851 
860  NvDsUserMetaList *meta_list);
861 
871 NvDsMetaList *nvds_clear_meta_list(NvDsBatchMeta *batch_meta,
872  NvDsMetaList *meta_list, NvDsMetaPool *meta_pool);
873 
880 void nvds_copy_frame_meta(NvDsFrameMeta *src_frame_meta,
881  NvDsFrameMeta *dst_frame_meta);
882 
889 void nvds_copy_obj_meta(NvDsObjectMeta *src_object_meta,
890  NvDsObjectMeta *dst_object_meta);
891 
898 void nvds_copy_classifier_meta(NvDsClassifierMeta *src_classifier_meta,
899  NvDsClassifierMeta *dst_classifier_meta);
900 
907 void nvds_copy_label_info_meta(NvDsLabelInfo *src_label_info,
908  NvDsLabelInfo *dst_label_info);
909 
916 void nvds_copy_display_meta(NvDsDisplayMeta *src_display_meta,
917  NvDsDisplayMeta *dst_display_meta);
918 
926 void nvds_copy_batch_user_meta_list(NvDsUserMetaList *src_user_meta_list,
927  NvDsBatchMeta *dst_batch_meta);
928 
936 void nvds_copy_frame_user_meta_list(NvDsUserMetaList *src_user_meta_list,
937  NvDsFrameMeta *dst_frame_meta);
938 
946 void nvds_copy_obj_user_meta_list(NvDsUserMetaList *src_user_meta_list,
947  NvDsObjectMeta *dst_object_meta);
948 
956 void nvds_copy_display_meta_list(NvDisplayMetaList *src_display_meta_list,
957  NvDsFrameMeta *dst_frame_meta);
958 
966 void nvds_copy_frame_meta_list (NvDsFrameMetaList *src_frame_meta_list,
967  NvDsBatchMeta *dst_batch_meta);
968 
976 void nvds_copy_obj_meta_list(NvDsObjectMetaList *src_obj_meta_list,
977  NvDsFrameMeta *dst_frame_meta);
978 
988 void nvds_copy_classification_list(NvDsClassifierMetaList *src_classifier_meta_list,
989  NvDsObjectMeta *dst_object_meta);
990 
1000 void nvds_copy_label_info_list(NvDsLabelInfoList *src_label_info_list,
1001  NvDsClassifierMeta *dst_classifier_meta);
1002 
1012 NvDsMetaType nvds_get_user_meta_type(gchar *meta_descriptor);
1013 
1014 #ifdef __cplusplus
1015 }
1016 #endif
1017 #endif
1018 
NvOSD_ArrowParams arrow_params[MAX_ELEMENTS_IN_DISPLAY_META]
Holds an array of arrow parameters that the user can use to draw arrows in the frame.
Definition: nvdsmeta.h:418
Specifies metadata type for segmentation model output attached by Gst-nvinfer.
Definition: nvdsmeta.h:127
gchar * pResult_label
Holds a pointer to the result label if its length exceeds MAX_LABEL_SIZE bytes.
Definition: nvdsmeta.h:382
Holds metadata for a frame in a batch.
Definition: nvdsmeta.h:250
guint element_size
Definition: nvdsmeta.h:174
NvDsMetaList * nvds_clear_meta_list(NvDsBatchMeta *batch_meta, NvDsMetaList *meta_list, NvDsMetaPool *meta_pool)
Removes all of the metadata elements attached to a metadata list.
Specifies metadata type for a payload generated by a message converter.
Definition: nvdsmeta.h:115
Specifies metadata type for display.
Definition: nvdsmeta.h:107
NvDsMetaList * full_list
Definition: nvdsmeta.h:178
NvDsMetaReleaseFunc release_func
Holds a user-defined release function.
Definition: nvdsmeta.h:199
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:298
Holds unclipped positional bounding box coordinates of the object processed by the component...
Definition: nvdsmeta.h:163
struct _NvDsClassifierMeta NvDsClassifierMeta
Holds classifier metadata for an object.
gint num_surfaces_per_frame
Holds the number of surfaces in the frame, required in case of multiple surfaces in the frame...
Definition: nvdsmeta.h:271
guint64 object_id
Holds a unique ID for tracking the object.
Definition: nvdsmeta.h:317
Holds information about base metadata of a given metadata type.
Definition: nvdsmeta.h:186
guint num_full_elements
Definition: nvdsmeta.h:176
NvDsMetaList * empty_list
Definition: nvdsmeta.h:177
NvBbox_Coords org_bbox_coords
Definition: nvdsmeta.h:165
NvOSD_TextParams text_params[MAX_ELEMENTS_IN_DISPLAY_META]
Holds an array of text parameters for user-defined strings that can be overlayed using this structure...
Definition: nvdsmeta.h:412
NvDisplayMetaList * display_meta_list
Holds a pointer to a list of pointers of type NvDsDisplayMeta in use for the frame.
Definition: nvdsmeta.h:291
gchar result_label[MAX_LABEL_SIZE]
Holds an string describing the label of the classified object.
Definition: nvdsmeta.h:380
Specifies metadata type for a label assigned by a classifier.
Definition: nvdsmeta.h:111
void nvds_remove_user_meta_from_frame(NvDsFrameMeta *frame_meta, NvDsUserMeta *user_meta)
Removes a user meta from a frame meta to which it is attached.
NvDsMetaCopyFunc copy_func
Holds a user-defined copy function.
Definition: nvdsmeta.h:196
GList NvDisplayMetaList
Definition: nvdsmeta.h:57
gint class_id
Holds the index of the object class inferred by the primary detector/classifier.
Definition: nvdsmeta.h:314
NvDsClassifierMeta * nvds_acquire_classifier_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a classifier meta from a batch meta's classifier meta pool.
Specifies metadata type for raw inference output attached by Gst-nvinfer.
Definition: nvdsmeta.h:124
void nvds_clear_obj_user_meta_list(NvDsObjectMeta *object_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to an object meta.
guint num_lines
Holds the number of lines described.
Definition: nvdsmeta.h:401
void nvds_remove_user_meta_from_batch(NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
Removes a user meta from a batch meta to which it is attached.
struct _NvDsLabelInfo NvDsLabelInfo
Holds label metadata for the classifier.
NvOSD_TextParams text_params
Holds text describing the object.
Definition: nvdsmeta.h:346
guint label_id
Holds the label ID in case there are multiple label classifiers.
Definition: nvdsmeta.h:386
void nvds_copy_obj_user_meta_list(NvDsUserMetaList *src_user_meta_list, NvDsObjectMeta *dst_object_meta)
Makes a deep copy of a source user meta list to the user meta list in a specified object meta...
gint unique_component_id
Holds a unique component ID for the classifier metadata.
Definition: nvdsmeta.h:367
void nvds_add_user_meta_to_batch(NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
Add a user meta to a batch meta.
struct _NvDsMetaPool NvDsMetaPool
Holds information about a given metadata pool.
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:376
Reserved field.
Definition: nvdsmeta.h:138
void nvds_remove_user_meta_from_object(NvDsObjectMeta *obj_meta, NvDsUserMeta *user_meta)
Removes a user meta from an object meta to which it is attached.
void nvds_remove_classifier_meta_from_obj(NvDsObjectMeta *obj_meta, NvDsClassifierMeta *classifier_meta)
Removes a classifier meta from the object meta to which it is attached.
gint64 misc_osd_data[MAX_USER_FIELDS]
Holds an array of user-defined OSD metadata.
Definition: nvdsmeta.h:423
Holds label metadata for the classifier.
Definition: nvdsmeta.h:375
void nvds_copy_classifier_meta(NvDsClassifierMeta *src_classifier_meta, NvDsClassifierMeta *dst_classifier_meta)
Makes a deep copy of a classifier meta to another classifier meta.
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:395
guint num_rects
Holds the number of rectangles described.
Definition: nvdsmeta.h:397
guint num_arrows
Holds the number of arrows described.
Definition: nvdsmeta.h:403
Specifies metadata type for an optical flow.
Definition: nvdsmeta.h:119
Holds unclipped bounding box coordinates of the object.
void nvds_copy_frame_meta(NvDsFrameMeta *src_frame_meta, NvDsFrameMeta *dst_frame_meta)
Makes a deep copy of a frame meta to another frame meta.
struct _NvDsObjectMeta * parent
Holds a pointer to the parent NvDsObjectMeta.
Definition: nvdsmeta.h:308
gboolean bInferDone
Holds a Boolean indicating whether inference is performed on the frame.
Definition: nvdsmeta.h:285
void nvds_clear_frame_user_meta_list(NvDsFrameMeta *frame_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to the frame meta.
NvDsDisplayMeta * nvds_acquire_display_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a display meta from a batch meta's display meta pool.
NvDsMetaReleaseFunc release_func
Definition: nvdsmeta.h:180
Holds user metadata.
Definition: nvdsmeta.h:431
struct _NvDsComp_BboxInfo NvDsComp_BboxInfo
Holds unclipped positional bounding box coordinates of the object processed by the component...
Holds the box parameters of the box to be overlayed.
#define MAX_USER_FIELDS
Defines the number of additional fields available to the user in the metadata structure.
Definition: nvdsmeta.h:43
guint max_frames_in_batch
Holds the maximum number of frames in the batch.
Definition: nvdsmeta.h:209
NvDsBaseMeta base_meta
Holds the base metadata for the frame.
Definition: nvdsmeta.h:252
NvDsMetaPool * obj_meta_pool
Holds a pointer to a pool of pointers of type NvDsObjMeta, representing a pool of object metas...
Definition: nvdsmeta.h:217
void * uContext
Holds a pointer to a user context.
Definition: nvdsmeta.h:192
gint64 misc_obj_info[MAX_USER_FIELDS]
Holds additional user-defined object information.
Definition: nvdsmeta.h:354
NvDsFrameMeta * nvds_acquire_frame_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a frame meta from a batch's frame meta pool.
guint num_labels
Holds the number of outputs/labels produced by the classifier.
Definition: nvdsmeta.h:365
NvOSD_MaskParams mask_params
Holds mask parameters for the object.
Definition: nvdsmeta.h:343
gint64 misc_batch_info[MAX_USER_FIELDS]
Holds an array of user-specific batch information.
Definition: nvdsmeta.h:242
guint batch_id
Holds the location of the frame in the batch.
Definition: nvdsmeta.h:259
void nvds_copy_frame_meta_list(NvDsFrameMetaList *src_frame_meta_list, NvDsBatchMeta *dst_batch_meta)
Makes a deep copy of a source frame meta list to the frame meta list in a specified batch meta...
NvDsUserMeta * nvds_acquire_user_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a user meta from a batch meta's user meta pool.
void nvds_add_display_meta_to_frame(NvDsFrameMeta *frame_meta, NvDsDisplayMeta *display_meta)
Adds a display meta to the appropriate frame meta.
Specifies metadata type for a detected object.
Definition: nvdsmeta.h:105
struct _NvDsFrameMeta NvDsFrameMeta
Holds metadata for a frame in a batch.
Holds circle parameters to be overlayed.
gboolean nvds_destroy_batch_meta(NvDsBatchMeta *batch_meta)
Destroys a batch metadata structure.
void nvds_clear_frame_meta_list(NvDsBatchMeta *batch_meta, NvDsFrameMetaList *meta_list)
Removes all of the frame metadata attached to a batch meta.
Holds the mask parameters of the segment to be overlayed.
GList NvDsLabelInfoList
Definition: nvdsmeta.h:59
void nvds_copy_batch_user_meta_list(NvDsUserMetaList *src_user_meta_list, NvDsBatchMeta *dst_batch_meta)
Makes a deep copy of a user meta list to the user meta list in a specified batch meta.
void nvds_remove_obj_meta_from_frame(NvDsFrameMeta *frame_meta, NvDsObjectMeta *obj_meta)
Removes an object meta from the frame meta to which it is attached.
Holds information about a given metadata pool.
Definition: nvdsmeta.h:171
Holds information about a formed batch containing frames from different sources.
Definition: nvdsmeta.h:206
void nvds_copy_display_meta(NvDsDisplayMeta *src_display_meta, NvDsDisplayMeta *dst_display_meta)
Makes a deep copy of a display meta to another display meta.
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:432
Holds arrow parameters to be overlaid.
void nvds_remove_display_meta_from_frame(NvDsFrameMeta *frame_meta, NvDsDisplayMeta *display_meta)
Removes a display meta from the frame meta to which it is attached.
NvDsMetaPool * label_info_meta_pool
Holds a pointer to a pool of pointers of type NvDsLabelInfo, representing a pool of label metas...
Definition: nvdsmeta.h:229
NvDsLabelInfoList * label_info_list
Holds a pointer to a list of pointers of type NvDsLabelInfo.
Definition: nvdsmeta.h:369
NvDsMetaPool * display_meta_pool
Holds a pointer to a pool of pointers of type NvDsDisplayMeta, representing a pool of display metas...
Definition: nvdsmeta.h:223
void nvds_clear_display_meta_list(NvDsFrameMeta *frame_meta, NvDisplayMetaList *meta_list)
Removes all of the display metadata attached to a frame meta.
NvDsMetaType nvds_get_user_meta_type(gchar *meta_descriptor)
Generates a unique user metadata type from a specified string describing user-specific metadata...
GRecMutex meta_mutex
Holds a lock to be set before accessing metadata to avoid simultaneous update by multiple components...
Definition: nvdsmeta.h:240
NvDsLabelInfo * nvds_acquire_label_info_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a label info meta from a batch meta's label info meta pool.
struct _NvDsBaseMeta NvDsBaseMeta
Holds information about base metadata of a given metadata type.
void nvds_clear_classifier_meta_list(NvDsObjectMeta *obj_meta, NvDsClassifierMetaList *meta_list)
Removes all of the classifier metadata attached to an object meta.
Reserved for internal use.
Definition: nvdsmeta.h:113
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:363
guint result_class_id
Holds the class UD of the best result.
Definition: nvdsmeta.h:384
gpointer(* NvDsMetaCopyFunc)(gpointer data, gpointer user_data)
Defines the type of a callback to copy metadata.
Definition: nvdsmeta.h:77
void nvds_acquire_meta_lock(NvDsBatchMeta *batch_meta)
Acquires a lock before updating metadata.
Holds classifier metadata for an object.
Definition: nvdsmeta.h:362
void nvds_add_classifier_meta_to_object(NvDsObjectMeta *obj_meta, NvDsClassifierMeta *classifier_meta)
Adds a classifier meta the appropriate object meta.
void nvds_copy_obj_meta_list(NvDsObjectMetaList *src_obj_meta_list, NvDsFrameMeta *dst_frame_meta)
Makes a deep copy of a source object meta list to the object meta list in a specified frame meta...
guint64 ntp_timestamp
Holds the ntp timestamp.
Definition: nvdsmeta.h:265
NvDsObjectMetaList * obj_meta_list
Holds a pointer to a list of pointers of type NvDsObjectMeta in use for the frame.
Definition: nvdsmeta.h:288
void nvds_release_meta_lock(NvDsBatchMeta *batch_meta)
Releases the lock after updating metadata.
void nvds_copy_display_meta_list(NvDisplayMetaList *src_display_meta_list, NvDsFrameMeta *dst_frame_meta)
Makes a deep copy of a source display meta list to the display meta list in a specified frame meta...
void NvDsElementMeta
Definition: nvdsmeta.h:61
GList NvDsUserMetaList
Definition: nvdsmeta.h:55
void nvds_clear_batch_user_meta_list(NvDsBatchMeta *batch_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to the batch meta.
guint max_elements_in_pool
Definition: nvdsmeta.h:173
NvDsMetaPool * classifier_meta_pool
Holds a pointer to a pool of pointers of type NvDsClassifierMeta, representing a pool of classifier m...
Definition: nvdsmeta.h:220
NvOSD_RectParams rect_params[MAX_ELEMENTS_IN_DISPLAY_META]
Holds an array of positional parameters for rectangles.
Definition: nvdsmeta.h:409
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:356
metadata type to be set for tracking previous frames
Definition: nvdsmeta.h:132
GList NvDsFrameMetaList
Definition: nvdsmeta.h:54
Holds metadata for an object in the frame.
Definition: nvdsmeta.h:304
void nvds_remove_frame_meta_from_batch(NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
Removes a frame meta from a batch meta.
Specifies metadata type for an object classifier.
Definition: nvdsmeta.h:109
void nvds_copy_classification_list(NvDsClassifierMetaList *src_classifier_meta_list, NvDsObjectMeta *dst_object_meta)
Makes a deep copy of a source classifier meta list to the classifier meta list in a specified object ...
void nvds_copy_frame_user_meta_list(NvDsUserMetaList *src_user_meta_list, NvDsFrameMeta *dst_frame_meta)
Makes a deep copy of a source user meta list to the user meta list in a specified frame meta...
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:425
Holds the box parameters of a line to be overlayed.
void nvds_add_label_info_meta_to_classifier(NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta)
Adds a label info meta to a classifier meta.
gfloat result_prob
Holds the probability of best result.
Definition: nvdsmeta.h:388
gpointer nvds_batch_meta_copy_func(gpointer data, gpointer user_data)
Copies or transforms meta data from one buffer to another.
gfloat tracker_confidence
Holds a confidence value for the object set by nvdcf_tracker.
Definition: nvdsmeta.h:332
struct _NvDsObjectMeta NvDsObjectMeta
Holds metadata for an object in the frame.
NvDsMetaPool * user_meta_pool
Holds a pointer to a pool of pointers of type NvDsUserMeta, representing a pool of user metas...
Definition: nvdsmeta.h:226
void nvds_add_user_meta_to_obj(NvDsObjectMeta *obj_meta, NvDsUserMeta *user_meta)
Add a user meta user to an object meta.
void nvds_batch_meta_release_func(gpointer data, gpointer user_data)
Releases metadata from a batch meta.
gint frame_num
Holds the current frame number of the source.
Definition: nvdsmeta.h:261
Specifies metadata type for JPEG-encoded object crops.
Definition: nvdsmeta.h:130
guint pad_index
Holds the pad or port index of the Gst-streammux plugin for the frame in the batch.
Definition: nvdsmeta.h:255
NVIDIA Multimedia Utilities: On-Screen Display Manager
Holds parameters of text to be overlayed.
NvDsFrameMeta * nvds_get_nth_frame_meta(NvDsFrameMetaList *frame_meta_list, guint index)
Returns a pointer to a specified frame meta in the frame meta list.
void nvds_add_user_meta_to_frame(NvDsFrameMeta *frame_meta, NvDsUserMeta *user_meta)
Add a user meta to a frame meta.
guint num_labels
Holds the number of labels (strings) described.
Definition: nvdsmeta.h:399
guint source_frame_height
Definition: nvdsmeta.h:275
NvDsUserMetaList * obj_user_meta_list
Holds a pointer to a list of pointers of type NvDsUserMeta.
Definition: nvdsmeta.h:352
guint surface_index
Definition: nvdsmeta.h:281
void nvds_clear_label_info_meta_list(NvDsClassifierMeta *classifier_meta, NvDsLabelInfoList *meta_list)
Removes all of the label info metadata attached to a classifier meta.
NvDsClassifierMetaList * classifier_meta_list
Holds a pointer to a list of pointers of type NvDsClassifierMeta.
Definition: nvdsmeta.h:350
guint num_classes
Holds the number of classes of the given label.
Definition: nvdsmeta.h:378
Specifies metadata type for a latency measurement.
Definition: nvdsmeta.h:121
NvOSD_RectParams rect_params
Holds a structure containing positional parameters of the object processed by the last component that...
Definition: nvdsmeta.h:340
Specifies metadata type for formed audio batch.
Definition: nvdsmeta.h:134
guint surface_type
Definition: nvdsmeta.h:278
Specifies metadata type for a payload generated by a message broker.
Definition: nvdsmeta.h:117
guint num_frames_in_batch
Holds the number of frames now in the batch.
Definition: nvdsmeta.h:211
void nvds_copy_label_info_list(NvDsLabelInfoList *src_label_info_list, NvDsClassifierMeta *dst_classifier_meta)
Makes a deep copy of a source label info meta list to the label info meta list in a specified classif...
struct _NvDsBatchMeta NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
guint source_id
Holds the source IDof the frame in the batch, e.g.
Definition: nvdsmeta.h:268
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:244
gfloat confidence
Holds a confidence value for the object, set by the inference component.
Definition: nvdsmeta.h:329
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:305
Specifies metadata type for audio frame.
Definition: nvdsmeta.h:136
struct _NvDsUserMeta NvDsUserMeta
Holds user metadata.
NvDsMetaType meta_type
Definition: nvdsmeta.h:172
void nvds_add_obj_meta_to_frame(NvDsFrameMeta *frame_meta, NvDsObjectMeta *obj_meta, NvDsObjectMeta *obj_parent)
Adds an object meta to a frame meta.
Specifies metadata type for formed batch.
Definition: nvdsmeta.h:101
void * user_meta_data
Holds a pointer to user data to be attached.
Definition: nvdsmeta.h:435
#define MAX_ELEMENTS_IN_DISPLAY_META
Defines the maximum number of elements that a given display meta can hold.
Definition: nvdsmeta.h:50
guint num_empty_elements
Definition: nvdsmeta.h:175
gint64 misc_frame_info[MAX_USER_FIELDS]
Holds additional user-defined frame information.
Definition: nvdsmeta.h:296
NvDsComp_BboxInfo tracker_bbox_info
Holds a structure containing bounding box coordinates of the object when processed by tracker...
Definition: nvdsmeta.h:323
guint64 buf_pts
Holds the presentation timestamp (PTS) of the frame.
Definition: nvdsmeta.h:263
NvDsFrameMetaList * frame_meta_list
Holds a pointer to a list of pointers of type NvDsFrameMeta or NvDsAudioFrameMeta (when the batch rep...
Definition: nvdsmeta.h:234
NvDsMetaPool * frame_meta_pool
Holds a pointer to a pool of pointers of type NvDsFrameMeta, representing a pool of frame metas...
Definition: nvdsmeta.h:214
void nvds_clear_obj_meta_list(NvDsFrameMeta *frame_meta, NvDsObjectMetaList *meta_list)
Removes all the object metadata attached to a frame meta.
Start adding user specific meta types from here.
Definition: nvdsmeta.h:155
void(* NvDsMetaReleaseFunc)(gpointer data, gpointer user_data)
Defines the type of a callback to free metadata.
Definition: nvdsmeta.h:89
gint unique_component_id
Holds a unique component ID that identifies the metadata in this structure.
Definition: nvdsmeta.h:311
void nvds_remove_label_info_meta_from_classifier(NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta)
Removes a label info meta from the classifier meta to which it is attached.
#define MAX_LABEL_SIZE
Defines the maximum size of an array for storing a text result.
Definition: nvdsmeta.h:47
GList NvDsMetaList
Definition: nvdsmeta.h:60
Specifies the start of a range of enum values that represent types of NVIDIA-defined Gst metas...
Definition: nvdsmeta.h:144
NvDsUserMetaList * batch_user_meta_list
Holds a pointer to a list of pointers of type NvDsUserMeta, representing user metas in the current ba...
Definition: nvdsmeta.h:237
NvDsObjectMeta * nvds_acquire_obj_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires an object meta from a batch meta's object meta pool.
NvDsMetaCopyFunc copy_func
Definition: nvdsmeta.h:179
void nvds_copy_label_info_meta(NvDsLabelInfo *src_label_info, NvDsLabelInfo *dst_label_info)
Makes a deep copy of a label info meta to another label info meta.
#define MAX_RESERVED_FIELDS
Definition: nvdsmeta.h:45
NvDsMetaType
Specifies the type of metadata.
Definition: nvdsmeta.h:98
guint source_frame_width
Definition: nvdsmeta.h:273
NvDsUserMetaList * frame_user_meta_list
Holds a pointer to a list of pointers of type NvDsUserMeta in use for the frame.
Definition: nvdsmeta.h:294
struct NvDsDisplayMeta NvDsDisplayMeta
Holds display metadata that the user can specify in the frame.
Specifies metadata type for frame.
Definition: nvdsmeta.h:103
NvDsComp_BboxInfo detector_bbox_info
Holds a structure containing bounding box parameters of the object when detected by detector...
Definition: nvdsmeta.h:320
GList NvDsClassifierMetaList
Definition: nvdsmeta.h:58
void nvds_copy_obj_meta(NvDsObjectMeta *src_object_meta, NvDsObjectMeta *dst_object_meta)
Makes a deep copy of an object meta to another object meta.
NvOSD_CircleParams circle_params[MAX_ELEMENTS_IN_DISPLAY_META]
Holds an array of circle parameters that the user can use to draw circles in the frame.
Definition: nvdsmeta.h:421
GList NvDsObjectMetaList
Definition: nvdsmeta.h:56
void nvds_add_frame_meta_to_batch(NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
Adds a frame meta to a batch meta.
NvDsMetaType meta_type
Holds the metadata type of this metadata element.
Definition: nvdsmeta.h:190
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:207
struct _NvDsBatchMeta * batch_meta
Holds a pointer to batch_meta NvDsBatchMeta.
Definition: nvdsmeta.h:188
NvOSD_LineParams line_params[MAX_ELEMENTS_IN_DISPLAY_META]
Holds an array of line parameters that the user can use to draw polygons in the frame, e.g.
Definition: nvdsmeta.h:415
guint num_obj_meta
Holds the number of object meta elements attached to current frame.
Definition: nvdsmeta.h:283
gchar obj_label[MAX_LABEL_SIZE]
Holds a string describing the class of the detected object.
Definition: nvdsmeta.h:348
NvDsBatchMeta * nvds_create_batch_meta(guint max_batch_size)
Creates a batch metadata structure for a batch of specified size.
gboolean nvds_get_current_metadata_info(NvDsBatchMeta *batch_meta)
A debugging function; prints current metadata information available after inference.
guint num_circles
Holds the number of circles described.
Definition: nvdsmeta.h:405
Holds display metadata that the user can specify in the frame.
Definition: nvdsmeta.h:394