NVIDIA DeepStream SDK API Reference

6.4 Release
gstnvinferserver.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-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 
23 #ifndef __GST_NVINFER_SERVER_H__
24 #define __GST_NVINFER_SERVER_H__
25 
26 #include <gst/base/gstbasetransform.h>
27 #include <gst/video/video.h>
28 
29 #include "gstnvdsinfer.h"
30 #include "gstnvdsmeta.h"
31 
32 /* Package and library details required for plugin_init */
33 #define PACKAGE "nvinferserver"
34 #define VERSION "1.0"
35 #define LICENSE "Proprietary"
36 #define DESCRIPTION "NVIDIA DeepStreamSDK TensorRT Inference Server plugin"
37 #define BINARY_PACKAGE "NVIDIA DeepStreamSDK TensorRT Inference Server plugin"
38 #define URL "http://nvidia.com/"
39 
40 namespace gstnvinferserver {
41  class GstNvInferServerImpl;
42 }
43 
44 G_BEGIN_DECLS
45 
46 /* Standard GStreamer boilerplate */
49 
50 /* Standard GStreamer boilerplate */
51 #define GST_TYPE_NVINFER_SERVER (gst_nvinfer_server_get_type())
52 #define GST_NVINFER_SERVER(obj) \
53  (G_TYPE_CHECK_INSTANCE_CAST( \
54  (obj), GST_TYPE_NVINFER_SERVER, GstNvInferServer))
55 #define GST_NVINFER_SERVER_CLASS(klass) \
56  (G_TYPE_CHECK_CLASS_CAST( \
57  (klass), GST_TYPE_NVINFER_SERVER, GstNvInferServerClass))
58 #define GST_NVINFER_SERVER_GET_CLASS(obj) \
59  (G_TYPE_INSTANCE_GET_CLASS( \
60  (obj), GST_TYPE_NVINFER_SERVER, GstNvInferServerClass))
61 #define GST_IS_NVINFER(obj) \
62  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_NVINFER_SERVER))
63 #define GST_IS_NVINFER_CLASS(klass) \
64  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_NVINFER_SERVER))
65 #define GST_NVINFER_SERVER_CAST(obj) ((GstNvInferServer*)(obj))
66 
83 };
84 
91  GstBaseTransform base_trans;
92 
96 
99 
104 
106  GstFlowReturn last_flow_ret;
107 
110 
113 };
114 
122  GstBaseTransformClass parent_class;
123 };
124 
125 GType gst_nvinfer_server_get_type(void);
126 
127 G_END_DECLS
128 
129 #endif /* __GST_INFER_H__ */
gstnvinferserver
Definition: gstnvinferserver_impl.h:68
PROP_UNIQUE_ID
@ PROP_UNIQUE_ID
Definition: gstnvinferserver.h:72
GstNvInferServerProperty
GstNvInferServerProperty
List of GObject properties for the element.
Definition: gstnvinferserver.h:70
PROP_PROCESS_MODE
@ PROP_PROCESS_MODE
Definition: gstnvinferserver.h:73
PROP_LAST
@ PROP_LAST
Definition: gstnvinferserver.h:82
PROP_CONFIG_FILE_PATH
@ PROP_CONFIG_FILE_PATH
Definition: gstnvinferserver.h:74
gstnvdsinfer.h
_GstNvInferServer::output_generated_userdata
gpointer output_generated_userdata
Definition: gstnvinferserver.h:103
gstnvinferserver::GstNvInferServerImpl
Class of the nvinferserver element implementation.
Definition: gstnvinferserver_impl.h:142
PROP_INPUT_TENSOR_META
@ PROP_INPUT_TENSOR_META
Definition: gstnvinferserver.h:81
_GstNvInferServer::output_generated_callback
gst_nvinfer_raw_output_generated_callback output_generated_callback
Pointer to the callback function and user data for application access to the bound buffer contents.
Definition: gstnvinferserver.h:102
GstNvInferServer
typedefG_BEGIN_DECLS struct _GstNvInferServer GstNvInferServer
Definition: gstnvinferserver.h:47
gst_nvinfer_server_get_type
GType gst_nvinfer_server_get_type(void)
PROP_OUTPUT_CALLBACK
@ PROP_OUTPUT_CALLBACK
Definition: gstnvinferserver.h:79
PROP_OPERATE_ON_CLASS_IDS
@ PROP_OPERATE_ON_CLASS_IDS
Definition: gstnvinferserver.h:77
_GstNvInferServer::base_trans
GstBaseTransform base_trans
Base class for GstNvInferServer.
Definition: gstnvinferserver.h:91
PROP_OUTPUT_CALLBACK_USERDATA
@ PROP_OUTPUT_CALLBACK_USERDATA
Definition: gstnvinferserver.h:80
_GstNvInferServer
Opaque structure storing data of the nvinferserver element.
Definition: gstnvinferserver.h:88
gstnvdsmeta.h
PROP_0
@ PROP_0
Definition: gstnvinferserver.h:71
_GstNvInferServer::last_flow_ret
GstFlowReturn last_flow_ret
GstFlowReturn returned by the latest buffer pad push.
Definition: gstnvinferserver.h:106
_GstNvInferServerClass
The class structure for the nvinferserver element.
Definition: gstnvinferserver.h:121
PROP_INFER_ON_GIE_ID
@ PROP_INFER_ON_GIE_ID
Definition: gstnvinferserver.h:76
_GstNvInferServer::write_raw_buffers_to_file
gboolean write_raw_buffers_to_file
Boolean indicating if the bound buffer contents should be written to file.
Definition: gstnvinferserver.h:95
_GstNvInferServer::impl
gstnvinferserver::GstNvInferServerImpl * impl
Pointer to the GstNvInferServerImpl object for this instance.
Definition: gstnvinferserver.h:112
_GstNvInferServer::current_batch_num
guint64 current_batch_num
Current batch number of the input batch.
Definition: gstnvinferserver.h:109
_GstNvInferServer::file_write_batch_num
guint64 file_write_batch_num
Batch counter for writing buffer contents to file.
Definition: gstnvinferserver.h:98
gst_nvinfer_raw_output_generated_callback
G_BEGIN_DECLS typedef void(* gst_nvinfer_raw_output_generated_callback)(GstBuffer *buf, NvDsInferNetworkInfo *network_info, NvDsInferLayerInfo *layers_info, guint num_layers, guint batch_size, gpointer user_data)
Function definition for the inference raw output generated callback of Gst-NvInfer plugin.
Definition: gstnvdsinfer.h:56
_GstNvInferServerClass::parent_class
GstBaseTransformClass parent_class
Definition: gstnvinferserver.h:122
PROP_INTERVAL
@ PROP_INTERVAL
Definition: gstnvinferserver.h:78
PROP_BATCH_SIZE
@ PROP_BATCH_SIZE
Definition: gstnvinferserver.h:75