NVIDIA DRIVE OS Linux SDK API Reference

5.1.9.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvsipl::INvSIPLCamera Class Referenceabstract

Detailed Description

Defines public data structures and describes the interfaces for NvSIPLCamera.

Definition at line 50 of file NvSIPLCamera.hpp.

Public Member Functions

virtual SIPLStatus SetPlatformCfg (const PlatformCfg *platformCfg)=0
 Sets a platform configuration. More...
 
virtual const PlatformCfgGetPlatformCfg (void) const =0
 Gets the camera platform configuration set by SetPlatformCfg. More...
 
virtual SIPLStatus SetNotifier (std::uint32_t uIndex, NvSIPLPipelineNotifier *pNotifier)=0
 Sets a handler for events from an image processing pipeline. More...
 
virtual SIPLStatus SetImageGroupWriterCallback (std::uint32_t uIndex, NvSIPLImageGroupWriter *pImageGroupWriter)=0
 Sets an image group writer for an image processing pipeline. More...
 
virtual SIPLStatus SetOutputDesc (std::vector< INvSIPLClient::ConsumerDesc > vDescs)=0
 Sets a vector of INvSIPLClient::ConsumerDesc of consumers of image processing pipeline(s). More...
 
virtual SIPLStatus SetImagePoolAttributes (std::uint32_t index, INvSIPLClient::ConsumerDesc::OutputType outType, uint32_t numOfImages, const NvSIPLImageAttr &imageAttr)=0
 Sets attributes of the image pool used by ICP and ISP components of an image processing pipeline. More...
 
virtual SIPLStatus RegisterAutoControlPlugin (std::uint32_t index, INvSIPLAutoControl::PluginType type, INvSIPLAutoControl *autoControl, const std::vector< uint8_t > &blob)=0
 Register Auto Control plugin to be used for specific pipeline. More...
 
virtual SIPLStatus Init (void)=0
 Initializes NvSIPL Camera (libnvsipl.so) for the selected platform configuration. More...
 
virtual SIPLStatus SetISPConfig (std::uint32_t index, INvSIPLAutoControl::PluginType autoPluginType)=0
 Set ISP configuration for a pipeline. More...
 
virtual SIPLStatus GetImageAttributes (std::uint32_t index, INvSIPLClient::ConsumerDesc::OutputType outType, NvSIPLImageAttr &imageAttr)=0
 Gets Image Attributes. More...
 
virtual SIPLStatus RegisterImageGroups (std::uint32_t index, std::vector< NvMediaImageGroup * > imageGroups)=0
 Registers image groups. More...
 
virtual SIPLStatus RegisterImages (std::uint32_t index, INvSIPLClient::ConsumerDesc::OutputType outType, std::vector< NvMediaImage * > images)=0
 Registers images. More...
 
virtual INvSIPLClient::ClientDescGetClientDesc (std::uint32_t index, INvSIPLClient::ConsumerDesc::OutputType outType)=0
 Gets NvSIPL Client (libnvsipl.so) descriptor for an image processing pipeline output. More...
 
virtual SIPLStatus Start (void)=0
 Starts NvSIPL Camera (libnvsipl.so) for the selected platform configuration. More...
 
virtual SIPLStatus Stop (void)=0
 Stops NvSIPL Camera (libnvsipl.so) for the selected platform configuration. More...
 
virtual SIPLStatus Deinit (void)=0
 De-initializes NvSIPL Camera (libnvsipl.so) for the selected platform configuration. More...
 
virtual ~INvSIPLCamera (void)=default
 Default destructor. More...
 

Static Public Member Functions

static std::unique_ptr
< INvSIPLCamera
GetInstance (void)
 Gets a handle to INvSIPLCamera instance. More...
 

Constructor & Destructor Documentation

virtual nvsipl::INvSIPLCamera::~INvSIPLCamera ( void  )
virtualdefault

Default destructor.

Member Function Documentation

virtual SIPLStatus nvsipl::INvSIPLCamera::Deinit ( void  )
pure virtual

