NVIDIA DeepStream SDK API Reference
6.4 Release
deepstream_secondary_preprocess.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the "Software"),
6
* to deal in the Software without restriction, including without limitation
7
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
* and/or sell copies of the Software, and to permit persons to whom the
9
* Software is furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20
* DEALINGS IN THE SOFTWARE.
21
*/
22
23
#ifndef __NVGSTDS_SECONDARY_PREPROCESS_H__
24
#define __NVGSTDS_SECONDARY_PREPROCESS_H__
25
26
#include <gst/gst.h>
27
#include "
deepstream_preprocess.h
"
28
29
#ifdef __cplusplus
30
extern
"C"
31
{
32
#endif
33
34
typedef
struct
35
{
36
GstElement *
queue
;
37
GstElement *
secondary_preprocess
;
38
GstElement *
tee
;
39
GstElement *
sink
;
40
gboolean
create
;
41
guint
num_children
;
42
gint
parent_index
;
43
}
NvDsSecondaryPreProcessBinSubBin
;
44
45
typedef
struct
46
{
47
GstElement *
bin
;
48
GstElement *
tee
;
49
GstElement *
queue
;
50
gulong
wait_for_secondary_preprocess_process_buf_probe_id
;
51
gboolean
stop
;
52
gboolean
flush
;
53
NvDsSecondaryPreProcessBinSubBin
sub_bins[
MAX_SECONDARY_GIE_BINS
];
54
GMutex
wait_lock
;
55
GCond
wait_cond
;
56
}
NvDsSecondaryPreProcessBin
;
57
71
gboolean
create_secondary_preprocess_bin
(guint num_secondary_preprocess,
72
guint primary_gie_unique_id,
73
NvDsPreProcessConfig
*config_array,
74
NvDsSecondaryPreProcessBin
*bin);
75
79
void
destroy_secondary_preprocess_bin
(
NvDsSecondaryPreProcessBin
*bin);
80
81
#ifdef __cplusplus
82
}
83
#endif
84
85
#endif
NvDsPreProcessConfig
Definition:
deepstream_preprocess.h:33
MAX_SECONDARY_GIE_BINS
#define MAX_SECONDARY_GIE_BINS
Definition:
deepstream_config.h:96
destroy_secondary_preprocess_bin
void destroy_secondary_preprocess_bin(NvDsSecondaryPreProcessBin *bin)
Release the resources.
create_secondary_preprocess_bin
gboolean create_secondary_preprocess_bin(guint num_secondary_preprocess, guint primary_gie_unique_id, NvDsPreProcessConfig *config_array, NvDsSecondaryPreProcessBin *bin)
Initialize NvDsSecondaryPreProcessBin.
NvDsSecondaryPreProcessBin::wait_lock
GMutex wait_lock
Definition:
deepstream_secondary_preprocess.h:54
NvDsSecondaryPreProcessBin::bin
GstElement * bin
Definition:
deepstream_secondary_preprocess.h:47
NvDsSecondaryPreProcessBin::queue
GstElement * queue
Definition:
deepstream_secondary_preprocess.h:49
NvDsSecondaryPreProcessBin::stop
gboolean stop
Definition:
deepstream_secondary_preprocess.h:51
NvDsSecondaryPreProcessBinSubBin
Definition:
deepstream_secondary_preprocess.h:34
NvDsSecondaryPreProcessBin::wait_for_secondary_preprocess_process_buf_probe_id
gulong wait_for_secondary_preprocess_process_buf_probe_id
Definition:
deepstream_secondary_preprocess.h:50
NvDsSecondaryPreProcessBin::tee
GstElement * tee
Definition:
deepstream_secondary_preprocess.h:48
NvDsSecondaryPreProcessBinSubBin::parent_index
gint parent_index
Definition:
deepstream_secondary_preprocess.h:42
NvDsSecondaryPreProcessBin::wait_cond
GCond wait_cond
Definition:
deepstream_secondary_preprocess.h:55
NvDsSecondaryPreProcessBinSubBin::sink
GstElement * sink
Definition:
deepstream_secondary_preprocess.h:39
NvDsSecondaryPreProcessBinSubBin::secondary_preprocess
GstElement * secondary_preprocess
Definition:
deepstream_secondary_preprocess.h:37
NvDsSecondaryPreProcessBin::flush
gboolean flush
Definition:
deepstream_secondary_preprocess.h:52
deepstream_preprocess.h
NvDsSecondaryPreProcessBin
Definition:
deepstream_secondary_preprocess.h:45
NvDsSecondaryPreProcessBinSubBin::num_children
guint num_children
Definition:
deepstream_secondary_preprocess.h:41
NvDsSecondaryPreProcessBinSubBin::create
gboolean create
Definition:
deepstream_secondary_preprocess.h:40
NvDsSecondaryPreProcessBinSubBin::queue
GstElement * queue
Definition:
deepstream_secondary_preprocess.h:36
NvDsSecondaryPreProcessBinSubBin::tee
GstElement * tee
Definition:
deepstream_secondary_preprocess.h:38
Advance Information | Subject to Change | Generated by NVIDIA | Mon Dec 11 2023 17:51:24 | PR-09318-R32