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
nvmedia_isc.h File Reference

Detailed Description

NVIDIA Media Interface: Image Sensor Control (ISC)

This file contains the Image Sensor Control API.

Definition in file nvmedia_isc.h.

Go to the source code of this file.

Data Structures

struct  NvMediaISCDevice
 Holds the handle for an NvMediaISCDevice object. More...
 
struct  NvMediaISCDeviceDriver
 Holds device driver data. More...
 
struct  NvMediaISCAdvancedConfig
 Holds the description of the target I2C device. More...
 
struct  NvMediaISCAttrRange
 Holds the range of a sensor attribute. More...
 
struct  NvMediaISCSensorAttributes
 Holds the sensor attributes. More...
 
struct  NvMediaISCExposure
 Holds sensor exposure information. More...
 
struct  NvMediaISCWhiteBalance
 Holds the sensor white balance gain structure. More...
 
struct  NvMediaISCFrameReport
 Holds the sensor report frame report structure. More...
 
struct  NvMediaISCPWL
 Holds the sensor companding piecewise linear (PWL) structure. More...
 
struct  NvMediaISCTemperature
 Holds the sensor temperature structure. More...
 
struct  NvMediaISCCRC
 Holds the sensor CRC structure. More...
 
struct  NvMediaISCFrameSeqNum
 Holds the sensor frame sequence number structure. More...
 
struct  NvMediaISCSensorControl
 Holds the sensor control structure. More...
 
struct  NvMediaISCEmbeddedDataInfo
 Holds the sensor embedded data parsed info structure. More...
 
struct  NvMediaISCEmbeddedDataChunk
 
struct  NvMediaISCModuleConfig
 Holds the ISC Module ISP configuration. More...
 
struct  NvMediaISCExposureControl
 Holds exposure control information. More...
 
struct  NvMediaISCWBGainControl
 Holds the white balance control structure. More...
 
struct  NvMediaISCEmbeddedDataBuffer
 Holds the embedded data buffer structure. More...
 
struct  NvMediaISCEmbeddedData
 Holds the embedded data structure. More...
 

Macros

#define NVMEDIA_ISC_VERSION_MAJOR   3
 Major version number. More...
 
#define NVMEDIA_ISC_VERSION_MINOR   2
 Minor Version number. More...
 
#define NVMEDIA_ISC_SIMULATOR_ADDRESS   0xFF1u
 Device address to use for an ISC simulator device. More...
 
#define RDEV_CFG_I2C_BITS   8
 Bits reserved for the I2C bus number in ISC_RDEV_CFG(csi, i2c). More...
 
#define RDEV_CFG_CSI_BITS   (RDEV_CFG_I2C_BITS + 8)
 Bits reserved for the CSI port in ISC_SLV_RDEV_CFG(csi, i2c). More...
 
#define RDEV_CFG_SLV_BIT   (RDEV_CFG_CSI_BITS + 1)
 Bit reserved for the slave mode flag in ISC_SLV_RDEV_CFG(csi, i2c). More...
 
#define ISC_RDEV_CFG(csi, i2c)   (((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | (i2c))
 Macro to create root device configuration with the connected CSI port and I2C bus. More...
 
#define ISC_RDEV_CFG_EX(csi, i2c, disPwrCtrl)
 Extended macro to create root device configuration with the connected CSI port, I2C bus, and an option to disable power control from root device. More...
 
#define ISC_SLV_RDEV_CFG(csi, i2c)   ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1u) << RDEV_CFG_CSI_BITS))
 Macro to create a slave root device configuration with the connected CSI port and I2C bus when the application is run on a slave SoC. More...
 
#define ADV_CONFIG_INIT(cfg, ctx)
 Macro to initialize an NvMediaISCAdvancedConfig object. More...
 
#define NVMEDIA_ISC_MAX_EXPOSURES   (8u)
 Maximum number of exposures. More...
 
#define NVM_ISC_MAX_COLOR_COMPONENT   (4u)
 Maximum number of color components. More...
 
#define NVMEDIA_ISC_MAX_SENSOR_CONTEXTS   (4u)
 Maximum number of sensor contexts. More...
 
#define NVMEDIA_ISC_MAX_PWL_KNEEPOINTS   (64u)
 Maximum number of sensor companding piecewise linear (PWL) curve knee points. More...
 
#define NVMEDIA_ISC_MAX_FRAME_REPORT_BYTES   (4u)
 Maximum number of frame report bytes. More...
 
#define NVMEDIA_ISC_MAX_NUM_TEMPERATURES   (4u)
 Maximum number of sensor temperature values. More...
 
#define NVMEDIA_ISC_MAX_SENSOR_NAME_LENGTH   (32u)
 Maximum possible length of sensor name. More...
 
#define NVMEDIA_ISC_MAX_FUSE_ID_LENGTH   (32u)
 Maximum possible length of sensor fuse id. More...
 

