NVIDIA DeepStream SDK API Reference

9.1 Release
service-maker/includes/metadata.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024-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 
26 #ifndef NVIDIA_DEEPSTREAM_METADATA
27 #define NVIDIA_DEEPSTREAM_METADATA
28 
29 #include <functional>
30 #include <memory>
31 #include <string>
32 
33 #include "nvll_osd_struct.h"
34 #include "nvds_tracker_meta.h"
35 #include "nvds_audio_meta.h"
36 
37 namespace deepstream {
38 
39 #define USER_METADATA_START = (4096 + 4096 + 1)
40 
48 class Metadata {
49  public:
51  Metadata(void* data);
52 
54  virtual ~Metadata();
55 
57  virtual operator bool() { return data_ != nullptr; }
58 
59  protected:
60  void* data_; //> opaque data pointer
61 };
62 
70 template <typename T>
72  public:
74  AbstractIterator(const T& data) : data_(data) {}
75 
77  virtual ~AbstractIterator() {}
78 
80  T& operator*() { return data_; }
81 
83  T* operator->() { return &data_; }
84 
86  T& get() { return data_; }
87 
89  virtual AbstractIterator<T>& next() = 0;
90 
92  virtual bool done() = 0;
93 
95  bool operator==(const AbstractIterator<T>& other) const {
96  return equals(other);
97  }
98 
100  bool operator!=(const AbstractIterator<T>& other) const {
101  return !(*this == other);
102  }
103 
104  protected:
105  virtual bool equals(const AbstractIterator<T>& other) const = 0;
106  T data_;
107 };
108 
110 class UserMetadata : public Metadata {
111  public:
112  typedef std::unique_ptr<AbstractIterator<UserMetadata>> Iterator;
113 
120  UserMetadata(void*);
122  virtual ~UserMetadata();
123 
125  virtual operator bool() override { return data_ != nullptr; }
126 
128  int metaType() const;
130  void setMetaType(int type);
131 
133  void* userData() const;
141  void setUserData(void* data, void*(*copy)(void*, void*), void(*release)(void*, void*));
142 
143  friend class BatchMetadata;
144  friend class FrameMetadata;
145  friend class AudioFrameMetadata;
146  friend class ObjectMetadata;
147 
148  protected:
149  void get_(void*&);
150 };
151 
153 class ClassifierMetadata : public Metadata {
154 public:
155  typedef std::unique_ptr<AbstractIterator<ClassifierMetadata>> Iterator;
156 
163  ClassifierMetadata(void* data = nullptr);
165  virtual ~ClassifierMetadata();
166 
168  unsigned int nLabels() const;
170  unsigned int uniqueComponentId() const;
172  std::string getLabel(unsigned int nth) const;
173 
174 };
175 
182 class ObjectMetadata : public Metadata {
183  public:
184  typedef std::unique_ptr<AbstractIterator<ObjectMetadata>> Iterator;
185 
192  ObjectMetadata(void* data = nullptr);
194  virtual ~ObjectMetadata();
195 
197  unsigned int uniqueComponentId() const;
198  void setUniqueComponentId(unsigned int);
200  unsigned int classId() const;
201  void setClassId(unsigned int);
203  unsigned long int objectId() const;
204  void setObjectId(unsigned long);
206  float confidence() const;
207  void setConfidence(float);
209  float trackerConfidence() const;
210  void setTrackerConfidence(float);
212  NvOSD_RectParams& rectParams() const;
213  void setRectParams(const NvOSD_RectParams&);
215  NvOSD_MaskParams& maskParams() const;
216  void setMaskParams(const NvOSD_MaskParams&);
218  NvOSD_TextParams& textParams() const;
219  void setTextParams(const NvOSD_TextParams&);
221  std::string label() const;
222  void setLabel(std::string);
224  NvBbox_Coords& nvBboxInfo() const;
225  void setNvBboxInfo(const NvBbox_Coords&);
226 
228  unsigned int iterate(const std::function<void(const ClassifierMetadata&)>& func) const;
231 
233  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
235  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
236 
238  void append(const UserMetadata&);
239 
240  friend class FrameMetadata;
241 };
242 
243 
244 class FrameMetadata;
245 class AudioFrameMetadata;
254  public:
255  EventMessageUserMetadata(void* data=nullptr);
256  virtual ~EventMessageUserMetadata();
257 
259  void generate(
260  const ObjectMetadata&,
261  const FrameMetadata&,
262  const std::string sensor="N/A",
263  const std::string uri="N/A",
264  const std::vector<std::string>labels=std::vector<std::string>());
265 
267  void generate(
268  const AudioFrameMetadata&,
269  const std::string sensor="N/A",
270  const std::string uri="N/A");
271 };
272 
279 class RoiMetadata : public Metadata {
280  public:
281  RoiMetadata(void* data=nullptr);
282  virtual ~RoiMetadata();
283 
285  NvOSD_RectParams& rectParams() const;
286 
289 
292 
294  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
296  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
297 
299  unsigned int iterate(const std::function<void(const ClassifierMetadata&)>& func) const;
302 };
303 
304 
310 class Tensor;
312  public:
313  TensorOutputUserMetadata(void* data=nullptr);
315  virtual ~TensorOutputUserMetadata();
316 
318  unsigned int uniqueId() const;
320  std::unordered_map<std::string, Tensor*> getLayers();
321 };
322 
332 public:
338  SegmentationUserMetadata(void* data=nullptr);
339 
342 
344  virtual ~SegmentationUserMetadata();
345 
347  unsigned int uniqueId() const;
348 
350  unsigned int getClasses() const;
351 
353  unsigned int getWidth() const;
354 
356  unsigned int getHeight() const;
357 
359  const int* getClassMap() const;
360 
362  const float* getClassProbabilitiesMap() const;
363 };
364 
371 template <class C, int N>
373  public:
374  UserMetadataTemplate(void* data=nullptr) : UserMetadata(data) {}
377 
378 
379  C& get() {
380  void* p = nullptr;
381  this->get_(p);
382  return *((C*)p);
383  }
384 
385  static void* copy(void* data, void* user_data) {
386  void* p = nullptr;
388  C*& src = (C*&) p;
389  C* dst = new C(*src);
390  return dst;
391  }
392 
393  static void free(void* data, void* user_data) {
394  void* p = nullptr;
396  C*& src = (C*&) p;
397  delete src;
398  p = nullptr;
399  }
400 };
401 
409 class DisplayMetadata : public Metadata {
410  public:
411  typedef std::unique_ptr<AbstractIterator<DisplayMetadata>> Iterator;
412 
419  DisplayMetadata(void* data = nullptr);
421  virtual ~DisplayMetadata();
422 
424  unsigned int nRects() const;
426  unsigned int nLabels() const;
428  unsigned int nLines() const;
430  unsigned int nArrows() const;
432  unsigned int nCircles() const;
433 
435  bool add(NvOSD_TextParams&);
437  bool add(NvOSD_RectParams&);
439  bool add(NvOSD_LineParams&);
441  bool add(NvOSD_ArrowParams&);
443  bool add(NvOSD_CircleParams&);
444 
445  friend class FrameMetadata;
446 };
447 
454 class FrameMetadata : public Metadata {
455  public:
456  typedef std::unique_ptr<AbstractIterator<FrameMetadata>> Iterator;
457 
464  FrameMetadata(void* data=nullptr);
466  virtual ~FrameMetadata();
467 
469  unsigned int iterate(const std::function<void(const ObjectMetadata&)>& func) const;
472 
474  unsigned int iterate(const std::function<void(const DisplayMetadata&)>& func) const;
477 
479  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
481  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
482 
484  unsigned int padIndex() const;
486  unsigned int batchId() const;
488  int frameNum() const;
490  unsigned int sourceId() const;
492  unsigned int sourceWidth() const;
494  unsigned int sourceHeight() const;
495 
497  unsigned int pipelineWidth() const;
499  unsigned int pipelineHeight() const;
500 
502  uint64_t bufferPTS() const;
504  uint64_t ntpTimestamp() const;
505 
507  void append(const DisplayMetadata&);
509  void append(const UserMetadata&);
511  void append(const ObjectMetadata&);
512 
513  friend class BatchMetadata;
514 };
515 
522 class AudioFrameMetadata : public Metadata {
523  public:
524  typedef std::unique_ptr<AbstractIterator<AudioFrameMetadata>> Iterator;
525 
532  AudioFrameMetadata(void* data=nullptr);
534  virtual ~AudioFrameMetadata();
535 
537  unsigned int iterate(const std::function<void(const ClassifierMetadata&)>& func) const;
540 
542  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
544  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
545 
547  void append(const UserMetadata&);
548 
550  unsigned int padIndex() const;
552  unsigned int batchId() const;
554  int frameNum() const;
556  unsigned int sourceId() const;
558  int numSamplesPerFrame() const;
560  unsigned int sampleRate() const;
562  unsigned int numChannels() const;
564  int format() const;
566  int layout() const;
568  uint64_t bufferPTS() const;
570  uint64_t ntpTimestamp() const;
572  bool inferDone() const;
574  int classId() const;
576  float confidence() const;
578  std::string classLabel() const;
579 
580  friend class BatchMetadata;
581 };
582 
589  public:
590  PreprocessTensorMetadata(void* data=nullptr);
591  virtual ~PreprocessTensorMetadata();
592 
594  std::string getName() const;
595 
597  unsigned int getMetaId() const;
598 
600  Tensor* getTensor() const;
601 
602  operator bool() const {
603  return data_ != nullptr;
604  }
605 
606  protected:
607  void * data_;
608 };
609 
610 
617  public:
618  PreprocessBatchUserMetadata(void* data=nullptr);
621 
623  std::vector<unsigned int> getTargetUniqueIds() const;
624 
626  std::vector<RoiMetadata> getRois() const;
627 
630 
632  bool initPreprocessTensorMetadata(const std::string& name, unsigned int meta_id, unsigned int unique_id, Tensor* tensor);
633 };
634 
636  public:
637  ObjectVisibilityUserMetadata(void* data=nullptr);
638  ObjectVisibilityUserMetadata(const UserMetadata& user_meta);
640 
642  float getVisibility() const;
643 };
644 
646  public:
647  ObjectImageFootLocationUserMetadata(void* data=nullptr);
650 
652  std::pair<float, float> getImageFootLocation() const;
653 };
654 
656  public:
657  Object3DBBoxUserMetadata(void* data=nullptr);
658  Object3DBBoxUserMetadata(const UserMetadata& user_meta);
659  virtual ~Object3DBBoxUserMetadata();
660  NvDsObj3DBbox* get3DBbox() const;
661 };
662 
664  public:
665  TrackerPastFrameUserMetadata(void* data=nullptr);
666  TrackerPastFrameUserMetadata(const UserMetadata& user_meta);
669 };
670 
672 public:
673  StructureUserMetadata(void* data=nullptr);
674  StructureUserMetadata(const UserMetadata& user_meta);
675  virtual ~StructureUserMetadata();
676  void* getStructureUserMetadata() const;
677  int getStructureUserMetatype() const;
678 };
679 
687  public:
688  ObjectReidUserMetadata(void* data=nullptr);
689  ObjectReidUserMetadata(const UserMetadata& user_meta);
692  virtual ~ObjectReidUserMetadata();
693 
695  unsigned int featureSize() const;
696 
698  const float* featureVector() const;
699 
709  void setFeatureVector(const float* features, unsigned int size);
710 };
711 
713 public:
719  AnalyticsObjInfo(void* data=nullptr);
720 
722  AnalyticsObjInfo(const UserMetadata& user_meta);
723 
725  virtual ~AnalyticsObjInfo();
726 
728  std::vector<std::string> getRoiStatus() const;
729 
731  std::vector<std::string> getOcStatus() const;
732 
734  std::vector<std::string> getLcStatus() const;
735 
737  std::string getDirStatus() const;
738 
740  unsigned int getUniqueId() const;
741 
743  std::string getObjStatus() const;
744 };
745 
747 public:
753  AnalyticsFrameMeta(void* data=nullptr);
754 
756  AnalyticsFrameMeta(const UserMetadata& user_meta);
757  virtual ~AnalyticsFrameMeta();
758 
762  std::unordered_map<std::string, bool> getOcStatus() const;
763 
767  std::unordered_map<std::string, uint32_t> getObjInROIcnt() const;
768 
772  std::unordered_map<std::string, uint64_t> getObjLCCurrCnt() const;
773 
777  std::unordered_map<std::string, uint64_t> getObjLCCumCnt() const;
778 
780  unsigned int getUniqueId() const;
781 
785  std::unordered_map<int, uint32_t> getObjCnt() const;
786 };
787 
797 class BatchMetadata : public Metadata {
798  public:
805  BatchMetadata(void *data = nullptr);
806 
808  virtual ~BatchMetadata();
809 
811  unsigned int iterate(const std::function<void(const FrameMetadata&)>& func) const;
814 
816  unsigned int iterate(const std::function<void(const AudioFrameMetadata&)>& func) const;
819 
821  unsigned int iterate(const std::function<void(const UserMetadata&)>& func, int meta_type) const;
823  void initiateIterator(UserMetadata::Iterator&, int meta_type) const;
824 
826  bool acquire(DisplayMetadata&);
828  bool acquire(FrameMetadata&);
830  bool acquire(ObjectMetadata&);
836  bool acquire(UserMetadata&);
840  template<class C, int N>
842  user_meta = acquireUserMetadata_(
844  );
845  return user_meta ? true : false;
846  }
847 
849  void append(const FrameMetadata&);
851  void append(const UserMetadata&);
852 
854  unsigned int nFrames() const;
856  bool isAudioBatch() const;
857 
858  protected:
860  void* data, unsigned int type, void*(*copy)(void*, void*), void(*free)(void*, void*)
861  );
862 };
863 
864 
865 }
866 
867 #endif
deepstream::AbstractIterator::done
virtual bool done()=0
check if the end is reached
_NvOSD_LineParams
Holds the box parameters of a line to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:188
deepstream::StructureUserMetadata::StructureUserMetadata
StructureUserMetadata(void *data=nullptr)
deepstream::AudioFrameMetadata::numChannels
unsigned int numChannels() const
Audio channel count.
deepstream::EventMessageUserMetadata::EventMessageUserMetadata
EventMessageUserMetadata(void *data=nullptr)
deepstream::AudioFrameMetadata::frameNum
int frameNum() const
Frame number.
deepstream::ObjectReidUserMetadata::setFeatureVector
void setFeatureVector(const float *features, unsigned int size)
Set the ReID feature vector.
deepstream::PreprocessBatchUserMetadata::getTargetUniqueIds
std::vector< unsigned int > getTargetUniqueIds() const
@Brief Get the target unique ids
deepstream::ClassifierMetadata
Meta generated from a classifier.
Definition: service-maker/includes/metadata.hpp:153
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:145
deepstream::ObjectMetadata::iterate
unsigned int iterate(const std::function< void(const ClassifierMetadata &)> &func) const
Iterate the classifier metadata within it.
deepstream::AnalyticsFrameMeta::getObjLCCumCnt
std::unordered_map< std::string, uint64_t > getObjLCCumCnt() const
Map of total cumulative count of Line crossing for configured lines, which can be accessed using key,...
_NvOSD_MaskParams
Holds the mask parameters of the segment to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:177
deepstream::ObjectImageFootLocationUserMetadata::~ObjectImageFootLocationUserMetadata
virtual ~ObjectImageFootLocationUserMetadata()
deepstream::AnalyticsObjInfo::~AnalyticsObjInfo
virtual ~AnalyticsObjInfo()
Destructor for AnalyticsObjInfo.
deepstream::ObjectMetadata::Iterator
std::unique_ptr< AbstractIterator< ObjectMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:184
deepstream::ObjectVisibilityUserMetadata::getVisibility
float getVisibility() const
Get the visibility of the object.
deepstream::RoiMetadata::frameMetadata
FrameMetadata frameMetadata() const
Get the frame metadata.
deepstream::AnalyticsFrameMeta::getObjCnt
std::unordered_map< int, uint32_t > getObjCnt() const
Map of total count of objects for each class ID, which can be accessed using key, value pair; where k...
deepstream::AbstractIterator
metadata iterator template
Definition: service-maker/includes/metadata.hpp:71
deepstream::ObjectMetadata::objectId
unsigned long int objectId() const
Number to identify the object which is tracked in the scene.
deepstream::BatchMetadata::acquire
bool acquire(UserMetadataTemplate< C, N > &user_meta)
Initialize an empty user metadata through template.
Definition: service-maker/includes/metadata.hpp:841
deepstream::SegmentationUserMetadata::~SegmentationUserMetadata
virtual ~SegmentationUserMetadata()
Destructor for SegmentationUserMetadata.
deepstream::UserMetadata::metaType
int metaType() const
Get the meta type.
deepstream::UserMetadataTemplate::UserMetadataTemplate
UserMetadataTemplate(void *data=nullptr)
Definition: service-maker/includes/metadata.hpp:374
deepstream::ObjectReidUserMetadata::~ObjectReidUserMetadata
virtual ~ObjectReidUserMetadata()
deepstream::AudioFrameMetadata::AudioFrameMetadata
AudioFrameMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::AbstractIterator::data_
T data_
Definition: service-maker/includes/metadata.hpp:106
deepstream::ObjectMetadata::append
void append(const UserMetadata &)
Append user metadata to the object.
deepstream::UserMetadata::setUserData
void setUserData(void *data, void *(*copy)(void *, void *), void(*release)(void *, void *))
Set user data with copy and release functions.
deepstream::AnalyticsFrameMeta::AnalyticsFrameMeta
AnalyticsFrameMeta(void *data=nullptr)
Constructor for AnalyticsFrameMeta.
deepstream::AnalyticsFrameMeta::~AnalyticsFrameMeta
virtual ~AnalyticsFrameMeta()
deepstream::UserMetadata::UserMetadata
UserMetadata(void *)
Constructor through opaque data pointer.
deepstream::ObjectReidUserMetadata::ObjectReidUserMetadata
ObjectReidUserMetadata(void *data=nullptr)
deepstream::AnalyticsObjInfo::getRoiStatus
std::vector< std::string > getRoiStatus() const
Get the ROI status.
deepstream::DisplayMetadata::nRects
unsigned int nRects() const
Number of the rectangles.
deepstream::AbstractIterator::operator->
T * operator->()
Dereference the associated metadata as a pointer.
Definition: service-maker/includes/metadata.hpp:83
_NvOSD_CircleParams
Holds circle parameters to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:231
deepstream::PreprocessTensorMetadata
Metadata for preprocessed tensor.
Definition: service-maker/includes/metadata.hpp:588
deepstream::TrackerPastFrameUserMetadata::TrackerPastFrameUserMetadata
TrackerPastFrameUserMetadata(void *data=nullptr)
deepstream::FrameMetadata::pipelineWidth
unsigned int pipelineWidth() const
Picture width of the pipeline.
deepstream::ObjectMetadata::setLabel
void setLabel(std::string)
deepstream::ObjectMetadata::setObjectId
void setObjectId(unsigned long)
deepstream::ObjectMetadata::maskParams
NvOSD_MaskParams & maskParams() const
Holds mask parameters for the object.
deepstream::RoiMetadata::initiateIterator
void initiateIterator(UserMetadata::Iterator &, int meta_type) const
Get the iterator for user metadata within it.
deepstream::AudioFrameMetadata::initiateIterator
void initiateIterator(ClassifierMetadata::Iterator &) const
Get the iterator for classifier metadata within it.
deepstream::DisplayMetadata::~DisplayMetadata
virtual ~DisplayMetadata()
Destructor.
deepstream::PreprocessBatchUserMetadata
User metadata for preprocess batch.
Definition: service-maker/includes/metadata.hpp:616
deepstream::ObjectMetadata::classId
unsigned int classId() const
Number to identify the class of the object.
deepstream::UserMetadataTemplate::get
C & get()
Definition: service-maker/includes/metadata.hpp:379
deepstream::ObjectMetadata::textParams
NvOSD_TextParams & textParams() const
Formated text description of the object, controlling osd display.
deepstream::AudioFrameMetadata::bufferPTS
uint64_t bufferPTS() const
Holds the presentation timestamp (PTS) of the frame.
deepstream::FrameMetadata::sourceId
unsigned int sourceId() const
Identify the source of the frame, e.g.
deepstream::UserMetadata::~UserMetadata
virtual ~UserMetadata()
Destructor.
deepstream::TensorOutputUserMetadata::~TensorOutputUserMetadata
virtual ~TensorOutputUserMetadata()
deepstream::AudioFrameMetadata::padIndex
unsigned int padIndex() const
Index of the pad from which the audio frame is generated.
deepstream::DisplayMetadata::nLabels
unsigned int nLabels() const
Number of the labels.
deepstream::TensorOutputUserMetadata::TensorOutputUserMetadata
TensorOutputUserMetadata(void *data=nullptr)
deepstream::DisplayMetadata::nCircles
unsigned int nCircles() const
Number of the circles.
deepstream::BatchMetadata::acquireUserMetadata_
UserMetadata acquireUserMetadata_(void *data, unsigned int type, void *(*copy)(void *, void *), void(*free)(void *, void *))
deepstream::ObjectMetadata::~ObjectMetadata
virtual ~ObjectMetadata()
Destructor.
deepstream::AudioFrameMetadata::numSamplesPerFrame
int numSamplesPerFrame() const
Number of samples in the audio frame.
deepstream::ObjectMetadata::uniqueComponentId
unsigned int uniqueComponentId() const
Number to identify the unique component that generates the metadata.
deepstream::AnalyticsObjInfo
Definition: service-maker/includes/metadata.hpp:712
deepstream::AudioFrameMetadata::format
int format() const
Audio sample format.
deepstream::AnalyticsObjInfo::AnalyticsObjInfo
AnalyticsObjInfo(void *data=nullptr)
Constructor for AnalyticsObjInfo.
deepstream::TrackerPastFrameUserMetadata::~TrackerPastFrameUserMetadata
virtual ~TrackerPastFrameUserMetadata()
deepstream::EventMessageUserMetadata::~EventMessageUserMetadata
virtual ~EventMessageUserMetadata()
deepstream::AnalyticsFrameMeta::getObjLCCurrCnt
std::unordered_map< std::string, uint64_t > getObjLCCurrCnt() const
Map of total count of Line crossing in current frame for configured lines, which can be accessed usin...
deepstream::PreprocessTensorMetadata::PreprocessTensorMetadata
PreprocessTensorMetadata(void *data=nullptr)
deepstream::ObjectReidUserMetadata::featureVector
const float * featureVector() const
Get the ReID feature vector (CPU pointer)
deepstream::AbstractIterator::operator!=
bool operator!=(const AbstractIterator< T > &other) const
check if two iterator point to different position
Definition: service-maker/includes/metadata.hpp:100
deepstream::BatchMetadata::iterate
unsigned int iterate(const std::function< void(const FrameMetadata &)> &func) const
Iterate the frame metadata within it.
deepstream::ObjectMetadata::nvBboxInfo
NvBbox_Coords & nvBboxInfo() const
Bounding box of the object.
deepstream::StructureUserMetadata::~StructureUserMetadata
virtual ~StructureUserMetadata()
deepstream::ObjectMetadata::initiateIterator
void initiateIterator(ClassifierMetadata::Iterator &) const
Get the iterator for object metadata within it.
deepstream::AudioFrameMetadata::inferDone
bool inferDone() const
Whether inference was performed on the audio frame.
deepstream::ObjectImageFootLocationUserMetadata::ObjectImageFootLocationUserMetadata
ObjectImageFootLocationUserMetadata(void *data=nullptr)
deepstream::FrameMetadata::initiateIterator
void initiateIterator(ObjectMetadata::Iterator &) const
Get the iterator for object metadata within it.
_NvOSD_ArrowParams
Holds arrow parameters to be overlaid.
Definition: sources/includes/nvll_osd_struct.h:207
deepstream::DisplayMetadata::Iterator
std::unique_ptr< AbstractIterator< DisplayMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:411
deepstream::ObjectImageFootLocationUserMetadata
Definition: service-maker/includes/metadata.hpp:645
deepstream::FrameMetadata::sourceWidth
unsigned int sourceWidth() const
Picture width of the source.
deepstream::PreprocessTensorMetadata::getTensor
Tensor * getTensor() const
Get the tensor.
deepstream::DisplayMetadata::nArrows
unsigned int nArrows() const
Number of the arrows.
deepstream::EventMessageUserMetadata
User metadata for event message.
Definition: service-maker/includes/metadata.hpp:253
deepstream::ObjectReidUserMetadata::featureSize
unsigned int featureSize() const
Get the ReID feature vector size.
deepstream::Metadata
Metadata base class.
Definition: service-maker/includes/metadata.hpp:48
deepstream::AnalyticsObjInfo::getObjStatus
std::string getObjStatus() const
Get the object status.
deepstream::AudioFrameMetadata::sampleRate
unsigned int sampleRate() const
Audio sample rate.
deepstream::PreprocessBatchUserMetadata::getPreprocessTensorMetadata
PreprocessTensorMetadata getPreprocessTensorMetadata() const
Get the preprocess tensor metadata.
deepstream::PreprocessBatchUserMetadata::initPreprocessTensorMetadata
bool initPreprocessTensorMetadata(const std::string &name, unsigned int meta_id, unsigned int unique_id, Tensor *tensor)
Initialize a preprocess tensor metadata.
deepstream::UserMetadataTemplate
Template for customized user metadata.
Definition: service-maker/includes/metadata.hpp:372
deepstream::ObjectMetadata::setRectParams
void setRectParams(const NvOSD_RectParams &)
deepstream::FrameMetadata::FrameMetadata
FrameMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::FrameMetadata::append
void append(const DisplayMetadata &)
Append display metadata to the frame.
deepstream::AbstractIterator::~AbstractIterator
virtual ~AbstractIterator()
Destructor.
Definition: service-maker/includes/metadata.hpp:77
deepstream::AudioFrameMetadata::layout
int layout() const
Audio channel layout.
deepstream::UserMetadata::setMetaType
void setMetaType(int type)
Set the meta type.
deepstream::ObjectMetadata
Object metadata.
Definition: service-maker/includes/metadata.hpp:182
deepstream::TensorOutputUserMetadata::getLayers
std::unordered_map< std::string, Tensor * > getLayers()
get tensor output layers
deepstream::AnalyticsFrameMeta::getObjInROIcnt
std::unordered_map< std::string, uint32_t > getObjInROIcnt() const
Map of total count of valid objects in ROI for configured ROIs, which can be accessed using key,...
deepstream::ClassifierMetadata::~ClassifierMetadata
virtual ~ClassifierMetadata()
Destructor.
deepstream::RoiMetadata::objectMetadata
ObjectMetadata objectMetadata() const
Get the object metadata.
deepstream::RoiMetadata::iterate
unsigned int iterate(const std::function< void(const UserMetadata &)> &func, int meta_type) const
Iterate the user metadata within it.
deepstream::SegmentationUserMetadata::getClassProbabilitiesMap
const float * getClassProbabilitiesMap() const
Get the class probabilities map for the segmentation.
deepstream::UserMetadata::userData
void * userData() const
Get the user data pointer.
deepstream::TensorOutputUserMetadata
Definition: service-maker/includes/metadata.hpp:311
deepstream
Definition: service-maker/includes/buffer.hpp:38
deepstream::StructureUserMetadata::getStructureUserMetadata
void * getStructureUserMetadata() const
deepstream::PreprocessBatchUserMetadata::~PreprocessBatchUserMetadata
virtual ~PreprocessBatchUserMetadata()
deepstream::ClassifierMetadata::nLabels
unsigned int nLabels() const
Number of the lables generated by the classifier.
deepstream::PreprocessBatchUserMetadata::PreprocessBatchUserMetadata
PreprocessBatchUserMetadata(void *data=nullptr)
deepstream::AudioFrameMetadata::classId
int classId() const
Class id of the last classified event.
deepstream::Metadata::~Metadata
virtual ~Metadata()
Destructor.
deepstream::TrackerPastFrameUserMetadata
Definition: service-maker/includes/metadata.hpp:663
deepstream::ObjectMetadata::setUniqueComponentId
void setUniqueComponentId(unsigned int)
deepstream::AudioFrameMetadata::Iterator
std::unique_ptr< AbstractIterator< AudioFrameMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:524
deepstream::BatchMetadata::initiateIterator
void initiateIterator(FrameMetadata::Iterator &) const
Get the iterator for frame metadata within it.
deepstream::AbstractIterator::operator==
bool operator==(const AbstractIterator< T > &other) const
check if two iterator point to the same position
Definition: service-maker/includes/metadata.hpp:95
deepstream::FrameMetadata::padIndex
unsigned int padIndex() const
Index of the pad from which the frame is generated.
deepstream::SegmentationUserMetadata::getClassMap
const int * getClassMap() const
Get the class map for the segmentation.
deepstream::AnalyticsFrameMeta
Definition: service-maker/includes/metadata.hpp:746
deepstream::DisplayMetadata::DisplayMetadata
DisplayMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::BatchMetadata
Holds information about a formed batch containingframes from different sources.
Definition: service-maker/includes/metadata.hpp:797
deepstream::FrameMetadata::~FrameMetadata
virtual ~FrameMetadata()
Destructor.
deepstream::AudioFrameMetadata::confidence
float confidence() const
Confidence of the last classified event.
deepstream::Metadata::Metadata
Metadata(void *data)
Constructor through an opqaue pinter.
deepstream::ObjectReidUserMetadata::operator=
ObjectReidUserMetadata & operator=(const ObjectReidUserMetadata &)
Copy assignment operator.
deepstream::AbstractIterator::operator*
T & operator*()
Dereference the associated metadata.
Definition: service-maker/includes/metadata.hpp:80
deepstream::AudioFrameMetadata::append
void append(const UserMetadata &)
Append user metadata to the audio frame.
deepstream::PreprocessTensorMetadata::getName
std::string getName() const
Get the name of the tensor.
deepstream::ObjectVisibilityUserMetadata::ObjectVisibilityUserMetadata
ObjectVisibilityUserMetadata(void *data=nullptr)
deepstream::BatchMetadata::~BatchMetadata
virtual ~BatchMetadata()
Destructor.
deepstream::ObjectMetadata::ObjectMetadata
ObjectMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::AnalyticsObjInfo::getUniqueId
unsigned int getUniqueId() const
Get the unique identifier for this metadata.
deepstream::FrameMetadata::Iterator
std::unique_ptr< AbstractIterator< FrameMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:456
deepstream::SegmentationUserMetadata
A class to handle user metadata for segmentation.
Definition: service-maker/includes/metadata.hpp:331
deepstream::AnalyticsObjInfo::getDirStatus
std::string getDirStatus() const
Get the direction status.
deepstream::UserMetadata
Base class of user defined metadata.
Definition: service-maker/includes/metadata.hpp:110
deepstream::FrameMetadata::batchId
unsigned int batchId() const
Location the frame in the batch.
deepstream::AudioFrameMetadata::batchId
unsigned int batchId() const
Location the audio frame in the batch.
deepstream::BatchMetadata::append
void append(const FrameMetadata &)
Append a frame metadata to the batch.
deepstream::UserMetadataTemplate::copy
static void * copy(void *data, void *user_data)
Definition: service-maker/includes/metadata.hpp:385
deepstream::AbstractIterator::AbstractIterator
AbstractIterator(const T &data)
Construct an iterator for an iterable metadata.
Definition: service-maker/includes/metadata.hpp:74
deepstream::DisplayMetadata
Metadata for overlay display on a frame.
Definition: service-maker/includes/metadata.hpp:409
deepstream::UserMetadataTemplate::~UserMetadataTemplate
virtual ~UserMetadataTemplate()
Definition: service-maker/includes/metadata.hpp:376
deepstream::RoiMetadata::RoiMetadata
RoiMetadata(void *data=nullptr)
deepstream::Metadata::data_
void * data_
Definition: service-maker/includes/metadata.hpp:60
deepstream::ObjectVisibilityUserMetadata::~ObjectVisibilityUserMetadata
virtual ~ObjectVisibilityUserMetadata()
deepstream::FrameMetadata::ntpTimestamp
uint64_t ntpTimestamp() const
Holds the ntp timestamp.
deepstream::ObjectMetadata::setTextParams
void setTextParams(const NvOSD_TextParams &)
deepstream::AudioFrameMetadata::ntpTimestamp
uint64_t ntpTimestamp() const
Holds the ntp timestamp.
deepstream::SegmentationUserMetadata::SegmentationUserMetadata
SegmentationUserMetadata(void *data=nullptr)
Constructor for SegmentationUserMetadata.
deepstream::ObjectMetadata::label
std::string label() const
A string to describe the object class.
deepstream::ClassifierMetadata::uniqueComponentId
unsigned int uniqueComponentId() const
Identifying the unique component that generates the metadata.
deepstream::UserMetadataTemplate::UserMetadataTemplate
UserMetadataTemplate(const UserMetadata &other)
Definition: service-maker/includes/metadata.hpp:375
deepstream::ObjectMetadata::setNvBboxInfo
void setNvBboxInfo(const NvBbox_Coords &)
deepstream::PreprocessTensorMetadata::getMetaId
unsigned int getMetaId() const
Get the meta id of the tensor.
deepstream::ObjectImageFootLocationUserMetadata::getImageFootLocation
std::pair< float, float > getImageFootLocation() const
Get the image foot location of the object.
deepstream::SegmentationUserMetadata::getClasses
unsigned int getClasses() const
Get the number of classes in the segmentation.
deepstream::PreprocessTensorMetadata::data_
void * data_
Definition: service-maker/includes/metadata.hpp:607
_NvOSD_TextParams
Holds parameters of text to be overlayed.
Definition: sources/includes/nvll_osd_struct.h:120
deepstream::FrameMetadata::frameNum
int frameNum() const
Frame number.
deepstream::ObjectReidUserMetadata
User metadata for object ReID (Re-Identification) features.
Definition: service-maker/includes/metadata.hpp:686
deepstream::StructureUserMetadata::getStructureUserMetatype
int getStructureUserMetatype() const
deepstream::AudioFrameMetadata::classLabel
std::string classLabel() const
Label of the last classified event.
deepstream::FrameMetadata::bufferPTS
uint64_t bufferPTS() const
Holds the presentation timestamp (PTS) of the frame.
deepstream::BatchMetadata::nFrames
unsigned int nFrames() const
Number of frames in the batch.
deepstream::Tensor
Definition: service-maker/includes/tensor.hpp:43
deepstream::AudioFrameMetadata
Holds information for a single audio frame.
Definition: service-maker/includes/metadata.hpp:522
deepstream::AnalyticsObjInfo::getLcStatus
std::vector< std::string > getLcStatus() const
Get the line crossing status.
deepstream::RoiMetadata::~RoiMetadata
virtual ~RoiMetadata()
deepstream::AnalyticsFrameMeta::getUniqueId
unsigned int getUniqueId() const
Get the unique identifier for this metadata.
deepstream::SegmentationUserMetadata::uniqueId
unsigned int uniqueId() const
Get the unique identifier for this metadata.
deepstream::AbstractIterator::equals
virtual bool equals(const AbstractIterator< T > &other) const =0
deepstream::AnalyticsFrameMeta::getOcStatus
std::unordered_map< std::string, bool > getOcStatus() const
Map of boolean status of overcrowding for configured ROIs, which can be accessed using key,...
deepstream::ObjectVisibilityUserMetadata
Definition: service-maker/includes/metadata.hpp:635
_NvDsTargetMiscDataBatch
Batch of all streams of a given target misc output.
Definition: sources/includes/nvds_tracker_meta.h:113
deepstream::TrackerPastFrameUserMetadata::getTrackerMiscDataBatch
NvDsTargetMiscDataBatch * getTrackerMiscDataBatch() const
deepstream::Object3DBBoxUserMetadata::get3DBbox
NvDsObj3DBbox * get3DBbox() const
deepstream::ClassifierMetadata::Iterator
std::unique_ptr< AbstractIterator< ClassifierMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:155
deepstream::EventMessageUserMetadata::generate
void generate(const ObjectMetadata &, const FrameMetadata &, const std::string sensor="N/A", const std::string uri="N/A", const std::vector< std::string >labels=std::vector< std::string >())
generate an event by attaching an object
_NvDsObj3DBbox
Holds 3D bbox information for an object.
Definition: sources/includes/nvds_tracker_meta.h:177
deepstream::UserMetadata::get_
void get_(void *&)
deepstream::PreprocessBatchUserMetadata::getRois
std::vector< RoiMetadata > getRois() const
Get the roi list.
deepstream::RoiMetadata::rectParams
NvOSD_RectParams & rectParams() const
Get the region of interest.
deepstream::PreprocessTensorMetadata::~PreprocessTensorMetadata
virtual ~PreprocessTensorMetadata()
deepstream::Object3DBBoxUserMetadata::~Object3DBBoxUserMetadata
virtual ~Object3DBBoxUserMetadata()
deepstream::ObjectMetadata::setClassId
void setClassId(unsigned int)
deepstream::ClassifierMetadata::getLabel
std::string getLabel(unsigned int nth) const
Get the nth label.
deepstream::UserMetadataTemplate::free
static void free(void *data, void *user_data)
Definition: service-maker/includes/metadata.hpp:393
deepstream::ClassifierMetadata::ClassifierMetadata
ClassifierMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::AbstractIterator::get
T & get()
Directly access the associated metadata.
Definition: service-maker/includes/metadata.hpp:86
deepstream::FrameMetadata::pipelineHeight
unsigned int pipelineHeight() const
Picture height of the pipeline.
deepstream::StructureUserMetadata
Definition: service-maker/includes/metadata.hpp:671
deepstream::AudioFrameMetadata::sourceId
unsigned int sourceId() const
Identify the source of the frame, e.g.
deepstream::AudioFrameMetadata::~AudioFrameMetadata
virtual ~AudioFrameMetadata()
Destructor.
deepstream::ObjectMetadata::trackerConfidence
float trackerConfidence() const
Confidence level from tracker.
deepstream::FrameMetadata::iterate
unsigned int iterate(const std::function< void(const ObjectMetadata &)> &func) const
Iterate the object metadata within it.
deepstream::DisplayMetadata::nLines
unsigned int nLines() const
Number of the lines.
deepstream::SegmentationUserMetadata::getWidth
unsigned int getWidth() const
Get the width of the segmentation map.
deepstream::SegmentationUserMetadata::getHeight
unsigned int getHeight() const
Get the height of the segmentation map.
deepstream::Object3DBBoxUserMetadata
Definition: service-maker/includes/metadata.hpp:655
deepstream::BatchMetadata::acquire
bool acquire(DisplayMetadata &)
Initialize an empty display metadata.
deepstream::TensorOutputUserMetadata::uniqueId
unsigned int uniqueId() const
id for inference instance
deepstream::Object3DBBoxUserMetadata::Object3DBBoxUserMetadata
Object3DBBoxUserMetadata(void *data=nullptr)
deepstream::ObjectMetadata::confidence
float confidence() const
Confidence level.
deepstream::ObjectMetadata::rectParams
NvOSD_RectParams & rectParams() const
Bounding box of the object.
deepstream::BatchMetadata::isAudioBatch
bool isAudioBatch() const
Whether the batch contains NvDsAudioFrameMeta entries.
_NvBbox_Coords
Holds unclipped bounding box coordinates of the object.
Definition: sources/includes/nvll_osd_struct.h:71
deepstream::ObjectMetadata::setConfidence
void setConfidence(float)
deepstream::RoiMetadata
ROI metadata.
Definition: service-maker/includes/metadata.hpp:279
deepstream::AbstractIterator::next
virtual AbstractIterator< T > & next()=0
advances the iterator to access the next data
deepstream::AnalyticsObjInfo::getOcStatus
std::vector< std::string > getOcStatus() const
Get the overcrowding status.
deepstream::ObjectMetadata::setTrackerConfidence
void setTrackerConfidence(float)
deepstream::FrameMetadata
Holds information for a single frame.
Definition: service-maker/includes/metadata.hpp:454
deepstream::AudioFrameMetadata::iterate
unsigned int iterate(const std::function< void(const ClassifierMetadata &)> &func) const
Iterate the classifier metadata within it.
deepstream::FrameMetadata::sourceHeight
unsigned int sourceHeight() const
Picture height of the source.
deepstream::UserMetadata::Iterator
std::unique_ptr< AbstractIterator< UserMetadata > > Iterator
Definition: service-maker/includes/metadata.hpp:112
deepstream::ObjectMetadata::setMaskParams
void setMaskParams(const NvOSD_MaskParams &)
deepstream::BatchMetadata::BatchMetadata
BatchMetadata(void *data=nullptr)
Constructor through opaque data pointer.
deepstream::DisplayMetadata::add
bool add(NvOSD_TextParams &)
Add a text label.