NVIDIA DeepStream SDK API Reference

7.0 Release
gstnvdsmeta.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2022 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 
40 #ifndef GST_NVDS_META_API_H
41 #define GST_NVDS_META_API_H
42 
43 #include <gst/gst.h>
44 #include <gst/video/video.h>
45 #include <gst/base/gstbasetransform.h>
46 
47 #include "nvdsmeta.h"
48 #include "nvds_audio_meta.h"
49 #include "nvds_latency_meta.h"
50 
51 #ifdef __cplusplus
52 extern "C"
53 {
54 #endif
55 GType nvds_meta_api_get_type (void);
56 #define NVDS_META_API_TYPE (nvds_meta_api_get_type())
57 
58 const GstMetaInfo *nvds_meta_get_info (void);
59 
60 #define NVDS_META_INFO (nvds_meta_get_info())
61 
62 #define NVDS_META_STRING "nvdsmeta"
63 
68 typedef enum {
70  /* Specifies information of a formed batch. */
73  /* Specifies information of dewarped surfaces. */
75  /* @ref NvDsMetaType for @ref NvDsUserMeta in @NvDsFrameMeta
76  * This metadata carries GstMeta objects of all input frames
77  * batched by nvstreammux2
78  * Note: Please refer to APIs @ref nvds_copy_gst_meta_to_frame_meta
79  * and @ref nvds_copy_gst_meta_to_audio_frame_meta for more information.
80  */
83  /* Specifies the first value that may be assigned to a user-defined type. */
84  NVDS_GST_META_FORCE32 = 0x7FFFFFFF
86 
90  typedef struct _NvDsMeta {
91  GstMeta meta;
92 
95  gpointer meta_data;
96 
98  gpointer user_data;
99 
101  gint meta_type;
102 
107 
111 
129 
137 
138 } NvDsMeta;
139 
160 NvDsMeta *gst_buffer_add_nvds_meta (GstBuffer *buffer, gpointer meta_data,
161  gpointer user_data, NvDsMetaCopyFunc copy_func,
162  NvDsMetaReleaseFunc release_func);
163 
173 
183 
209 void nvds_copy_gst_meta_to_frame_meta(GstBuffer* src_gst_buffer, NvDsBatchMeta* batch_meta, NvDsFrameMeta* frame_meta);
210 
236 void nvds_copy_gst_meta_to_audio_frame_meta(GstBuffer* src_gst_buffer, NvDsBatchMeta* batch_meta, NvDsAudioFrameMeta* frame_meta);
237 
239 #ifdef __cplusplus
240 }
241 #endif
242 #endif
NvDsMetaCopyFunc
gpointer(* NvDsMetaCopyFunc)(gpointer data, gpointer user_data)
Defines the type of a callback to copy metadata.
Definition: nvdsmeta.h:79
_NvDsMeta::user_data
gpointer user_data
Holds a pointer to user-specific data .
Definition: gstnvdsmeta.h:98
nvds_audio_meta.h
gst_buffer_get_nvds_batch_meta
NvDsBatchMeta * gst_buffer_get_nvds_batch_meta(GstBuffer *buffer)
Gets the NvDsBatchMeta added to a GstBuffer.
_NvDsMeta::gst_to_nvds_meta_release_func
NvDsMetaReleaseFunc gst_to_nvds_meta_release_func
A callback to be called when meta_data transformed into NvDsUserMeta is to be destroyed.
Definition: gstnvdsmeta.h:136
_NvDsAudioFrameMeta
Holds metadata for a audio frame in a batch.
Definition: nvds_audio_meta.h:45
gst_buffer_add_nvds_meta
NvDsMeta * gst_buffer_add_nvds_meta(GstBuffer *buffer, gpointer meta_data, gpointer user_data, NvDsMetaCopyFunc copy_func, NvDsMetaReleaseFunc release_func)
Adds GstMeta of type NvDsMeta to the GstBuffer and sets the meta_data member of NvDsMeta.
NVDS_BUFFER_GST_AS_FRAME_USER_META
@ NVDS_BUFFER_GST_AS_FRAME_USER_META
Definition: gstnvdsmeta.h:81
NVDS_DECODER_GST_META
@ NVDS_DECODER_GST_META
Definition: gstnvdsmeta.h:72
nvds_latency_meta.h
gst_buffer_get_nvds_meta
NvDsMeta * gst_buffer_get_nvds_meta(GstBuffer *buffer)
Gets the NvDsMeta last added to a GstBuffer.
GstNvDsMetaType
GstNvDsMetaType
Defines the type of metadata.
Definition: gstnvdsmeta.h:68
NVDS_RESERVED_GST_META
@ NVDS_RESERVED_GST_META
Definition: gstnvdsmeta.h:82
NVDS_BATCH_GST_META
@ NVDS_BATCH_GST_META
Definition: gstnvdsmeta.h:71
_NvDsMeta::freefunc
NvDsMetaReleaseFunc freefunc
A callback to be called when meta_data is to be destroyed.
Definition: gstnvdsmeta.h:110
NVDS_GST_META_FORCE32
@ NVDS_GST_META_FORCE32
Definition: gstnvdsmeta.h:84
_NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
Definition: nvdsmeta.h:241
_NvDsMeta
Holds DeepSteam metadata.
Definition: gstnvdsmeta.h:90
_NvDsMeta::gst_to_nvds_meta_transform_func
NvDsMetaCopyFunc gst_to_nvds_meta_transform_func
A callback to be called when meta_data is transformed into NvDsUserMeta.
Definition: gstnvdsmeta.h:128
NVDS_GST_INVALID_META
@ NVDS_GST_INVALID_META
Definition: gstnvdsmeta.h:69
nvds_meta_get_info
const GstMetaInfo * nvds_meta_get_info(void)
NVDS_DEWARPER_GST_META
@ NVDS_DEWARPER_GST_META
Definition: gstnvdsmeta.h:74
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:170
nvds_meta_api_get_type
GType nvds_meta_api_get_type(void)
nvds_copy_gst_meta_to_frame_meta
void nvds_copy_gst_meta_to_frame_meta(GstBuffer *src_gst_buffer, NvDsBatchMeta *batch_meta, NvDsFrameMeta *frame_meta)
Copies all GstMeta objects on src_gst_buffer to the batched buffer's NvDsBatchMeta The GstMeta object...
_NvDsMeta::meta_type
gint meta_type
Holds the type of metadata, one of values of enum GstNvDsMetaType.
Definition: gstnvdsmeta.h:101
GstBuffer
struct _GstBuffer GstBuffer
Definition: idatatype.h:19
_NvDsMeta::copyfunc
NvDsMetaCopyFunc copyfunc
A callback to be called when meta_data is to be copied or transformed from one buffer to other.
Definition: gstnvdsmeta.h:106
_NvDsFrameMeta
Holds metadata for a frame in a batch.
Definition: nvdsmeta.h:285
nvdsmeta.h
NvDsMeta
struct _NvDsMeta NvDsMeta
Holds DeepSteam metadata.
NvDsMetaReleaseFunc
void(* NvDsMetaReleaseFunc)(gpointer data, gpointer user_data)
Defines the type of a callback to free metadata.
Definition: nvdsmeta.h:91
nvds_copy_gst_meta_to_audio_frame_meta
void nvds_copy_gst_meta_to_audio_frame_meta(GstBuffer *src_gst_buffer, NvDsBatchMeta *batch_meta, NvDsAudioFrameMeta *frame_meta)
Copies all GstMeta objects on src_gst_buffer to the batched buffer's NvDsBatchMeta The GstMeta object...
_NvDsMeta::meta
GstMeta meta
Definition: gstnvdsmeta.h:91
_NvDsMeta::meta_data
gpointer meta_data
Holds a pointer to metadata.
Definition: gstnvdsmeta.h:95