Typedefs

typedef void NvMediaISCRootDevice
 An opaque handle for an NvMediaISCRootDevice object. More...
 
typedef struct NvMediaISCAttrRange NvMediaISCAttrRange
 Holds the range of a sensor attribute. More...
 
typedef struct
NvMediaISCSensorAttributes 
NvMediaISCSensorAttributes
 Holds the sensor attributes. More...
 
typedef struct NvMediaISCExposure NvMediaISCExposure
 Holds sensor exposure information. More...
 
typedef struct
NvMediaISCWhiteBalance 
NvMediaISCWhiteBalance
 Holds the sensor white balance gain structure. More...
 
typedef struct
NvMediaISCFrameReport 
NvMediaISCFrameReport
 Holds the sensor report frame report structure. More...
 
typedef struct NvMediaISCPWL NvMediaISCPWL
 Holds the sensor companding piecewise linear (PWL) structure. More...
 
typedef struct
NvMediaISCTemperature 
NvMediaISCTemperature
 Holds the sensor temperature structure. More...
 
typedef struct NvMediaISCCRC NvMediaISCCRC
 Holds the sensor CRC structure. More...
 
typedef struct
NvMediaISCFrameSeqNum 
NvMediaISCFrameSeqNum
 Holds the sensor frame sequence number structure. More...
 
typedef struct
NvMediaISCSensorControl 
NvMediaISCSensorControl
 Holds the sensor control structure. More...
 
typedef struct
NvMediaISCEmbeddedDataInfo 
NvMediaISCEmbeddedDataInfo
 Holds the sensor embedded data parsed info structure. More...
 
typedef struct
NvMediaISCEmbeddedDataChunk 
NvMediaISCEmbeddedDataChunk
 
typedef struct
NvMediaISCModuleConfig 
NvMediaISCModuleConfig
 Holds the ISC Module ISP configuration. More...
 
typedef struct
NvMediaISCExposureControl 
NvMediaISCExposureControl
 Holds exposure control information. More...
 
typedef struct
NvMediaISCWBGainControl 
NvMediaISCWBGainControl
 Holds the white balance control structure. More...
 
typedef struct
NvMediaISCEmbeddedData 
NvMediaISCEmbeddedData
 Holds the embedded data structure. More...
 

Enumerations

enum  NvMediaISC_I2CPort {
  NVMEDIA_ISC_I2C_BUS_0 = 0,
  NVMEDIA_ISC_I2C_BUS_1 = 1,
  NVMEDIA_ISC_I2C_BUS_2 = 2,
  NVMEDIA_ISC_I2C_BUS_3 = 3,
  NVMEDIA_ISC_I2C_BUS_4 = 4,
  NVMEDIA_ISC_I2C_BUS_5 = 5,
  NVMEDIA_ISC_I2C_BUS_6 = 6,
  NVMEDIA_ISC_I2C_BUS_7 = 7,
  NVMEDIA_ISC_I2C_BUS_8 = 8,
  NVMEDIA_ISC_I2C_BUS_9 = 9,
  NVMEDIA_ISC_I2C_BUS_10 = 10,
  NVMEDIA_ISC_I2C_BUS_11 = 11,
  NVMEDIA_ISC_I2C_SIMULATOR = 255
}
 Defines the I2C buses on the host hardware device. More...
 
enum  NvMediaISCPowerItems {
  NVMEDIA_ISC_PWR_AGGREGATOR,
  NVMEDIA_ISC_PWR_LINK_0,
  NVMEDIA_ISC_PWR_LINK_1,
  NVMEDIA_ISC_PWR_LINK_2,
  NVMEDIA_ISC_PWR_LINK_3
}
 ISC Power control items. More...
 
enum  NvMediaISCExposureMode {
  NVMEDIA_ISC_EXPOSURE_MODE_LONG,
  NVMEDIA_ISC_EXPOSURE_MODE_SHORT,
  NVMEDIA_ISC_EXPOSURE_MODE_VERY_SHORT,
  NVMEDIA_ISC_EXPOSURE_MODE_MAX
}
 Defines Exposure mode. More...
 
enum  NvMediaISCSensorAttrType {
  NVMEDIA_ISC_SENSOR_ATTR_FUSE_ID,
  NVMEDIA_ISC_SENSOR_ATTR_GAIN_MIN,
  NVMEDIA_ISC_SENSOR_ATTR_GAIN_MAX,
  NVMEDIA_ISC_SENSOR_ATTR_ET_MIN,
  NVMEDIA_ISC_SENSOR_ATTR_ET_MAX,
  NVMEDIA_ISC_SENSOR_ATTR_ET_FINE,
  NVMEDIA_ISC_SENSOR_ATTR_ET_STEP,
  NVMEDIA_ISC_SENSOR_ATTR_HDR_MAX,
  NVMEDIA_ISC_SENSOR_ATTR_GAIN_FACTOR,
  NVMEDIA_ISC_SENSOR_ATTR_QE_PIXEL_RATIO,
  NVMEDIA_ISC_SENSOR_ATTR_FRAME_RATE,
  NVMEDIA_ISC_SENSOR_ATTR_NUM_EXPOSURES
}
 ISC sensor attributes. More...
 

