NVIDIA DeepStream SDK API Reference

9.2 Release
SampleAlgorithm Class Reference

Detailed Description

Sample implementation of the custom library.

Definition at line 65 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

Inheritance diagram for SampleAlgorithm:
Collaboration diagram for SampleAlgorithm:

Public Member Functions

 SampleAlgorithm ()
 Constructor. More...
 
void Initialize ()
 Initialize the custom library. More...
 
virtual bool SetInitParams (DSCustom_CreateParams *params)
 Set initialization parameters. More...
 
virtual bool SetProperty (Property &prop)
 Set custom properties of the library. More...
 
virtual bool HandleEvent (GstEvent *event)
 Handle GStreamer events. More...
 
virtual char * QueryProperties ()
 Query properties. More...
 
virtual BufferResult ProcessBuffer (GstBuffer *inbuf)
 Process incoming buffer. More...
 
virtual GstCaps * GetCompatibleCaps (GstPadDirection direction, GstCaps *in_caps, GstCaps *othercaps)
 Get compatible caps. More...
 
 ~SampleAlgorithm ()
 Destructor. More...
 
 SampleAlgorithm ()
 Constructor. More...
 
void Initialize ()
 Initialize the custom library. More...
 
virtual bool SetInitParams (DSCustom_CreateParams *params)
 Set initialization parameters. More...
 
virtual bool SetProperty (Property &prop)
 Set custom properties of the library. More...
 
virtual bool HandleEvent (GstEvent *event)
 Handle GStreamer events. More...
 
virtual char * QueryProperties ()
 Query properties. More...
 
virtual BufferResult ProcessBuffer (GstBuffer *inbuf)
 Process incoming buffer. More...
 
virtual GstCaps * GetCompatibleCaps (GstPadDirection direction, GstCaps *in_caps, GstCaps *othercaps)
 Get compatible caps. More...
 
 ~SampleAlgorithm ()
 Destructor. More...
 
NvBufSurface * getNvBufSurface (GstBuffer *inbuf)
 
NvBufSurface * getNvBufSurface (GstBuffer *inbuf)
 
GstBufferPool * CreateBufferPool (BufferPoolConfig *pool_config, GstCaps *outcaps)
 
GstBufferPool * CreateBufferPool (BufferPoolConfig *pool_config, GstCaps *outcaps)
 

Data Fields

gboolean hw_caps
 Hardware capabilities flag. More...
 
guint source_id = 0
 Source ID. More...
 
guint m_FrameNum = 0
 Frame number (increments for all frames including skipped) More...
 
guint m_ProcessedFrameNum = 0
 Processed frame number (only increments for actually processed frames) More...
 
guint m_DumpedFrameNum = 0
 Dumped frame number. More...
 
bool m_TransformMode = false
 Transform mode flag. More...
 
GstBufferPool * m_dsBufferPool = NULL
 DeepStream buffer pool. More...
 
GstBufferPool * m_swbufpool = NULL
 Software buffer pool. More...
 
guint swbuffersize
 Software buffer size. More...
 
NvBufSurfTransformConfigParams m_ConfigParams
 Transform config parameters. More...
 
void * m_scratchNvBufSurface = NULL
 Scratch NvBufSurface. More...
 
int dump_max_frames = 5
 Maximum frames to dump. More...
 
bool m_dummyMetaInsert = false
 Dummy metadata insertion flag. More...
 
bool m_fillDummyBatchMeta = false
 Fill dummy batch metadata flag. More...
 
ConfigProperties m_ConfigProperties
 Structure to store all configuration properties loaded from YAML config file. More...
 
std::unique_ptr< ConfigParser > m_configParser
 Config parser. More...
 
bool m_CustomConfigLoaded = false
 Custom config loaded flag. More...
 
std::vector< Property > m_VectorProperty
 Vector containing key:value pair of custom lib properties. More...
 
PrettyLogger * m_Logger
 
std::vector< std::string > m_SensorNames
 
TensorCache * m_TensorCache
 
std::unique_ptr< TensorRTEngine > m_TensorRTEngine
 
std::map< std::string, Matrix4f > m_CameraProjectionMatrices
 
std::map< std::string, Matrix4f > m_CameraTransformedProjectionMatrices
 
bool m_eosReceived = false
 
GstBaseTransform * m_element
 
guint m_gpuId
 GPU ID on which we expect to execute the algorithm. More...
 
GstVideoInfo m_inVideoInfo
 
GstVideoInfo m_outVideoInfo
 
GstVideoFormat m_inVideoFmt
 
GstVideoFormat m_outVideoFmt
 
GstCaps * m_inCaps
 
GstCaps * m_outCaps
 

Constructor & Destructor Documentation

◆ SampleAlgorithm() [1/2]

