NVIDIA DeepStream SDK API Reference

7.1 Release
nvdsmeta.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
28 #ifndef _NVDSMETA_NEW_H_
29 #define _NVDSMETA_NEW_H_
30 
31 #include <stdbool.h>
32 
33 #include "glib.h"
34 #include "gmodule.h"
35 #include "nvll_osd_struct.h"
36 #include "nvds_roi_meta.h"
37 
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif
42 
45 #define MAX_USER_FIELDS 4
46 
47 #define MAX_RESERVED_FIELDS 4
48 
49 #define MAX_LABEL_SIZE 128
50 
52 #define MAX_ELEMENTS_IN_DISPLAY_META 16
53 
54 #define UNTRACKED_OBJECT_ID 0xFFFFFFFFFFFFFFFF
55 
56 typedef GList NvDsFrameMetaList;
57 typedef GList NvDsUserMetaList;
58 typedef GList NvDsObjectMetaList;
59 typedef GList NvDisplayMetaList;
60 typedef GList NvDsClassifierMetaList;
61 typedef GList NvDsLabelInfoList;
62 typedef GList NvDsMetaList;
63 typedef void NvDsElementMeta;
64 
65 /* In the following doc comment:
66  * @param[in] user_data A pointer to user-specific data. For internal use
67  * only; in applications it must be set to NULL.
68  */
79 typedef gpointer (*NvDsMetaCopyFunc) (gpointer data, gpointer user_data);
80 
91 typedef void (*NvDsMetaReleaseFunc) (gpointer data, gpointer user_data);
92 
100 typedef enum {
185  NVDS_FORCE32_META = 0x7FFFFFFF
186 } NvDsMetaType;
187 
188 
189 
190 
195 typedef struct _NvDsComp_BboxInfo
196 {
199 
203 typedef struct _NvDsMetaPool {
213 }NvDsMetaPool;
214 
218 typedef struct _NvDsBaseMeta {
224  void * uContext;
232 } NvDsBaseMeta;
233 
244 typedef struct _NvDsBatchMeta {
278  GRecMutex meta_mutex;
283 } NvDsBatchMeta;
284 
288 typedef struct _NvDsFrameMeta {
293  guint pad_index;
297  guint batch_id;
299  gint frame_num;
301  guint64 buf_pts;
303  guint64 ntp_timestamp;
306  guint source_id;
310  /* Holds the width of the frame at input to Gst-streammux. */
312  /* Holds the height of the frame at input to Gst-streammux. */
314  /* Holds the surface type of the subframe, required in case of
315  multiple surfaces in the frame. */
317  /* Holds the surface index of tje subframe, required in case of
318  multiple surfaces in the frame. */
323  gboolean bInferDone;
335  /* Holds the width of the frame at output of Gst-streammux. */
337  /* Holds the height of the frame at output of Gst-streammux. */
341 } NvDsFrameMeta;
342 
346 typedef struct _NvDsObjectMeta {
356  gint class_id;
359  guint64 object_id;
371  gfloat confidence;
400 
404 typedef struct _NvDsClassifierMeta {
407  guint num_labels;
413  const gchar *classifier_type;
415 
419 typedef struct _NvDsLabelInfo {
422  guint num_classes;
430  guint label_id;
432  gfloat result_prob;
433 } NvDsLabelInfo;
434 
438 typedef struct NvDsDisplayMeta {
441  guint num_rects;
443  guint num_labels;
445  guint num_lines;
447  guint num_arrows;
449  guint num_circles;
471 
475 typedef struct _NvDsUserMeta {
480 } NvDsUserMeta;
481 
488 void nvds_acquire_meta_lock (NvDsBatchMeta *batch_meta);
489 
495 void nvds_release_meta_lock (NvDsBatchMeta *batch_meta);
496 
503 NvDsBatchMeta *nvds_create_batch_meta(guint max_batch_size);
504 
512 gboolean nvds_destroy_batch_meta(NvDsBatchMeta *batch_meta);
513 
525 
535  NvDsFrameMeta * frame_meta);
536 
546  NvDsFrameMeta * frame_meta);
547 
559 
572 void nvds_add_obj_meta_to_frame(NvDsFrameMeta * frame_meta,
573  NvDsObjectMeta *obj_meta, NvDsObjectMeta *obj_parent);
574 
584  NvDsObjectMeta *obj_meta);
585 
599  NvDsBatchMeta *batch_meta);
600 
614  NvDsClassifierMeta * classifier_meta);
615 
625  NvDsClassifierMeta *classifier_meta);
626 
640  NvDsClassifierMeta * classifier_meta);
641 
651  NvDsClassifierMeta *classifier_meta);
652 
664  NvDsBatchMeta *batch_meta);
665 
678  NvDsDisplayMeta * display_meta);
679 
689  NvDsDisplayMeta *display_meta);
690 
704  NvDsBatchMeta *batch_meta);
705 
715  NvDsClassifierMeta *classifier_meta, NvDsLabelInfo * label_info_meta);
716 
726  NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta);
727 
737  NvDsUserMeta * user_meta);
738 
748  NvDsUserMeta * user_meta);
749 
758 void nvds_add_user_meta_to_roi(NvDsRoiMeta * roi_meta,
759  NvDsUserMeta * user_meta);
760 
770  NvDsUserMeta * user_meta);
771 
783 
795  NvDsUserMeta * user_meta);
796 
806  NvDsUserMeta * user_meta);
807 
817  NvDsUserMeta * user_meta);
818 
828  NvDsUserMeta * user_meta);
829 
838 gboolean nvds_get_current_metadata_info(NvDsBatchMeta *batch_meta);
839 
849 gpointer nvds_batch_meta_copy_func (gpointer data, gpointer user_data);
850 
858 void nvds_batch_meta_release_func(gpointer data, gpointer user_data);
859 
869  guint index);
870 
879  NvDsFrameMetaList *meta_list);
880 
888 void nvds_clear_obj_meta_list(NvDsFrameMeta *frame_meta,
889  NvDsObjectMetaList *meta_list);
890 
900  NvDsClassifierMetaList *meta_list);
901 
911  NvDsLabelInfoList *meta_list);
912 
921  NvDisplayMetaList *meta_list);
922 
932  NvDsUserMetaList *meta_list);
933 
942  NvDsUserMetaList *meta_list);
943 
952  NvDsUserMetaList *meta_list);
953 
964  NvDsMetaList *meta_list, NvDsMetaPool *meta_pool);
965 
972 void nvds_copy_frame_meta(NvDsFrameMeta *src_frame_meta,
973  NvDsFrameMeta *dst_frame_meta);
974 
981 void nvds_copy_obj_meta(NvDsObjectMeta *src_object_meta,
982  NvDsObjectMeta *dst_object_meta);
983 
990 void nvds_copy_classifier_meta(NvDsClassifierMeta *src_classifier_meta,
991  NvDsClassifierMeta *dst_classifier_meta);
992 
999 void nvds_copy_label_info_meta(NvDsLabelInfo *src_label_info,
1000  NvDsLabelInfo *dst_label_info);
1001 
1008 void nvds_copy_display_meta(NvDsDisplayMeta *src_display_meta,
1009  NvDsDisplayMeta *dst_display_meta);
1010 
1018 void nvds_copy_batch_user_meta_list(NvDsUserMetaList *src_user_meta_list,
1019  NvDsBatchMeta *dst_batch_meta);
1020 
1028 void nvds_copy_frame_user_meta_list(NvDsUserMetaList *src_user_meta_list,
1029  NvDsFrameMeta *dst_frame_meta);
1030 
1038 void nvds_copy_obj_user_meta_list(NvDsUserMetaList *src_user_meta_list,
1039  NvDsObjectMeta *dst_object_meta);
1040 
1048 void nvds_copy_display_meta_list(NvDisplayMetaList *src_display_meta_list,
1049  NvDsFrameMeta *dst_frame_meta);
1050 
1058 void nvds_copy_frame_meta_list (NvDsFrameMetaList *src_frame_meta_list,
1059  NvDsBatchMeta *dst_batch_meta);
1060 
1068 void nvds_copy_obj_meta_list(NvDsObjectMetaList *src_obj_meta_list,
1069  NvDsFrameMeta *dst_frame_meta);
1070 
1080 void nvds_copy_classification_list(NvDsClassifierMetaList *src_classifier_meta_list,
1081  NvDsObjectMeta *dst_object_meta);
1082 
1092 void nvds_copy_label_info_list(NvDsLabelInfoList *src_label_info_list,
1093  NvDsClassifierMeta *dst_classifier_meta);
1094 
1104 NvDsMetaType nvds_get_user_meta_type(gchar *meta_descriptor);
1105 
1106 #ifdef __cplusplus
1107 }
1108 #endif
1109 #endif
1110 
nvds_clear_meta_list
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.
_NvOSD_LineParams
Holds the box parameters of a line to be overlayed.
Definition: nvll_osd_struct.h:181
NvDsDisplayMeta
Holds display metadata that the user can specify in the frame.
Definition: nvdsmeta.h:438
_NvDsLabelInfo::base_meta
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:420
_NvDsFrameMeta::pipeline_width
guint pipeline_width
Definition: nvdsmeta.h:336
nvds_create_batch_meta
NvDsBatchMeta * nvds_create_batch_meta(guint max_batch_size)
Creates a batch metadata structure for a batch of specified size.
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: nvll_osd_struct.h:140
nvds_get_current_metadata_info
gboolean nvds_get_current_metadata_info(NvDsBatchMeta *batch_meta)
A debugging function; prints current metadata information available after inference.
NVDS_CUSTOM_MSG_SPARSE4D
@ NVDS_CUSTOM_MSG_SPARSE4D
Specifies type for Sparse4D.
Definition: nvdsmeta.h:165
_NvDsBatchMeta::classifier_meta_pool
NvDsMetaPool * classifier_meta_pool
Holds a pointer to a pool of pointers of type NvDsClassifierMeta, representing a pool of classifier m...
Definition: nvdsmeta.h:258
NvDsMetaCopyFunc
gpointer(* NvDsMetaCopyFunc)(gpointer data, gpointer user_data)
Defines the type of a callback to copy metadata.
Definition: nvdsmeta.h:79
_NvDsLabelInfo::pResult_label
gchar * pResult_label
Holds a pointer to the result label if its length exceeds MAX_LABEL_SIZE bytes.
Definition: nvdsmeta.h:426
_NvOSD_MaskParams
Holds the mask parameters of the segment to be overlayed.
Definition: nvll_osd_struct.h:170
_NvDsClassifierMeta::unique_component_id
gint unique_component_id
Holds a unique component ID for the classifier metadata.
Definition: nvdsmeta.h:409
nvds_remove_user_meta_from_roi
void nvds_remove_user_meta_from_roi(NvDsRoiMeta *obj_meta, NvDsUserMeta *user_meta)
Removes a user meta from an roi meta to which it is attached.
_NvDsMetaPool::full_list
NvDsMetaList * full_list
Definition: nvdsmeta.h:210
NvDsClassifierMeta
struct _NvDsClassifierMeta NvDsClassifierMeta
Holds classifier metadata for an object.
nvds_acquire_classifier_meta_from_pool
NvDsClassifierMeta * nvds_acquire_classifier_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a classifier meta from a batch meta's classifier meta pool.
_NvDsObjectMeta::class_id
gint class_id
Holds the index of the object class inferred by the primary detector/classifier.
Definition: nvdsmeta.h:356
_NvDsBatchMeta::base_meta
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:245
nvds_clear_obj_user_meta_list
void nvds_clear_obj_user_meta_list(NvDsObjectMeta *object_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to an object meta.
NVDS_OBJ_META
@ NVDS_OBJ_META
Specifies metadata type for a detected object.
Definition: nvdsmeta.h:107
nvds_copy_obj_user_meta_list
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.
nvds_add_user_meta_to_batch
void nvds_add_user_meta_to_batch(NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
Add a user meta to a batch meta.
_NvDsLabelInfo::label_id
guint label_id
Holds the label ID in case there are multiple label classifiers.
Definition: nvdsmeta.h:430
_NvDsObjectMeta::object_id
guint64 object_id
Holds a unique ID for tracking the object.
Definition: nvdsmeta.h:359
_NvDsObjectMeta::misc_obj_info
gint64 misc_obj_info[MAX_USER_FIELDS]
Holds additional user-defined object information.
Definition: nvdsmeta.h:396
NVDS_PREPROCESS_FRAME_META
@ NVDS_PREPROCESS_FRAME_META
Specifies metadata type for preprocess scale&converted ROIs attached by Gst-nvdspreprocess.
Definition: nvdsmeta.h:157
_NvOSD_CircleParams
Holds circle parameters to be overlayed.
Definition: nvll_osd_struct.h:224
NVDSINFER_TENSOR_OUTPUT_META
@ NVDSINFER_TENSOR_OUTPUT_META
Specifies metadata type for raw inference output attached by Gst-nvinfer.
Definition: nvdsmeta.h:126
_NvDsMetaPool::copy_func
NvDsMetaCopyFunc copy_func
Definition: nvdsmeta.h:211
nvds_remove_user_meta_from_frame
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.
nvds_remove_user_meta_from_batch
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.
_NvDsFrameMeta::bInferDone
gboolean bInferDone
Holds a Boolean indicating whether inference is performed on the frame.
Definition: nvdsmeta.h:323
NvDisplayMetaList
GList NvDisplayMetaList
Definition: nvdsmeta.h:59
_NvDsMetaPool::release_func
NvDsMetaReleaseFunc release_func
Definition: nvdsmeta.h:212
_NvDsBaseMeta::copy_func
NvDsMetaCopyFunc copy_func
Holds a user-defined copy function.
Definition: nvdsmeta.h:228
_NvDsFrameMeta::num_obj_meta
guint num_obj_meta
Holds the number of object meta elements attached to current frame.
Definition: nvdsmeta.h:321
NVDS_OBJ_IMAGE_CONVEX_HULL
@ NVDS_OBJ_IMAGE_CONVEX_HULL
Specifies the convex hull of an object on a frame.
Definition: nvdsmeta.h:150
NVDS_RESERVED_META
@ NVDS_RESERVED_META
Reserved field.
Definition: nvdsmeta.h:167
NvDsDisplayMeta::reserved
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:469
_NvDsComp_BboxInfo
Holds unclipped positional bounding box coordinates of the object processed by the component.
Definition: nvdsmeta.h:195
nvds_acquire_display_meta_from_pool
NvDsDisplayMeta * nvds_acquire_display_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a display meta from a batch meta's display meta pool.
NvDsMetaPool
struct _NvDsMetaPool NvDsMetaPool
Holds information about a given metadata pool.
MAX_USER_FIELDS
#define MAX_USER_FIELDS
Defines the number of additional fields available to the user in the metadata structure.
Definition: nvdsmeta.h:45
NVDS_AUDIO_FRAME_META
@ NVDS_AUDIO_FRAME_META
Specifies metadata type for audio frame.
Definition: nvdsmeta.h:154
nvds_acquire_frame_meta_from_pool
NvDsFrameMeta * nvds_acquire_frame_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a frame meta from a batch's frame meta pool.
_NvDsBaseMeta
Holds information about base metadata of a given metadata type.
Definition: nvdsmeta.h:218
_NvDsFrameMeta::pad_index
guint pad_index
Holds the pad or port index of the Gst-streammux plugin for the frame in the batch.
Definition: nvdsmeta.h:293
_NvDsObjectMeta::mask_params
NvOSD_MaskParams mask_params
Holds mask parameters for the object.
Definition: nvdsmeta.h:385
NVDS_TRACKER_SHADOW_LIST_META
@ NVDS_TRACKER_SHADOW_LIST_META
Information on all terminated Tracks.
Definition: nvdsmeta.h:142
_NvDsFrameMeta::surface_index
guint surface_index
Definition: nvdsmeta.h:319
nvds_remove_user_meta_from_object
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.
nvds_remove_classifier_meta_from_obj
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.
nvds_copy_classifier_meta
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.
NVDS_OBJ_WORLD_FOOT_LOCATION
@ NVDS_OBJ_WORLD_FOOT_LOCATION
Specifies the foot location of an object on the estimated world ground.
Definition: nvdsmeta.h:148
_NvDsObjectMeta::text_params
NvOSD_TextParams text_params
Holds text describing the object.
Definition: nvdsmeta.h:388
nvds_add_display_meta_to_frame
void nvds_add_display_meta_to_frame(NvDsFrameMeta *frame_meta, NvDsDisplayMeta *display_meta)
Adds a display meta to the appropriate frame meta.
_NvDsBatchMeta::misc_batch_info
gint64 misc_batch_info[MAX_USER_FIELDS]
Holds an array of user-specific batch information.
Definition: nvdsmeta.h:280
nvds_copy_frame_meta_list
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.
nvds_copy_frame_meta
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.
NVDS_PAYLOAD_META
@ NVDS_PAYLOAD_META
Specifies metadata type for a payload generated by a message converter.
Definition: nvdsmeta.h:117
nvds_clear_frame_user_meta_list
void nvds_clear_frame_user_meta_list(NvDsFrameMeta *frame_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to the frame meta.
NVDS_DISPLAY_META
@ NVDS_DISPLAY_META
Specifies metadata type for display.
Definition: nvdsmeta.h:109
_NvDsFrameMeta::frame_num
gint frame_num
Holds the current frame number of the source.
Definition: nvdsmeta.h:299
nvds_destroy_batch_meta
gboolean nvds_destroy_batch_meta(NvDsBatchMeta *batch_meta)
Destroys a batch metadata structure.
_NvDsFrameMeta::misc_frame_info
gint64 misc_frame_info[MAX_USER_FIELDS]
Holds additional user-defined frame information.
Definition: nvdsmeta.h:334
_NvDsFrameMeta::base_meta
NvDsBaseMeta base_meta
Holds the base metadata for the frame.
Definition: nvdsmeta.h:290
_NvDsClassifierMeta::base_meta
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:405
NvDsDisplayMeta::num_labels
guint num_labels
Holds the number of labels (strings) described.
Definition: nvdsmeta.h:443
NVDS_CLASSIFIER_META
@ NVDS_CLASSIFIER_META
Specifies metadata type for an object classifier.
Definition: nvdsmeta.h:111
NvDsComp_BboxInfo
struct _NvDsComp_BboxInfo NvDsComp_BboxInfo
Holds unclipped positional bounding box coordinates of the object processed by the component.
_NvDsUserMeta::base_meta
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:476
nvds_remove_obj_meta_from_frame
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.
NvDsDisplayMeta
struct NvDsDisplayMeta NvDsDisplayMeta
Holds display metadata that the user can specify in the frame.
NvDsDisplayMeta::circle_params
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:465
_NvOSD_ArrowParams
Holds arrow parameters to be overlaid.
Definition: nvll_osd_struct.h:200
nvds_remove_display_meta_from_frame
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::max_elements_in_pool
guint max_elements_in_pool
Definition: nvdsmeta.h:205
_NvDsObjectMeta::parent
struct _NvDsObjectMeta * parent
Holds a pointer to the parent NvDsObjectMeta.
Definition: nvdsmeta.h:350
nvds_acquire_user_meta_from_pool
NvDsUserMeta * nvds_acquire_user_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a user meta from a batch meta's user meta pool.
NVDS_OBJ_VISIBILITY
@ NVDS_OBJ_VISIBILITY
Specifies the visibility of an object.
Definition: nvdsmeta.h:144
_NvDsUserMeta
Holds user metadata.
Definition: nvdsmeta.h:475
nvds_clear_frame_meta_list
void nvds_clear_frame_meta_list(NvDsBatchMeta *batch_meta, NvDsFrameMetaList *meta_list)
Removes all of the frame metadata attached to a batch meta.
NvDsBaseMeta
struct _NvDsBaseMeta NvDsBaseMeta
Holds information about base metadata of a given metadata type.
_NvDsLabelInfo::result_prob
gfloat result_prob
Holds the probability of best result.
Definition: nvdsmeta.h:432
_NvDsLabelInfo
Holds label metadata for the classifier.
Definition: nvdsmeta.h:419
nvds_clear_display_meta_list
void nvds_clear_display_meta_list(NvDsFrameMeta *frame_meta, NvDisplayMetaList *meta_list)
Removes all of the display metadata attached to a frame meta.
NvDsLabelInfoList
GList NvDsLabelInfoList
Definition: nvdsmeta.h:61
nvds_copy_batch_user_meta_list
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.
nvds_acquire_meta_lock
void nvds_acquire_meta_lock(NvDsBatchMeta *batch_meta)
Acquires a lock before updating metadata.
nvds_clear_classifier_meta_list
void nvds_clear_classifier_meta_list(NvDsObjectMeta *obj_meta, NvDsClassifierMetaList *meta_list)
Removes all of the classifier metadata attached to an object meta.
_NvDsMetaPool::empty_list
NvDsMetaList * empty_list
Definition: nvdsmeta.h:209
NVDS_TRACKER_BATCH_REID_META
@ NVDS_TRACKER_BATCH_REID_META
The ReID vectors for the whole batch generated by tracker.
Definition: nvdsmeta.h:136
NVDSINFER_SEGMENTATION_META
@ NVDSINFER_SEGMENTATION_META
Specifies metadata type for segmentation model output attached by Gst-nvinfer.
Definition: nvdsmeta.h:129
NVDS_FORCE32_META
@ NVDS_FORCE32_META
Definition: nvdsmeta.h:185
_NvDsObjectMeta::reserved
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:398
nvds_copy_display_meta
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.
_NvDsFrameMeta::buf_pts
guint64 buf_pts
Holds the presentation timestamp (PTS) of the frame.
Definition: nvdsmeta.h:301
NvDsDisplayMeta::line_params
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,...
Definition: nvdsmeta.h:459
NvDsBatchMeta
struct _NvDsBatchMeta NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
nvds_copy_obj_meta_list
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.
NVDS_USER_META
@ NVDS_USER_META
Reserved for internal use.
Definition: nvdsmeta.h:115
_NvDsFrameMeta::obj_meta_list
NvDsObjectMetaList * obj_meta_list
Holds a pointer to a list of pointers of type NvDsObjectMeta in use for the frame.
Definition: nvdsmeta.h:326
nvds_release_meta_lock
void nvds_release_meta_lock(NvDsBatchMeta *batch_meta)
Releases the lock after updating metadata.
_NvDsFrameMeta::pipeline_height
guint pipeline_height
Definition: nvdsmeta.h:338
NVDS_CROP_IMAGE_META
@ NVDS_CROP_IMAGE_META
Specifies metadata type for JPEG-encoded object crops.
Definition: nvdsmeta.h:132
_NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
Definition: nvdsmeta.h:244
nvds_remove_classifier_meta_from_roi
void nvds_remove_classifier_meta_from_roi(NvDsRoiMeta *roi_meta, NvDsClassifierMeta *classifier_meta)
Removes a classifier meta from the roi meta to which it is attached.
nvds_get_user_meta_type
NvDsMetaType nvds_get_user_meta_type(gchar *meta_descriptor)
Generates a unique user metadata type from a specified string describing user-specific metadata.
nvds_acquire_label_info_meta_from_pool
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.
_NvDsBatchMeta::num_frames_in_batch
guint num_frames_in_batch
Holds the number of frames now in the batch.
Definition: nvdsmeta.h:249
NVDS_BATCH_META
@ NVDS_BATCH_META
Specifies metadata type for formed batch.
Definition: nvdsmeta.h:103
NvDsDisplayMeta::num_circles
guint num_circles
Holds the number of circles described.
Definition: nvdsmeta.h:449
_NvDsComp_BboxInfo::org_bbox_coords
NvBbox_Coords org_bbox_coords
Definition: nvdsmeta.h:197
nvds_copy_classification_list
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 ...
_NvDsMetaPool
Holds information about a given metadata pool.
Definition: nvdsmeta.h:203
NvDsUserMeta
struct _NvDsUserMeta NvDsUserMeta
Holds user metadata.
nvds_copy_frame_user_meta_list
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.
_NvDsBatchMeta::label_info_meta_pool
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:267
nvds_add_classifier_meta_to_object
void nvds_add_classifier_meta_to_object(NvDsObjectMeta *obj_meta, NvDsClassifierMeta *classifier_meta)
Adds a classifier meta to the appropriate object meta.
nvds_add_classifier_meta_to_roi
void nvds_add_classifier_meta_to_roi(NvDsRoiMeta *roi_meta, NvDsClassifierMeta *classifier_meta)
Adds a classifier meta to the appropriate roi meta.
nvds_add_label_info_meta_to_classifier
void nvds_add_label_info_meta_to_classifier(NvDsClassifierMeta *classifier_meta, NvDsLabelInfo *label_info_meta)
Adds a label info meta to a classifier meta.
_NvDsObjectMeta::tracker_confidence
gfloat tracker_confidence
Holds a confidence value for the object set by nvdcf_tracker.
Definition: nvdsmeta.h:374
NVDS_INVALID_META
@ NVDS_INVALID_META
Definition: nvdsmeta.h:101
_NvDsBatchMeta::display_meta_pool
NvDsMetaPool * display_meta_pool
Holds a pointer to a pool of pointers of type NvDsDisplayMeta, representing a pool of display metas.
Definition: nvdsmeta.h:261
NvDsDisplayMeta::arrow_params
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:462
_NvDsClassifierMeta::label_info_list
NvDsLabelInfoList * label_info_list
Holds a pointer to a list of pointers of type NvDsLabelInfo.
Definition: nvdsmeta.h:411
NvDsDisplayMeta::num_arrows
guint num_arrows
Holds the number of arrows described.
Definition: nvdsmeta.h:447
nvds_copy_display_meta_list
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.
NvDsElementMeta
void NvDsElementMeta
Definition: nvdsmeta.h:63
_NvDsBatchMeta::frame_meta_list
NvDsFrameMetaList * frame_meta_list
Holds a pointer to a list of pointers of type NvDsFrameMeta or NvDsAudioFrameMeta (when the batch rep...
Definition: nvdsmeta.h:272
NvDsUserMetaList
GList NvDsUserMetaList
Definition: nvdsmeta.h:57
nvds_clear_batch_user_meta_list
void nvds_clear_batch_user_meta_list(NvDsBatchMeta *batch_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to the batch meta.
NvDsObjectMeta
struct _NvDsObjectMeta NvDsObjectMeta
Holds metadata for an object in the frame.
NVDS_TRACKER_PAST_FRAME_META
@ NVDS_TRACKER_PAST_FRAME_META
Metadata type to be set for tracking previous frames.
Definition: nvdsmeta.h:134
_NvDsObjectMeta::base_meta
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:347
NVDS_PREPROCESS_BATCH_META
@ NVDS_PREPROCESS_BATCH_META
Specifies metadata type for preprocess batch level attached by Gst-nvdspreprocess.
Definition: nvdsmeta.h:160
_NvDsFrameMeta::source_id
guint source_id
Holds the source IDof the frame in the batch, e.g.
Definition: nvdsmeta.h:306
nvds_add_user_meta_to_obj
void nvds_add_user_meta_to_obj(NvDsObjectMeta *obj_meta, NvDsUserMeta *user_meta)
Add a user meta user to an object meta.
nvds_batch_meta_release_func
void nvds_batch_meta_release_func(gpointer data, gpointer user_data)
Releases metadata from a batch meta.
_NvDsClassifierMeta::num_labels
guint num_labels
Holds the number of outputs/labels produced by the classifier.
Definition: nvdsmeta.h:407
_NvDsObjectMeta::confidence
gfloat confidence
Holds a confidence value for the object, set by the inference component.
Definition: nvdsmeta.h:371
nvds_get_nth_frame_meta
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.
_NvDsClassifierMeta::classifier_type
const gchar * classifier_type
Holds the type of the classifier.
Definition: nvdsmeta.h:413
NvDsDisplayMeta::misc_osd_data
gint64 misc_osd_data[MAX_USER_FIELDS]
Holds an array of user-defined OSD metadata.
Definition: nvdsmeta.h:467
_NvDsClassifierMeta
Holds classifier metadata for an object.
Definition: nvdsmeta.h:404
_NvDsLabelInfo::result_class_id
guint result_class_id
Holds the class UD of the best result.
Definition: nvdsmeta.h:428
NvDsFrameMetaList
GList NvDsFrameMetaList
Definition: nvdsmeta.h:56
_NvDsMetaPool::element_size
guint element_size
Definition: nvdsmeta.h:206
_NvDsMetaPool::meta_type
NvDsMetaType meta_type
Definition: nvdsmeta.h:204
nvds_remove_frame_meta_from_batch
void nvds_remove_frame_meta_from_batch(NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
Removes a frame meta from a batch meta.
NvDsDisplayMeta::text_params
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:456
NvDsDisplayMeta::num_rects
guint num_rects
Holds the number of rectangles described.
Definition: nvdsmeta.h:441
nvds_clear_label_info_meta_list
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.
_NvDsObjectMeta::unique_component_id
gint unique_component_id
Holds a unique component ID that identifies the metadata in this structure.
Definition: nvdsmeta.h:353
_NvDsObjectMeta::rect_params
NvOSD_RectParams rect_params
Holds a structure containing positional parameters of the object processed by the last component that...
Definition: nvdsmeta.h:382
nvds_batch_meta_copy_func
gpointer nvds_batch_meta_copy_func(gpointer data, gpointer user_data)
Copies or transforms meta data from one buffer to another.
_NvDsFrameMeta::source_frame_width
guint source_frame_width
Definition: nvdsmeta.h:311
NVDS_GST_CUSTOM_META
@ NVDS_GST_CUSTOM_META
Specifies the start of a range of enum values that represent types of NVIDIA-defined Gst metas.
Definition: nvdsmeta.h:173
nvds_copy_label_info_list
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...
NVDS_LATENCY_MEASUREMENT_META
@ NVDS_LATENCY_MEASUREMENT_META
Specifies metadata type for a latency measurement.
Definition: nvdsmeta.h:123
_NvDsMetaPool::num_full_elements
guint num_full_elements
Definition: nvdsmeta.h:208
_NvOSD_TextParams
Holds parameters of text to be overlayed.
Definition: nvll_osd_struct.h:115
nvds_add_obj_meta_to_frame
void nvds_add_obj_meta_to_frame(NvDsFrameMeta *frame_meta, NvDsObjectMeta *obj_meta, NvDsObjectMeta *obj_parent)
Adds an object meta to a frame meta.
_NvDsFrameMeta::ntp_timestamp
guint64 ntp_timestamp
Holds the ntp timestamp.
Definition: nvdsmeta.h:303
MAX_ELEMENTS_IN_DISPLAY_META
#define MAX_ELEMENTS_IN_DISPLAY_META
Defines the maximum number of elements that a given display meta can hold.
Definition: nvdsmeta.h:52
_NvDsBatchMeta::batch_user_meta_list
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:275
NvDsDisplayMeta::num_lines
guint num_lines
Holds the number of lines described.
Definition: nvdsmeta.h:445
NVDS_TRACKER_TERMINATED_LIST_META
@ NVDS_TRACKER_TERMINATED_LIST_META
Information on all terminated Tracks.
Definition: nvdsmeta.h:140
_NvDsObjectMeta::obj_user_meta_list
NvDsUserMetaList * obj_user_meta_list
Holds a pointer to a list of pointers of type NvDsUserMeta.
Definition: nvdsmeta.h:394
_NvDsObjectMeta::tracker_bbox_info
NvDsComp_BboxInfo tracker_bbox_info
Holds a structure containing bounding box coordinates of the object when processed by tracker.
Definition: nvdsmeta.h:365
nvds_add_user_meta_to_frame
void nvds_add_user_meta_to_frame(NvDsFrameMeta *frame_meta, NvDsUserMeta *user_meta)
Add a user meta to a frame meta.
NVDS_ROI_META
@ NVDS_ROI_META
Definition: nvdsmeta.h:163
NVDS_CUSTOM_MSG_BLOB
@ NVDS_CUSTOM_MSG_BLOB
Specifies user defined custom message blob to be part of payload generated.
Definition: nvdsmeta.h:162
NvDsRoiMeta
Holds Information about ROI Metadata.
Definition: nvds_roi_meta.h:86
NVDS_AUDIO_BATCH_META
@ NVDS_AUDIO_BATCH_META
Specifies metadata type for formed audio batch.
Definition: nvdsmeta.h:152
_NvDsBatchMeta::user_meta_pool
NvDsMetaPool * user_meta_pool
Holds a pointer to a pool of pointers of type NvDsUserMeta, representing a pool of user metas.
Definition: nvdsmeta.h:264
_NvDsFrameMeta::batch_id
guint batch_id
Holds the location of the frame in the batch.
Definition: nvdsmeta.h:297
_NvDsFrameMeta::surface_type
guint surface_type
Definition: nvdsmeta.h:316
nvds_roi_meta.h
MAX_LABEL_SIZE
#define MAX_LABEL_SIZE
Defines the maximum size of an array for storing a text result.
Definition: nvdsmeta.h:49
nvds_remove_label_info_meta_from_classifier
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.
_NvDsMetaPool::num_empty_elements
guint num_empty_elements
Definition: nvdsmeta.h:207
NVDS_START_USER_META
@ NVDS_START_USER_META
Start adding user specific meta types from here.
Definition: nvdsmeta.h:184
_NvDsFrameMeta::num_surfaces_per_frame
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:309
NVDS_OBJ_IMAGE_FOOT_LOCATION
@ NVDS_OBJ_IMAGE_FOOT_LOCATION
Specifies the foot location of an object on a frame.
Definition: nvdsmeta.h:146
_NvDsBatchMeta::max_frames_in_batch
guint max_frames_in_batch
Holds the maximum number of frames in the batch.
Definition: nvdsmeta.h:247
nvll_osd_struct.h
_NvDsBatchMeta::frame_meta_pool
NvDsMetaPool * frame_meta_pool
Holds a pointer to a pool of pointers of type NvDsFrameMeta, representing a pool of frame metas.
Definition: nvdsmeta.h:252
NvDsMetaType
NvDsMetaType
Specifies the type of metadata.
Definition: nvdsmeta.h:100
_NvDsFrameMeta
Holds metadata for a frame in a batch.
Definition: nvdsmeta.h:288
_NvDsObjectMeta::detector_bbox_info
NvDsComp_BboxInfo detector_bbox_info
Holds a structure containing bounding box parameters of the object when detected by detector.
Definition: nvdsmeta.h:362
_NvDsBaseMeta::meta_type
NvDsMetaType meta_type
Holds the metadata type of this metadata element.
Definition: nvdsmeta.h:222
NvDsMetaReleaseFunc
void(* NvDsMetaReleaseFunc)(gpointer data, gpointer user_data)
Defines the type of a callback to free metadata.
Definition: nvdsmeta.h:91
_NvDsObjectMeta::classifier_meta_list
NvDsClassifierMetaList * classifier_meta_list
Holds a pointer to a list of pointers of type NvDsClassifierMeta.
Definition: nvdsmeta.h:392
nvds_clear_obj_meta_list
void nvds_clear_obj_meta_list(NvDsFrameMeta *frame_meta, NvDsObjectMetaList *meta_list)
Removes all the object metadata attached to a frame meta.
_NvDsFrameMeta::display_meta_list
NvDisplayMetaList * display_meta_list
Holds a pointer to a list of pointers of type NvDsDisplayMeta in use for the frame.
Definition: nvdsmeta.h:329
NVDS_TRACKER_OBJ_REID_META
@ NVDS_TRACKER_OBJ_REID_META
The ReID information for a single object generated by tracker.
Definition: nvdsmeta.h:138
_NvDsBaseMeta::batch_meta
struct _NvDsBatchMeta * batch_meta
Holds a pointer to batch_meta NvDsBatchMeta.
Definition: nvdsmeta.h:220
_NvDsFrameMeta::frame_user_meta_list
NvDsUserMetaList * frame_user_meta_list
Holds a pointer to a list of pointers of type NvDsUserMeta in use for the frame.
Definition: nvdsmeta.h:332
_NvDsUserMeta::user_meta_data
void * user_meta_data
Holds a pointer to user data to be attached.
Definition: nvdsmeta.h:479
NvDsFrameMeta
struct _NvDsFrameMeta NvDsFrameMeta
Holds metadata for a frame in a batch.
_NvDsBatchMeta::reserved
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:282
NvDsDisplayMeta::base_meta
NvDsBaseMeta base_meta
Definition: nvdsmeta.h:439
NvDsMetaList
GList NvDsMetaList
Definition: nvdsmeta.h:62
_NvDsObjectMeta::obj_label
gchar obj_label[MAX_LABEL_SIZE]
Holds a string describing the class of the detected object.
Definition: nvdsmeta.h:390
NVDS_FRAME_META
@ NVDS_FRAME_META
Specifies metadata type for frame.
Definition: nvdsmeta.h:105
nvds_acquire_obj_meta_from_pool
NvDsObjectMeta * nvds_acquire_obj_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires an object meta from a batch meta's object meta pool.
_NvBbox_Coords
Holds unclipped bounding box coordinates of the object.
Definition: nvll_osd_struct.h:66
_NvDsBatchMeta::meta_mutex
GRecMutex meta_mutex
Holds a lock to be set before accessing metadata to avoid simultaneous update by multiple components.
Definition: nvdsmeta.h:278
_NvDsBatchMeta::obj_meta_pool
NvDsMetaPool * obj_meta_pool
Holds a pointer to a pool of pointers of type NvDsObjMeta, representing a pool of object metas.
Definition: nvdsmeta.h:255
NVDS_LABEL_INFO_META
@ NVDS_LABEL_INFO_META
Specifies metadata type for a label assigned by a classifier.
Definition: nvdsmeta.h:113
NVDS_EVENT_MSG_META
@ NVDS_EVENT_MSG_META
Specifies metadata type for a payload generated by a message broker.
Definition: nvdsmeta.h:119
nvds_copy_label_info_meta
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.
_NvDsFrameMeta::reserved
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: nvdsmeta.h:340
_NvDsBaseMeta::release_func
NvDsMetaReleaseFunc release_func
Holds a user-defined release function.
Definition: nvdsmeta.h:231
MAX_RESERVED_FIELDS
#define MAX_RESERVED_FIELDS
Definition: nvdsmeta.h:47
_NvDsFrameMeta::source_frame_height
guint source_frame_height
Definition: nvdsmeta.h:313
NvDsLabelInfo
struct _NvDsLabelInfo NvDsLabelInfo
Holds label metadata for the classifier.
NvDsClassifierMetaList
GList NvDsClassifierMetaList
Definition: nvdsmeta.h:60
nvds_add_frame_meta_to_batch
void nvds_add_frame_meta_to_batch(NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
Adds a frame meta to a batch meta.
nvds_copy_obj_meta
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.
NvDsObjectMetaList
GList NvDsObjectMetaList
Definition: nvdsmeta.h:58
NvDsDisplayMeta::rect_params
NvOSD_RectParams rect_params[MAX_ELEMENTS_IN_DISPLAY_META]
Holds an array of positional parameters for rectangles.
Definition: nvdsmeta.h:453
nvds_add_user_meta_to_roi
void nvds_add_user_meta_to_roi(NvDsRoiMeta *roi_meta, NvDsUserMeta *user_meta)
Add a user meta user to an roi meta.
_NvDsBaseMeta::uContext
void * uContext
Holds a pointer to a user context.
Definition: nvdsmeta.h:224
NVDS_OPTICAL_FLOW_META
@ NVDS_OPTICAL_FLOW_META
Specifies metadata type for an optical flow.
Definition: nvdsmeta.h:121
_NvDsLabelInfo::num_classes
guint num_classes
Holds the number of classes of the given label.
Definition: nvdsmeta.h:422
_NvDsLabelInfo::result_label
gchar result_label[MAX_LABEL_SIZE]
Holds an string describing the label of the classified object.
Definition: nvdsmeta.h:424
_NvDsObjectMeta
Holds metadata for an object in the frame.
Definition: nvdsmeta.h:346