Functions

NvMediaStatus NvMediaISCGetVersion (NvMediaVersion *version)
 Gets the version compatibility for the NvMedia ISC library. More...
 
NvMediaISCRootDeviceNvMediaISCRootDeviceCreate (uint32_t portCfg)
 Creates an NvMediaISCRootDevice object. More...
 
void NvMediaISCRootDeviceDestroy (NvMediaISCRootDevice *device)
 Destroys an NvMediaISCRootDevice object. More...
 
NvMediaStatus NvMediaISCRootDeviceWaitForError (NvMediaISCRootDevice *device)
 Waits until an error condition is reported or NvMediaISCRootDeviceAbortWaitForError() is called. More...
 
NvMediaStatus NvMediaISCRootDeviceAbortWaitForError (NvMediaISCRootDevice *device)
 Aborts a call to NvMediaISCRootDeviceWaitForError(). More...
 
NvMediaISCDeviceNvMediaISCDeviceCreate (NvMediaISCRootDevice *rootDevice, uint32_t *deviceAddressList, uint32_t numDevices, NvMediaISCDeviceDriver *deviceDriver, NvMediaISCAdvancedConfig *advancedConfig)
 Creates an NvMediaISCDevice object. More...
 
void NvMediaISCDeviceDestroy (NvMediaISCDevice *device)
 Destroys the object that describes an ISC device. More...
 
NvMediaStatus NvMediaISCDeviceRead (NvMediaISCDevice *device, uint32_t deviceIndex, uint32_t regLength, uint8_t *regData, uint32_t dataLength, uint8_t *data)
 Performs a read operation over I2C. More...
 
NvMediaStatus NvMediaISCDeviceWrite (NvMediaISCDevice *device, uint32_t deviceIndex, uint32_t dataLength, const uint8_t *data)
 Performs a write operation over I2C. More...
 
NvMediaStatus NvMediaISCGetSensorAttributes (NvMediaISCDevice *device, NvMediaISCSensorAttributes *sensorAttr, const size_t sensorAttrStructSize)
 Gets the sensor attributes. More...
 
NvMediaStatus NvMediaISCSetSensorControls (NvMediaISCDevice *device, const NvMediaISCSensorControl *sensorControl, const size_t sensrCtrlStructSize)
 Sets sensor control parameters. More...
 
NvMediaStatus NvMediaISCParseEmbedDataInfo (NvMediaISCDevice *device, const NvMediaISCEmbeddedDataChunk *embeddedTopDataChunk, const NvMediaISCEmbeddedDataChunk *embeddedBotDataChunk, const size_t embeddedDataChunkStructSize, NvMediaISCEmbeddedDataInfo *embeddedDataInfo, const size_t dataInfoStructSize)
 Parses sensor embedded data info and provides sensor image settings information for the captured frame. More...
 
NvMediaStatus NvMediaISCRootDevicePowerControl (NvMediaISCRootDevice *device, NvMediaISCPowerItems powerItem, NvMediaBool powerOn)
 Turns ON/OFF the power of a specific sub-device. More...
 
NvMediaStatus NvMediaISCRootDeviceGetPowerStatus (NvMediaISCRootDevice *device, NvMediaISCPowerItems powerItem, NvMediaBool *powerStatus)
 Gets the power ON/OFF status of a specific sub-device. More...
 
NvMediaStatus NvMediaISCRootDeviceEnableSync (NvMediaISCRootDevice *device, NvMediaBool enable)
 Enables or disables pulse width modulation (PWM) for the external synchronization. More...
 
NvMediaStatus NvMediaISCRootDeviceSetSyncConfig (NvMediaISCRootDevice *device, float_t freq, float_t dutyRatio)
 Sets the pulse width modulation (PWM) frequency and duty. More...
 
NvMediaStatus NvMediaISCRootDeviceGetSyncConfig (NvMediaISCRootDevice *device, float_t *freq, float_t *dutyRatio)
 Gets the pulse width modulation (PWM) frequency and duty. More...
 
NvMediaStatus NvMediaISCSetSensorCharMode (NvMediaISCDevice *device, uint8_t expNo)
 Set sensor in characterization mode. More...
 
NvMediaStatus NvMediaISCGetModuleConfig (NvMediaISCDevice *device, NvMediaISCModuleConfig *moduleConfig)
 Gets the Module ISP configuration. More...