De-initializes NvSIPL Camera (libnvsipl.so) for the selected platform configuration.

The method internally De-initializes the NvSIPL DeviceBlock (libnvsipl_devblk.so) for each device block in the selected platform configuration and De-initializes and destroys the image processing pipelines.

Any registered images are automatically de-registered and can be safely destroyed.

This method must be called after Stop().

Returns
SIPLStatus. The completion status of the operation.
virtual INvSIPLClient::ClientDesc* nvsipl::INvSIPLCamera::GetClientDesc ( std::uint32_t  index,
INvSIPLClient::ConsumerDesc::OutputType  outType 
)
pure virtual

Gets NvSIPL Client (libnvsipl.so) descriptor for an image processing pipeline output.

The method returns a handle to INvSIPLClient::ClientDesc for a specific image processing pipeline output. This descriptor can be used to initialize a NvSIPL Client (libnvsipl.so) object.

Parameters
[in]indexThe ID of the sensor.
[in]outTypeINvSIPLClient::ConsumerDesc::OutputType.

This method can be called only after Init().

Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::GetImageAttributes ( std::uint32_t  index,
INvSIPLClient::ConsumerDesc::OutputType  outType,
NvSIPLImageAttr imageAttr 
)
pure virtual

Gets Image Attributes.

The method can be used to get the attributes of the images to be used with image processing pipelines. User must reconcile the attributes returned by this function with the attributes required by the downstream consumers of the output of pipeline and allocate the images.

This method must be called after Init but before Start

Parameters
[in]indexThe ID of the sensor.
[in]outTypenvsipl::INvSIPLClient::ConsumerDesc::OutputType.
[out]imageAttrreference to the image attributes structures.
Returns
SIPLStatus. The completion status of the operation.
static std::unique_ptr<INvSIPLCamera> nvsipl::INvSIPLCamera::GetInstance ( void  )
static

Gets a handle to INvSIPLCamera instance.

Static function to create an instance of implementation class and return the handle. The object is automatically destroyed when the variable holding the return value goes out of scope.

Returns
unique_ptr A pointer to an INvSIPLCamera instance.
virtual const PlatformCfg* nvsipl::INvSIPLCamera::GetPlatformCfg ( void  ) const
pure virtual

Gets the camera platform configuration set by SetPlatformCfg.

Note
This method will be removed in the future release.
Returns
PlatformCfg* A pointer to the PlatformCfg.
virtual SIPLStatus nvsipl::INvSIPLCamera::Init ( void  )
pure virtual

Initializes NvSIPL Camera (libnvsipl.so) for the selected platform configuration.

The method internally initializes the NvSIPL DeviceBlock (libnvsipl_devblk.so) for each device block in the selected platform configuration and creates and initializes the image processing pipelines based on the number and type of the consumers set via SetOutputDesc.

This method must be called after SetPlatformCfg and SetOutputDesc.

Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::RegisterAutoControlPlugin ( std::uint32_t  index,
INvSIPLAutoControl::PluginType  type,
INvSIPLAutoControl autoControl,
const std::vector< uint8_t > &  blob 
)
pure virtual

Register Auto Control plugin to be used for specific pipeline.

This method must be called for every pipeline with ISP output enabled.

Parameters
[in]indexThe ID of the sensor.
[in]typeType of plugin type.
[in]autoControlINvSIPLAutoControl Handle to plugin implementation.
[in]blobReference to binary blob containing the ISP configuration.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::RegisterImageGroups ( std::uint32_t  index,
std::vector< NvMediaImageGroup * >  imageGroups 
)
pure virtual

Registers image groups.

The method can be used to register the NvMedia image groups to be used with in image processing pipelines. ImageGroup serve as output of ICP and input to ISP.

This method must be called after Init but before Start

Parameters
[in]indexThe ID of the sensor.
[in]imageGroupsVector of NvMediaImageGroup pointers to be registered.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::RegisterImages ( std::uint32_t  index,
INvSIPLClient::ConsumerDesc::OutputType  outType,
std::vector< NvMediaImage * >  images 
)
pure virtual