SampleAlgorithm::SampleAlgorithm ( )
inline

◆ ~SampleAlgorithm() [1/2]

SampleAlgorithm::~SampleAlgorithm ( )

Destructor.

◆ SampleAlgorithm() [2/2]

SampleAlgorithm::SampleAlgorithm ( )
inline

◆ ~SampleAlgorithm() [2/2]

SampleAlgorithm::~SampleAlgorithm ( )

Destructor.

Member Function Documentation

◆ CreateBufferPool() [1/2]

GstBufferPool * DSCustomLibraryBase::CreateBufferPool ( BufferPoolConfig *  pool_config,
GstCaps *  outcaps 
)
inherited

◆ CreateBufferPool() [2/2]

GstBufferPool* DSCustomLibraryBase::CreateBufferPool ( BufferPoolConfig *  pool_config,
GstCaps *  outcaps 
)
inherited

◆ GetCompatibleCaps() [1/2]

virtual GstCaps* SampleAlgorithm::GetCompatibleCaps ( GstPadDirection  direction,
GstCaps *  in_caps,
GstCaps *  othercaps 
)
virtual

Get compatible caps.

Parameters
directionPad direction
in_capsInput caps
othercapsOther caps
Returns
GstCaps* Compatible caps

Reimplemented from DSCustomLibraryBase.

◆ GetCompatibleCaps() [2/2]

virtual GstCaps* SampleAlgorithm::GetCompatibleCaps ( GstPadDirection  direction,
GstCaps *  in_caps,
GstCaps *  othercaps 
)
virtual

Get compatible caps.

Parameters
directionPad direction
in_capsInput caps
othercapsOther caps
Returns
GstCaps* Compatible caps

Reimplemented from DSCustomLibraryBase.

◆ getNvBufSurface() [1/2]

NvBufSurface* DSCustomLibraryBase::getNvBufSurface ( GstBuffer *  inbuf)
inherited

◆ getNvBufSurface() [2/2]

NvBufSurface * DSCustomLibraryBase::getNvBufSurface ( GstBuffer *  inbuf)
inherited

◆ HandleEvent() [1/2]

virtual bool SampleAlgorithm::HandleEvent ( GstEvent *  event)
virtual

Handle GStreamer events.

Parameters
eventGStreamer event
Returns
true if successful, false otherwise

Implements DSCustomLibraryBase.

◆ HandleEvent() [2/2]

virtual bool SampleAlgorithm::HandleEvent ( GstEvent *  event)
virtual

Handle GStreamer events.

Parameters
eventGStreamer event
Returns
true if successful, false otherwise

Implements DSCustomLibraryBase.

◆ Initialize() [1/2]

void SampleAlgorithm::Initialize ( )

Initialize the custom library.

◆ Initialize() [2/2]

void SampleAlgorithm::Initialize ( )

Initialize the custom library.

Referenced by SampleAlgorithm().

◆ ProcessBuffer() [1/2]

virtual BufferResult SampleAlgorithm::ProcessBuffer ( GstBuffer *  inbuf)
virtual

Process incoming buffer.

Parameters
inbufInput GStreamer buffer
Returns
BufferResult Result of processing

Implements DSCustomLibraryBase.

◆ ProcessBuffer() [2/2]

virtual BufferResult SampleAlgorithm::ProcessBuffer ( GstBuffer *  inbuf)
virtual

Process incoming buffer.

Parameters
inbufInput GStreamer buffer
Returns
BufferResult Result of processing

Implements DSCustomLibraryBase.

◆ QueryProperties() [1/2]

virtual char* SampleAlgorithm::QueryProperties ( )
virtual

Query properties.

Returns
Char pointer to properties string

Implements DSCustomLibraryBase.

◆ QueryProperties() [2/2]

virtual char* SampleAlgorithm::QueryProperties ( )
virtual

Query properties.

Returns
Char pointer to properties string

Implements DSCustomLibraryBase.

◆ SetInitParams() [1/2]

virtual bool SampleAlgorithm::SetInitParams ( DSCustom_CreateParams *  params)
virtual

Set initialization parameters.

Parameters
paramsCreation parameters
Returns
true if successful, false otherwise

Reimplemented from DSCustomLibraryBase.

◆ SetInitParams() [2/2]

virtual bool SampleAlgorithm::SetInitParams ( DSCustom_CreateParams *  params)
virtual

Set initialization parameters.

Parameters
paramsCreation parameters
Returns
true if successful, false otherwise

Reimplemented from DSCustomLibraryBase.

◆ SetProperty() [1/2]

virtual bool SampleAlgorithm::SetProperty ( Property &  prop)
virtual

Set custom properties of the library.

Parameters
propProperty to set
Returns
true if successful, false otherwise

Implements DSCustomLibraryBase.

◆ SetProperty() [2/2]

