NVIDIA DRIVE OS Linux SDK API Reference5.1.9.0 Release |
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 PlatformCfg * | GetPlatformCfg (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::ClientDesc * | GetClientDesc (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... | |
|
virtualdefault |
Default destructor.
|
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().
|
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.
[in] | index | The ID of the sensor. |
[in] | outType | INvSIPLClient::ConsumerDesc::OutputType. |
This method can be called only after Init().
|
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
[in] | index | The ID of the sensor. |
[in] | outType | nvsipl::INvSIPLClient::ConsumerDesc::OutputType. |
[out] | imageAttr | reference to the image attributes structures. |
|
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.
|
pure virtual |
Gets the camera platform configuration set by SetPlatformCfg.
|
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.
|
pure virtual |
Register Auto Control plugin to be used for specific pipeline.
This method must be called for every pipeline with ISP output enabled.
[in] | index | The ID of the sensor. |
[in] | type | Type of plugin type. |
[in] | autoControl | INvSIPLAutoControl Handle to plugin implementation. |
[in] | blob | Reference to binary blob containing the ISP configuration. |
|
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
[in] | index | The ID of the sensor. |
[in] | imageGroups | Vector of NvMediaImageGroup pointers to be registered. |
|
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
[in] | index | The ID of the sensor. |
[in] | outType | nvsipl::INvSIPLClient::ConsumerDesc::OutputType. Can be ISP0 or ISP1 |
[in] | images | Vector of NvMediaImage pointers to be registered. |
|
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.
[in] | uIndex | The ID of the sensor. |
[in] | pImageGroupWriter | A pointer to NvSIPLImageGroupWriter. underlying object must be alive as long as the INvSIPLCamera object is alive. |
|
pure virtual |
Sets attributes of the image pool used by ICP and ISP components of an image processing pipeline.
|
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
[in] | index | ID of the pipeline. |
[in] | autoPluginType | type of the Auto Plug-in type. |
|
pure virtual |
Sets a handler for events from an image processing pipeline.
Sets a NvSIPLPipelineNotifier to handle the events from the image processing pipeline.
[in] | uIndex | The ID of the sensor. |
[in] | pNotifier | A pointer to NvSIPLPipelineNotifier. The underlying object must be alive as long as the INvSIPLCamera object is alive. |
|
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.
[in] | vDescs | The vector of INvSIPLClient::ConsumerDesc objects. |
|
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).
[in] | platformCfg | PlatformCfg The external devices referenced in the platform configurations must be supported by the NvSIPL DeviceBlock (libnvsipl_devblk.so) |
|
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.
|
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().