Registers images.

The method can be used to register the images to be used with in image processing pipelines. Images serve as output of ISP.

This method must be called after Init but must be called before Start

Parameters
[in]indexThe ID of the sensor.
[in]outTypenvsipl::INvSIPLClient::ConsumerDesc::OutputType. Can be ISP0 or ISP1
[in]imagesVector of NvMediaImage pointers to be registered.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::SetImageGroupWriterCallback ( std::uint32_t  uIndex,
NvSIPLImageGroupWriter pImageGroupWriter 
)
pure virtual

Sets an image group writer for an image processing pipeline.

Sets a NvSIPLImageGroupWriter to feed the images to image processing pipeline. This method can be used to re-process the RAW frames captured from sensor via Tegra HW ISP.

The SetPlatformCfg() method must be called with appropriate platform configuration before calling this API.

Parameters
[in]uIndexThe ID of the sensor.
[in]pImageGroupWriterA pointer to NvSIPLImageGroupWriter. underlying object must be alive as long as the INvSIPLCamera object is alive.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::SetImagePoolAttributes ( std::uint32_t  index,
INvSIPLClient::ConsumerDesc::OutputType  outType,
uint32_t  numOfImages,
const NvSIPLImageAttr imageAttr 
)
pure virtual

Sets attributes of the image pool used by ICP and ISP components of an image processing pipeline.

Note
This method has been deprecated as the library does not allocate the NvMediaImages anymore.
virtual SIPLStatus nvsipl::INvSIPLCamera::SetISPConfig ( std::uint32_t  index,
INvSIPLAutoControl::PluginType  autoPluginType 
)
pure virtual

Set ISP configuration for a pipeline.

This method can be used to set ISP configuration for a pipeline. This function can be called only after RegisterAutoControlPlugin() and Init

Parameters
[in]indexID of the pipeline.
[in]autoPluginTypetype of the Auto Plug-in type.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::SetNotifier ( std::uint32_t  uIndex,
NvSIPLPipelineNotifier pNotifier 
)
pure virtual

Sets a handler for events from an image processing pipeline.

Sets a NvSIPLPipelineNotifier to handle the events from the image processing pipeline.

Parameters
[in]uIndexThe ID of the sensor.
[in]pNotifierA pointer to NvSIPLPipelineNotifier. The underlying object must be alive as long as the INvSIPLCamera object is alive.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::SetOutputDesc ( std::vector< INvSIPLClient::ConsumerDesc vDescs)
pure virtual

Sets a vector of INvSIPLClient::ConsumerDesc of consumers of image processing pipeline(s).

This method must be called after SetPlatformCfg() and before Init() Each INvSIPLClient::ConsumerDesc describes a consumer of an image processing pipeline output.

Parameters
[in]vDescsThe vector of INvSIPLClient::ConsumerDesc objects.
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::SetPlatformCfg ( const PlatformCfg platformCfg)
pure virtual

Sets a platform configuration.

Function sets a PlatformCfg camera platform configuration. NvSIPLCamera uses the information in the platform configuration to create the necessary DeviceBlock(s) and Pipeline Manager(s).

Parameters
[in]platformCfgPlatformCfg The external devices referenced in the platform configurations must be supported by the NvSIPL DeviceBlock (libnvsipl_devblk.so)
Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::Start ( void  )
pure virtual

Starts NvSIPL Camera (libnvsipl.so) for the selected platform configuration.

The method internally starts the streaming from sensors belonging to each device block in the selected platform configuration and starts the associated image processing pipelines.

This method must be called after Init(), RegisterImageGroups and/or RegisterImages.

Returns
SIPLStatus. The completion status of the operation.
virtual SIPLStatus nvsipl::INvSIPLCamera::Stop ( void  )
pure virtual

Stops NvSIPL Camera (libnvsipl.so) for the selected platform configuration.

The method internally stops the streaming from sensors belonging to each device block in the selected platform configuration and stops the associated image processing pipelines.

This method must be called after Start().

Returns
SIPLStatus. The completion status of the operation.

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