Interface defining basic Sensor Control functionality.
Definition at line 39 of file ISensorControl.hpp.
Public Member Functions | |
ISensorControl ()=default | |
Constructor. More... | |
ISensorControl (ISensorControl const &)=delete | |
Prevent ISensorControl from being copy constructed. More... | |
ISensorControl (ISensorControl &&)=delete | |
Prevent ISensorControl from being move constructed. More... | |
ISensorControl & | operator= (ISensorControl const &) &=delete |
Prevent ISensorControl from being copy assigned. More... | |
ISensorControl & | operator= (ISensorControl &&) &=delete |
Prevent ISensorControl from being move assigned. More... | |
virtual | ~ISensorControl ()=default |
Destructor. More... | |
virtual NvMediaStatus | SIPLParseTopEmbDataInfo (DevBlkCDIEmbeddedDataChunk const *const embeddedTopDataChunk, size_t const embeddedDataChunkStructSize, DevBlkCDIEmbeddedDataInfo *const embeddedDataInfo, size_t const dataInfoStructSize)=0 |
Interface to parse top sensor embedded data to get sensor settings applied to the captured frame. More... | |
virtual NvMediaStatus | SIPLParseBotEmbDataInfo (DevBlkCDIEmbeddedDataChunk const *const embeddedBotDataChunk, size_t const embeddedDataChunkStructSize, DevBlkCDIEmbeddedDataInfo *const embeddedDataInfo, size_t const dataInfoStructSize)=0 |
Interface to parse bottom sensor embedded data to get statistics information for the captured frame. More... | |
virtual NvMediaStatus | SIPLSetSensorControls (DevBlkCDISensorControl const *const sensorControl, size_t const sensrCtrlStructSize)=0 |
Interface to set sensor control parameters. More... | |
virtual NvMediaStatus | SIPLGetSensorAttributes (DevBlkCDISensorAttributes *const sensorAttr, size_t const sensorAttrStructSize)=0 |
Interface to get the sensor attributes. More... | |
virtual NvMediaStatus | SIPLSetSensorCharMode (uint8_t expNo)=0 |
Interface to set sensor in characterization mode. More... | |
virtual NvMediaStatus | SIPLAuthenticateImage (DevBlkImageDesc const *const imageDesc) const =0 |
Interface to request image data authentication. More... | |
|
default |
Constructor.
|
delete |
Prevent ISensorControl from being copy constructed.
|
delete |
Prevent ISensorControl from being move constructed.
|
virtualdefault |
Destructor.
|
delete |
Prevent ISensorControl from being move assigned.
|
delete |
Prevent ISensorControl from being copy assigned.
|
pure virtual |
Interface to request image data authentication.
This function calls into DevBlk CDI functionality to request authentication of an image data. Pixel and embedded data can be authenticated.
Authentication session needs to be established by underlying driver prior to calling the API or authentication mismatch will be returned.
Pixel data is a mandatory input parameter, while embedded data is optional and can be NULL if embedded data is not enabled on a sensor or embedded data authentication is not required.
The API may be called for different sensor device objects from multiple threads simultaneously. The API will never be called from multiple threads for the same sensor. Implementation shall ensure thread safety of authentication calls for different sensor objects.
[in] | imageDesc | A description of a RAW image to authenticate Valid value: [non-NULL]. |
NVMEDIA_STATUS_OK | Authentication match. |
NVMEDIA_STATUS_INCOMPATIBLE_VERSION | Image verification failure (authentication mismatch). |
NVMEDIA_STATUS_UNDEFINED_STATE | Out-of-order image is detected. |
NVMEDIA_STATUS_ERROR | Internal failure in crypto operation. |
NVMEDIA_STATUS_INVALID_SIZE | Input buffer sizes are invalid. |
NVMEDIA_STATUS_NOT_SUPPORTED | Authentication is not supported by the device. |
NVMEDIA_STATUS_BAD_PARAMETER | Invalid input parameters are passed. |
NVMEDIA_STATUS_NOT_INITIALIZED | Crypto state was not initialized before requesting image verification. |
Usage considerations
|
pure virtual |
Interface to get the sensor attributes.
Sensor attributes are static properties like sensor name, exposure-gain ranges supported, and number of active exposures.
[out] | sensorAttr | A pointer (of type DevBlkCDISensorAttributes) a sensor attributes structure. |
[in] | sensorAttrStructSize | Size (of type size_t) of the sensorAttr structure. Must be exact size of DevBlkCDISensorAttributes. |
NVMEDIA_STATUS_OK | On successful operation. |
(NvMediaStatus) | On other sub-routine propagated error. |
Usage considerations
|
pure virtual |
Interface to parse bottom sensor embedded data to get statistics information for the captured frame.
If image statistics generation is by the sensor and enabled, this function can be used to retrieve statistics like histogram of the frame.
[in] | embeddedBotDataChunk | A pointer (of type DevBlkCDIEmbeddedDataChunk) to the bottom sensor embedded data chunk structure. Valid value: [non-NULL] |
[in] | embeddedDataChunkStructSize | Size (of type size_t) of the embeddedTopDataChunk and embeddedBottomDataChunk structures, in bytes. Valid size is device specific. |
[out] | embeddedDataInfo | A pointer (of type DevBlkCDIEmbeddedDataInfo) to the embedded data parsed info structure. Valid size is device specific. |
[in] | dataInfoStructSize | Size (of type size_t) of the embeddedDataInfo structure, in bytes. Valid size is device specific. |
NVMEDIA_STATUS_OK | On successful operation. |
(NvMediaStatus) | On other sub-routine propagated error. |
Usage considerations
|
pure virtual |
Interface to parse top sensor embedded data to get sensor settings applied to the captured frame.
This function can be used to retrieve sensor settings like exposure, gain, and white balance settings applied to the frame.
[in] | embeddedTopDataChunk | A pointer (of type DevBlkCDIEmbeddedDataChunk) to the top sensor embedded data chunk structure. Valid value: [non-NULL] |
[in] | embeddedDataChunkStructSize | Size (of type size_t) of the embeddedTopDataChunk and embeddedBottomDataChunk structures, in bytes. Valid size is device specific. |
[out] | embeddedDataInfo | A pointer (of type DevBlkCDIEmbeddedDataInfo) to the embedded data parsed info structure. Valid size is device specific. |
[in] | dataInfoStructSize | Size (of type size_t) of the embeddedDataInfo structure, in bytes. Valid size is device specific. |
NVMEDIA_STATUS_OK | On successful operation. |
(NvMediaStatus) | On other sub-routine propagated error. |
Usage considerations
|
pure virtual |
Interface to set sensor in characterization mode.
This function calls into DevBlk CDI functionality to provide the ability for the user to configure the sensor for characterization. Sensor characterization provides optimal parameters, corresponding to sensor physical and functional characteristics, for image processing.
Sensor characterization for High Dynamic Range (HDR) sensors with multiple exposures (T1, T2, ... , Tn ) involves characterizing individual exposures separately, if required by the sensor. This API provides the ability to configure sensor to capture each exposure separately, if required by sensor characterization.
This function re-configures the sensor i.e. changes the sensor static attributes like numActiveExposures, sensorExpRange, sensorGainRange and hence, should be called during sensor initialization time. In order to characterize the sensor exposure number 'n', where n = {1,2,3, ... , N} for N-exposure HDR sensor, the input parameter expNo should be set to 'n'. For a non-HDR sensor, the input parameter expNo should always be set to '1'.
[in] | expNo | Sensor exposure number (of type uint8_t) to be used for characterization. Valid range for expNo : [0, DEVBLK_ISC_MAX_EXPOSURES - 1] For Non-HDR sensor, this should be set to '1' |
NVMEDIA_STATUS_OK | On successful operation. |
(NvMediaStatus) | On other sub-routine propagated error. |
Usage considerations
|
pure virtual |
Interface to set sensor control parameters.
This function enables caller to control sensor image settings like exposure time, sensor gain, and white balance gain. All parameters provided to this function are applied together at a frame boundary through "group hold" functionality, if supported by the sensor.
This function invokes the device driver function specified by the call to SetSensorControls().
[in] | sensorControl | A pointer (of type DevBlkCDISensorControl) to a sensor control structure for device. Valid value: [non-NULL] |
[in] | sensrCtrlStructSize | Size (of type size_t) of the sensorControl structure. |
NVMEDIA_STATUS_OK | On successful operation. |
(NvMediaStatus) | On other sub-routine propagated error. |
Usage considerations