NVIDIA DeepStream SDK API Reference

9.1 Release
sources/gst-plugins/gst-nvreplay/gstnvreplay.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef __GST_NVREPLAY_H__
19 #define __GST_NVREPLAY_H__
20 
21 #include <vector>
22 
23 #include "nvbufsurftransform.h"
24 #include "gstnvdsmeta.h"
25 #include "gstnvreplay_lib.h"
26 
27 /* Package and library details required for plugin_init */
28 #define PACKAGE "nvreplay"
29 #define VERSION "1.0.0"
30 #define LICENSE "Proprietary"
31 #define DESCRIPTION "Gstreamer plugin to load ground truth labels for evaluation"
32 #define BINARY_PACKAGE "Gstreamer nvreplay plugin"
33 #define URL "http://nvidia.com/"
34 
35 
36 G_BEGIN_DECLS
37 /* Standard boilerplate stuff */
38 typedef struct _GstNvReplay GstNvReplay;
40 typedef std::vector<float> Bbox;
41 /* Standard boilerplate stuff */
42 #define GST_TYPE_NVREPLAY (gst_nvreplay_get_type())
43 #define GST_NVREPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVREPLAY,GstNvReplay))
44 #define GST_NVREPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVREPLAY,GstNvReplayClass))
45 #define GST_NVREPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_NVREPLAY, GstNvReplayClass))
46 #define GST_IS_NVREPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVREPLAY))
47 #define GST_IS_NVREPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVREPLAY))
48 #define GST_NVREPLAY_CAST(obj) ((GstNvReplay *)(obj))
49 
51 {
52  GstBaseTransform base_trans;
53 
54  // Unique ID of the element. The labels generated by the element will be
55  // updated at index `unique_id` of attr_info array in NvDsObjectParams.
56  guint unique_id;
57 
58  // Max frame number of each stream
59  std::vector<guint64> max_frame_nums;
61 
62  // Input video info (resolution, color format, framerate, etc)
63  GstVideoInfo video_info;
64 
65  // Resolution at which frames/objects should be processed
66  guint label_width;
67  guint label_height;
68 
69  // Amount of objects processed in single call to algorithm
70  guint batch_size;
71 
72  // The directory of all the ground truth files
73  char* label_dir;
74 
75  // The ground truth file names
76  char* file_names;
77 
78  // Number of batches to skip for adding labels to meta data
79  guint interval;
80 
81  // Counter for number of batches
83 
84  // Ground truth bboxes
85  // <stream0< frame0<bbox0, bbox1>, frame1<bbox0, bbox1> ... >. stream1<> ... >
86  std::vector<std::vector<std::vector<Bbox>>> label_bboxes;
87 };
88 
89 // Boiler plate stuff
91 {
92  GstBaseTransformClass parent_class;
93 };
94 
95 GType gst_nvreplay_get_type (void);
96 
97 G_END_DECLS
98 #endif /* __GST_NVREPLAY_H__ */
_GstNvReplay::interval_counter
guint interval_counter
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:82
_GstNvReplay::max_frame_nums_str
char * max_frame_nums_str
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:60
_GstNvReplayClass
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:90
_GstNvReplay::file_names
char * file_names
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:76
gst_nvreplay_get_type
GType gst_nvreplay_get_type(void)
GstNvReplay
typedefG_BEGIN_DECLS struct _GstNvReplay GstNvReplay
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:38
gstnvreplay_lib.h
_GstNvReplay
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:50
_GstNvReplay::batch_size
guint batch_size
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:70
_GstNvReplay::unique_id
guint unique_id
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:56
_GstNvReplay::video_info
GstVideoInfo video_info
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:63
_GstNvReplay::interval
guint interval
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:79
_GstNvReplay::label_height
guint label_height
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:67
Bbox
std::vector< float > Bbox
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:40
_GstNvReplay::label_width
guint label_width
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:66
_GstNvReplayClass::parent_class
GstBaseTransformClass parent_class
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:92
_GstNvReplay::label_dir
char * label_dir
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:73
_GstNvReplay::base_trans
GstBaseTransform base_trans
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:52
_GstNvReplay::label_bboxes
std::vector< std::vector< std::vector< Bbox > > > label_bboxes
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:86
_GstNvReplay::max_frame_nums
std::vector< guint64 > max_frame_nums
Definition: sources/gst-plugins/gst-nvreplay/gstnvreplay.h:59