NVIDIA DeepStream SDK API Reference
9.0 Release
9.0/sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
* SPDX-License-Identifier: MIT
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining a
6
* copy of this software and associated documentation files (the "Software"),
7
* to deal in the Software without restriction, including without limitation
8
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
9
* and/or sell copies of the Software, and to permit persons to whom the
10
* Software is furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be included in
13
* all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
* DEALINGS IN THE SOFTWARE.
22
*/
23
24
#ifndef __NVDSPOSTPROCESSLIB_INTERFACE_HPP__
25
#define __NVDSPOSTPROCESSLIB_INTERFACE_HPP__
26
27
#include <string>
28
#include <gst/gstbuffer.h>
29
30
enum class
BufferResult
{
31
Buffer_Ok
,
// Push the buffer from submit_input function
32
Buffer_Drop
,
// Drop the buffer inside submit_input function
33
Buffer_Async
,
// Return from submit_input function, postprocess lib to push the buffer
34
Buffer_Error
// Error occured
35
};
36
37
struct
DSPostProcess_CreateParams
{
38
GstBaseTransform *
m_element
;
39
guint
m_gpuId
;
40
cudaStream_t
m_cudaStream
;
41
bool
m_preprocessor_support
;
42
};
43
44
struct
Property
45
{
46
Property
(std::string arg_key, std::string arg_value) :
key
(arg_key),
value
(arg_value)
47
{
48
}
49
50
std::string
key
;
51
std::string
value
;
52
};
53
54
class
IDSPostProcessLibrary
55
{
56
public
:
57
virtual
bool
HandleEvent
(GstEvent *event) = 0;
58
virtual
bool
SetConfigFile
(
const
gchar *config_file) = 0;
59
virtual
BufferResult
ProcessBuffer
(
GstBuffer
*inbuf) = 0;
60
virtual
~IDSPostProcessLibrary
() {};
61
};
62
63
#endif
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition:
sources/includes/nvbufsurftransform.h:35
IDSPostProcessLibrary
Definition:
sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:54
BufferResult::Buffer_Ok
@ Buffer_Ok
BufferResult::Buffer_Drop
@ Buffer_Drop
Property::key
std::string key
Definition:
sources/gst-plugins/gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:45
Property::value
std::string value
Definition:
sources/gst-plugins/gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:46
BufferResult::Buffer_Error
@ Buffer_Error
IDSPostProcessLibrary::SetConfigFile
virtual bool SetConfigFile(const gchar *config_file)=0
IDSPostProcessLibrary::ProcessBuffer
virtual BufferResult ProcessBuffer(GstBuffer *inbuf)=0
DSPostProcess_CreateParams::m_gpuId
guint m_gpuId
Definition:
sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:39
BufferResult
BufferResult
Definition:
sources/gst-plugins/gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:22
IDSPostProcessLibrary::~IDSPostProcessLibrary
virtual ~IDSPostProcessLibrary()
Definition:
9.0/sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:60
DSPostProcess_CreateParams::m_cudaStream
cudaStream_t m_cudaStream
Definition:
sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:40
DSPostProcess_CreateParams::m_preprocessor_support
bool m_preprocessor_support
Definition:
sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:41
Property
Definition:
sources/gst-plugins/gst-nvdsA2Vtemplate/includes/nvdscustomlib_interface.hpp:39
DSPostProcess_CreateParams
Definition:
sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:37
Property::Property
Property(std::string arg_key, std::string arg_value)
Definition:
9.0/sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:46
IDSPostProcessLibrary::HandleEvent
virtual bool HandleEvent(GstEvent *event)=0
DSPostProcess_CreateParams::m_element
GstBaseTransform * m_element
Definition:
sources/gst-plugins/gst-nvdspostprocess/includes/nvdspostprocesslib_interface.hpp:38
BufferResult::Buffer_Async
@ Buffer_Async
GstBuffer
struct _GstBuffer GstBuffer
Definition:
sources/includes/ds3d/common/idatatype.h:19
Privacy Policy
|
Manage My Privacy
|
Do Not Sell or Share My Data
|
Terms of Service
|
Accessibility
|
Corporate Policies
|
Product Security
|
Contact
© 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
NVIDIA Confidential | Subject to Change | For test and development only.
Fri Mar 20 2026 14:37:00 | PR-09318-R32