NVIDIA DeepStream SDK API Reference

9.2 Release
sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2016-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 #ifndef __GST_NVBUFSURFACEWRITE_H__
18 #define __GST_NVBUFSURFACEWRITE_H__
19 
20 #ifdef __cplusplus
21 extern "C"
22 {
23 #endif
24 
25 #include <cuda.h>
26 #include <cuda_runtime.h>
27 #include <gst/gst.h>
28 #include <gst/base/gstbasetransform.h>
29 
30 G_BEGIN_DECLS
31 
32 /* #defines don't like whitespacey bits */
33 #define GST_TYPE_NVBUFSURFACEWRITE \
34  (gst_nvbufsurfacewrite_get_type())
35 #define GST_NVBUFSURFACEWRITE(obj) \
36  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVBUFSURFACEWRITE,GstNvBufSurfaceWrite))
37 #define GST_NVBUFSURFACEWRITE_CLASS(klass) \
38  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVBUFSURFACEWRITE,GstNvBufSurfaceWriteClass))
39 #define GST_IS_NVBUFSURFACEWRITE(obj) \
40  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVBUFSURFACEWRITE))
41 #define GST_IS_NVBUFSURFACEWRITE_CLASS(klass) \
42  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVBUFSURFACEWRITE))
43 
46 
48 {
49  GstBaseTransform element;
50 
51  GstPad *sinkpad, *srcpad;
52  GstVideoInfo in_info;
53  GstVideoInfo out_info;
54  gboolean is_same_caps;
55 
56  /* source and sink pad caps */
57  GstCaps *sinkcaps;
58  GstCaps *srccaps;
59 
60  unsigned int input_width;
61  unsigned int input_height;
62  unsigned int output_width;
63  unsigned int output_height;
64  unsigned int gpu_id;
65 
68  GstVideoFormat input_fmt;
69  GstVideoFormat output_fmt;
70 
72 
73  int frame_num;
74 
75  // Used for writeing surfaces
76  void *input_nvbufsurface = NULL;
77 
78  gboolean silent;
79 };
80 
82 {
83  GstBaseTransformClass parent_class;
84 };
85 
87 
88 G_END_DECLS
89 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #endif /* __GST_NVBUFSURFACEWRITE_H__ */
_GstNvBufSurfaceWriteClass
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:81
_GstNvBufSurfaceWrite::gpu_id
unsigned int gpu_id
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:64
_GstNvBufSurfaceWrite::srccaps
GstCaps * srccaps
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:58
_GstNvBufSurfaceWrite::srcpad
GstPad * srcpad
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:51
_GstNvBufSurfaceWrite::silent
gboolean silent
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:78
_GstNvBufSurfaceWrite::element
GstBaseTransform element
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:49
_GstNvBufSurfaceWrite::input_width
unsigned int input_width
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:60
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition: includes/nvbufsurftransform.h:40
_GstNvBufSurfaceWrite::output_height
unsigned int output_height
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:63
_GstNvBufSurfaceWrite::input_fmt
GstVideoFormat input_fmt
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:68
_GstNvBufSurfaceWrite::input_feature
int input_feature
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:66
_GstNvBufSurfaceWrite::output_feature
int output_feature
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:67
_GstNvBufSurfaceWriteClass::parent_class
GstBaseTransformClass parent_class
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:83
_GstNvBufSurfaceWrite::sinkpad
GstPad * sinkpad
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:51
gst_nvbufsurfacewrite_get_type
GType gst_nvbufsurfacewrite_get_type(void)
_GstNvBufSurfaceWrite::input_nvbufsurface
void * input_nvbufsurface
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:76
_GstNvBufSurfaceWrite::in_info
GstVideoInfo in_info
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:52
_GstNvBufSurfaceWrite::frame_num
int frame_num
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:73
_GstNvBufSurfaceWrite::output_fmt
GstVideoFormat output_fmt
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:69
_GstNvBufSurfaceWrite::is_same_caps
gboolean is_same_caps
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:54
_GstNvBufSurfaceWrite::out_info
GstVideoInfo out_info
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:53
_GstNvBufSurfaceWrite
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:47
_GstNvBufSurfaceWrite::sinkcaps
GstCaps * sinkcaps
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:57
_GstNvBufSurfaceWrite::output_width
unsigned int output_width
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:62
_GstNvBufSurfaceWrite::input_height
unsigned int input_height
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:61
_GstNvBufSurfaceWrite::stream
cudaStream_t stream
Definition: sources/gst-plugins/gst-nvbufsurfacewrite/gstnvbufsurfacewrite.h:71