NVIDIA DeepStream SDK API Reference

6.4 Release
gstnvdsvideotemplate.h
Go to the documentation of this file.
1 
23 #ifndef __GST_NVDSVIDEOTEMPLATE_H__
24 #define __GST_NVDSVIDEOTEMPLATE_H__
25 
26 #include <gst/base/gstbasetransform.h>
27 #include <gst/video/video.h>
28 #include <glib-object.h>
29 #include <vector>
30 
31 #include <cuda_runtime.h>
32 #include "gstnvdsmeta.h"
33 #include "nvtx3/nvToolsExt.h"
34 
35 #include "nvdscustomlib_factory.hpp"
36 #include "nvdscustomlib_interface.hpp"
37 #include "nvbufsurftransform.h"
38 
39 /* Package and library details required for plugin_init */
40 #define PACKAGE "nvdsvideotemplate"
41 #define VERSION "1.0"
42 #define LICENSE "Proprietary"
43 #define DESCRIPTION "NVIDIA nvdsvideotemplate plugin for integration with DeepStream on DGPU/Jetson"
44 #define BINARY_PACKAGE "NVIDIA DeepStream Template Plugin"
45 #define URL "http://nvidia.com/"
46 
47 G_BEGIN_DECLS
48 /* Standard boilerplate stuff */
51 
52 /* Standard boilerplate stuff */
53 #define GST_TYPE_NVDSVIDEOTEMPLATE (gst_nvdsvideotemplate_get_type())
54 #define GST_NVDSVIDEOTEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVDSVIDEOTEMPLATE,GstNvDsVideoTemplate))
55 #define GST_NVDSVIDEOTEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVDSVIDEOTEMPLATE,GstNvDsVideoTemplateClass))
56 #define GST_NVDSVIDEOTEMPLATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_NVDSVIDEOTEMPLATE, GstNvDsVideoTemplateClass))
57 #define GST_IS_NVDSVIDEOTEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVDSVIDEOTEMPLATE))
58 #define GST_IS_NVDSVIDEOTEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVDSVIDEOTEMPLATE))
59 #define GST_NVDSVIDEOTEMPLATE_CAST(obj) ((GstNvDsVideoTemplate *)(obj))
60 
62 {
63  GstBaseTransform base_trans;
64 
68 
71 
72  /* Store custom lib property values */
73  std::vector<Property> *vecProp;
75 
77  gboolean stop;
78 
80  GstVideoInfo in_video_info;
81  GstVideoInfo out_video_info;
82 
84  guint gpu_id;
85 
87 
89 
91  nvtxDomainHandle_t nvtx_domain;
92 
93  GstCaps *sinkcaps;
94  GstCaps *srccaps;
97  gint compute_hw;
99 };
100 
101 
104 {
105  GstBaseTransformClass parent_class;
106 };
107 
108 GType gst_nvdsvideotemplate_get_type (void);
109 
110 G_END_DECLS
111 #endif /* __GST_NVDSVIDEOTEMPLATE_H__ */
_GstNvDsVideoTemplate::cu_nbstream
cudaStream_t cu_nbstream
Definition: gstnvdsvideotemplate.h:98
DSCustomLibrary_Factory
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_factory.hpp:39
_GstNvDsVideoTemplateClass
Boiler plate stuff.
Definition: gstnvdsvideotemplate.h:103
_GstNvDsVideoTemplate::srccaps
GstCaps * srccaps
Definition: gstnvdsvideotemplate.h:94
_GstNvDsVideoTemplate::algo_ctx
IDSCustomLibrary * algo_ctx
Definition: gstnvdsvideotemplate.h:67
_GstNvDsVideoTemplate::stop
gboolean stop
Boolean to signal output thread to stop.
Definition: gstnvdsvideotemplate.h:77
_GstNvDsVideoTemplate::in_video_info
GstVideoInfo in_video_info
Input and Output video info (resolution, color format, framerate, etc)
Definition: gstnvdsvideotemplate.h:80
_GstNvDsVideoTemplate::custom_lib_name
gchar * custom_lib_name
Custom Library Name and output caps string.
Definition: gstnvdsvideotemplate.h:70
_GstNvDsVideoTemplate::sinkcaps
GstCaps * sinkcaps
Definition: gstnvdsvideotemplate.h:93
_GstNvDsVideoTemplate::gpu_id
guint gpu_id
GPU ID on which we expect to execute the task.
Definition: gstnvdsvideotemplate.h:84
_GstNvDsVideoTemplate::fill_dummy_batch_meta
gboolean fill_dummy_batch_meta
Definition: gstnvdsvideotemplate.h:88
_GstNvDsVideoTemplate::algo_factory
DSCustomLibrary_Factory * algo_factory
Custom Library Factory and Interface.
Definition: gstnvdsvideotemplate.h:66
IDSCustomLibrary
Definition: gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:53
_GstNvDsVideoTemplate::vecProp
std::vector< Property > * vecProp
Definition: gstnvdsvideotemplate.h:73
_GstNvDsVideoTemplate::base_trans
GstBaseTransform base_trans
Definition: gstnvdsvideotemplate.h:63
_NvBufSurfTransformConfigParams
Holds configuration parameters for a transform/composite session.
Definition: nvbufsurftransform.h:167
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition: nvbufsurftransform.h:29
_GstNvDsVideoTemplate::config_params
NvBufSurfTransformConfigParams config_params
Definition: gstnvdsvideotemplate.h:96
gstnvdsmeta.h
_GstNvDsVideoTemplate::dummy_meta_insert
gboolean dummy_meta_insert
Definition: gstnvdsvideotemplate.h:86
_GstNvDsVideoTemplateClass::parent_class
GstBaseTransformClass parent_class
Definition: gstnvdsvideotemplate.h:105
_GstNvDsVideoTemplate::compute_hw
gint compute_hw
Definition: gstnvdsvideotemplate.h:97
_GstNvDsVideoTemplate::nvtx_domain
nvtxDomainHandle_t nvtx_domain
NVTX Domain.
Definition: gstnvdsvideotemplate.h:91
_GstNvDsVideoTemplate
Definition: gstnvdsvideotemplate.h:61
gst_nvdsvideotemplate_get_type
GType gst_nvdsvideotemplate_get_type(void)
_GstNvDsVideoTemplate::custom_prop_string
gchar * custom_prop_string
Definition: gstnvdsvideotemplate.h:74
_GstNvDsVideoTemplate::num_batch_buffers
guint num_batch_buffers
Definition: gstnvdsvideotemplate.h:95
nvbufsurftransform.h
GstNvDsVideoTemplate
typedefG_BEGIN_DECLS struct _GstNvDsVideoTemplate GstNvDsVideoTemplate
Definition: gstnvdsvideotemplate.h:49
_GstNvDsVideoTemplate::out_video_info
GstVideoInfo out_video_info
Definition: gstnvdsvideotemplate.h:81