12 #ifndef __NVDSINFERSERVER_POST_PROCESS_BUF_H__
13 #define __NVDSINFERSERVER_POST_PROCESS_BUF_H__
15 #include <condition_variable>
29 #include "nvdsinferserver_config.pb.h"
31 namespace ic = nvdsinferserver::config;
33 struct NvDsInferDBScan;
54 for (
auto& batch : m_Objects)
55 for (
auto&
object : batch)
60 void swapObjects(std::vector<std::vector<NvDsInferObject>>& objs)
64 m_BufPtrs.resize(m_Objects.size());
65 for (
size_t i = 0; i < m_BufPtrs.size(); ++i) {
68 bufPtr.
objects = m_Objects.at(i).data();
74 assert(batchIdx < (uint32_t)m_BufPtrs.size());
75 return (
void*)&m_BufPtrs.at(batchIdx);
79 std::vector<std::vector<NvDsInferObject>> m_Objects;
80 std::vector<NvDsInferDetectionOutput> m_BufPtrs;
92 elementSize :
sizeof(InferClassificationOutput),
97 m_BufPtrs.resize(batchSize);
102 assert(idx < m_BufPtrs.size());
103 return m_BufPtrs[idx];
108 assert(batchIdx < (uint32_t)m_BufPtrs.size());
109 return (
void*)&m_BufPtrs.at(batchIdx);
115 for (uint32_t i = 0; i < m_BufPtrs.size(); ++i) {
117 for (
size_t k = 0; k < data.attributes.size(); ++k) {
118 auto& attrib = data.attributes[k];
119 if (attrib.safeAttributeLabel.empty()) {
120 attrib.safeAttributeLabel =
safeStr(attrib.attributeLabel);
122 attrib.attributeLabel = (
char *) attrib.safeAttributeLabel.c_str();
128 std::vector<InferClassificationOutput> m_BufPtrs;
153 delete[] out.class_map;
159 assert(idx < m_BufPtrs.size());
160 return m_BufPtrs[idx];
165 assert(batchIdx < (uint32_t)m_BufPtrs.size());
166 return (
void*)&m_BufPtrs.at(batchIdx);
170 std::vector<NvDsInferSegmentationOutput> m_BufPtrs;
175 #endif // __NVDSINFERSERVER_POST_PROCESS_BUF_H__