virtual bool SampleAlgorithm::SetProperty ( Property &  prop)
virtual

Set custom properties of the library.

Parameters
propProperty to set
Returns
true if successful, false otherwise

Implements DSCustomLibraryBase.

Field Documentation

◆ dump_max_frames

int SampleAlgorithm::dump_max_frames = 5

Maximum frames to dump.

Definition at line 179 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ hw_caps

gboolean SampleAlgorithm::hw_caps

Hardware capabilities flag.

Definition at line 145 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_CameraProjectionMatrices

std::map< std::string, Matrix4f > SampleAlgorithm::m_CameraProjectionMatrices

◆ m_CameraTransformedProjectionMatrices

std::map< std::string, Matrix4f > SampleAlgorithm::m_CameraTransformedProjectionMatrices

◆ m_ConfigParams

NvBufSurfTransformConfigParams SampleAlgorithm::m_ConfigParams

Transform config parameters.

Definition at line 173 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_configParser

std::unique_ptr< ConfigParser > SampleAlgorithm::m_configParser

◆ m_ConfigProperties

ConfigProperties SampleAlgorithm::m_ConfigProperties

Structure to store all configuration properties loaded from YAML config file.

Definition at line 186 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_CustomConfigLoaded

bool SampleAlgorithm::m_CustomConfigLoaded = false

Custom config loaded flag.

Definition at line 188 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

Referenced by SampleAlgorithm().

◆ m_dsBufferPool

GstBufferPool * SampleAlgorithm::m_dsBufferPool = NULL

DeepStream buffer pool.

Definition at line 169 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_dummyMetaInsert

bool SampleAlgorithm::m_dummyMetaInsert = false

Dummy metadata insertion flag.

Definition at line 182 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_DumpedFrameNum

guint SampleAlgorithm::m_DumpedFrameNum = 0

Dumped frame number.

Definition at line 165 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_element

◆ m_eosReceived

bool SampleAlgorithm::m_eosReceived = false

◆ m_fillDummyBatchMeta

bool SampleAlgorithm::m_fillDummyBatchMeta = false

Fill dummy batch metadata flag.

Definition at line 183 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_FrameNum

guint SampleAlgorithm::m_FrameNum = 0

Frame number (increments for all frames including skipped)

Definition at line 163 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_gpuId

guint DSCustomLibraryBase::m_gpuId
inherited

GPU ID on which we expect to execute the algorithm.

Definition at line 75 of file sources/gst-plugins/gst-nvdsvideotemplate/includes/nvdscustomlib_base.hpp.

Referenced by DSCustomLibraryBase::DSCustomLibraryBase(), and DSCustomLibraryBase::SetInitParams().

◆ m_inCaps

GstCaps * DSCustomLibraryBase::m_inCaps
inherited

◆ m_inVideoFmt

GstVideoFormat DSCustomLibraryBase::m_inVideoFmt
inherited

◆ m_inVideoInfo

GstVideoInfo DSCustomLibraryBase::m_inVideoInfo
inherited

◆ m_Logger

PrettyLogger * SampleAlgorithm::m_Logger

◆ m_outCaps

GstCaps * DSCustomLibraryBase::m_outCaps
inherited

◆ m_outVideoFmt

GstVideoFormat DSCustomLibraryBase::m_outVideoFmt
inherited

◆ m_outVideoInfo

GstVideoInfo DSCustomLibraryBase::m_outVideoInfo
inherited

◆ m_ProcessedFrameNum

guint SampleAlgorithm::m_ProcessedFrameNum = 0

Processed frame number (only increments for actually processed frames)

Definition at line 164 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_scratchNvBufSurface

void * SampleAlgorithm::m_scratchNvBufSurface = NULL

◆ m_SensorNames

std::vector< std::string > SampleAlgorithm::m_SensorNames

◆ m_swbufpool

GstBufferPool * SampleAlgorithm::m_swbufpool = NULL

Software buffer pool.

Definition at line 170 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_TensorCache

TensorCache * SampleAlgorithm::m_TensorCache

◆ m_TensorRTEngine

std::unique_ptr< TensorRTEngine > SampleAlgorithm::m_TensorRTEngine

◆ m_TransformMode

bool SampleAlgorithm::m_TransformMode = false

Transform mode flag.

Definition at line 166 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

◆ m_VectorProperty

std::vector< Property > SampleAlgorithm::m_VectorProperty

Vector containing key:value pair of custom lib properties.

Definition at line 189 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.

Referenced by SampleAlgorithm().

◆ source_id

guint SampleAlgorithm::source_id = 0

◆ swbuffersize

guint SampleAlgorithm::swbuffersize

Software buffer size.

Definition at line 171 of file sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/customlib_impl.h.


The documentation for this class was generated from the following file: