NVIDIA DRIVE OS Linux API Reference

5.1.3.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  NvMediaISCVersionInfo
 Holds version information for the NvMedia ISC library. More...
 
struct  NvMediaISCSupportFunctions
 Holds the support functions that the device driver can call. More...
 
struct  NvMediaISCDeviceDriver
 Holds device driver data. More...
 
struct  NvMediaISCAdvancedConfig
 Holds the description of the target I2C device. More...
 
struct  NvMediaISCExposureControl
 Exposure control structure. 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...
 
struct  NvMediaISCModuleConfig
 Holds the ISC Module ISP configuration. More...
 
struct  NvMediaISCAttrRange
 Holds the range of sensor attribute. More...
 
struct  NvMediaISCSensorAttributes
 Holds the Sensor Attribute List Structure. More...
 
struct  NvMediaISCExposure
 Holds the sensor exposure structure. 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 piece wise linear(PWL) structure. More...
 
struct  NvMediaISCTemperature
 Holds sensor temperature structure. More...
 
struct  NvMediaISCCRC
 Holds sensor CRC structure. More...
 
struct  NvMediaISCFrameSeqNum
 Holds sensor frame sequence number structure. More...
 
struct  NvMediaISCSensorControl
 Holds Sensor Control Structure. More...
 
struct  NvMediaISCEmbeddedDataInfo
 Holds the Sensor Embedded Data Parsed Info Structure. More...
 
struct  NvMediaISCEmbeddedDataChunk
 

Macros

#define NVMEDIA_ISC_VERSION_MAJOR   2
 Major Version number. More...
 
#define NVMEDIA_ISC_VERSION_MINOR   7
 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 to contain I2C bus number in ISC_RDEV_CFG(csi, i2c). More...
 
#define RDEV_CFG_CSI_BITS   (RDEV_CFG_I2C_BITS + 8)
 Bits reserved to contain CSI port in ISC_SLV_RDEV_CFG(csi, i2c). More...
 
#define RDEV_CFG_SLV_BIT   (RDEV_CFG_CSI_BITS + 1)
 Bit reserved to contain 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 to generate the configuration of the root device by its connected CSI port and I2C bus. More...
 
#define ISC_RDEV_CFG_EX(csi, i2c, disPwrCtrl)
 Extended macro to create root device configuration to generate the configuration of the root device by its connected CSI port and I2C bus with 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 when the application is being run on slave tegra. More...
 
#define ADV_CONFIG_INIT(cfg, ctx)
 Macro to initialize NvMediaISCAdvancedConfig parameter. 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 piece wise 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...
 
#define NVMEDIA_ISC_TIMEOUT_INFINITE
 Infinite time-out. More...
 

Typedefs

typedef void NvMediaISCDevice
 Holds an opaque handle representing a NvMediaISCDevice object. More...
 
typedef void NvMediaISCDriverHandle
 Holds an opaque handle representing an NvMediaISCDevice driver. More...
 
typedef void NvMediaISCTransactionHandle
 Holds an opaque handle representing a device transaction used by the device driver. More...
 
typedef void NvMediaISCRootDevice
 An opaque handle for an NvMediaISCRootDevice object. More...
 
typedef struct
NvMediaISCExposureControl 
NvMediaISCExposureControl
 Exposure control structure. More...
 
typedef struct
NvMediaISCWBGainControl 
NvMediaISCWBGainControl
 Holds the white balance control structure. More...
 
typedef struct
NvMediaISCEmbeddedData 
NvMediaISCEmbeddedData
 Holds the embedded data structure. More...
 
typedef struct
NvMediaISCModuleConfig 
NvMediaISCModuleConfig
 Holds the ISC Module ISP configuration. More...
 
typedef struct NvMediaISCAttrRange NvMediaISCAttrRange
 Holds the range of sensor attribute. More...
 
typedef struct
NvMediaISCSensorAttributes 
NvMediaISCSensorAttributes
 Holds the Sensor Attribute List Structure. More...
 
typedef struct NvMediaISCExposure NvMediaISCExposure
 Holds the sensor exposure structure. 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 piece wise linear(PWL) structure. More...
 
typedef struct
NvMediaISCTemperature 
NvMediaISCTemperature
 Holds sensor temperature structure. More...
 
typedef struct NvMediaISCCRC NvMediaISCCRC
 Holds sensor CRC structure. More...
 
typedef struct
NvMediaISCFrameSeqNum 
NvMediaISCFrameSeqNum
 Holds sensor frame sequence number structure. More...
 
typedef struct
NvMediaISCSensorControl 
NvMediaISCSensorControl
 Holds Sensor Control Structure. More...
 
typedef struct
NvMediaISCEmbeddedDataInfo 
NvMediaISCEmbeddedDataInfo
 Holds the Sensor Embedded Data Parsed Info Structure. More...
 
typedef struct
NvMediaISCEmbeddedDataChunk 
NvMediaISCEmbeddedDataChunk
 

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  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...
 
enum  NvMediaISCSensorCharAttr { NVMEDIA_ISC_CHAR_ATTR_SINGLE_EXP }
 ISC sensor characterization attributes. More...
 
enum  NvMediaISCExposureMode {
  NVMEDIA_ISC_EXPOSURE_MODE_LONG,
  NVMEDIA_ISC_EXPOSURE_MODE_SHORT,
  NVMEDIA_ISC_EXPOSURE_MODE_VERY_SHORT,
  NVMEDIA_ISC_EXPOSURE_MODE_MAX
}
 Exposure mode. 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...
 

Functions

NvMediaStatus NvMediaISCGetVersionInfo (NvMediaISCVersionInfo *versionInfo)
 Returns the version information for the NvMedia ISC library. More...
 
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...
 
NvMediaISCDeviceNvMediaISCDeviceCreate (NvMediaISCRootDevice *rootDevice, uint32_t *deviceAddressList, uint32_t numDevices, NvMediaISCDeviceDriver *deviceDriver, NvMediaISCAdvancedConfig *advancedConfig)
 Creates an NvMediaISCDevice object. More...
 
void NvMediaISCDeviceDestroy (NvMediaISCDevice *device)
 Destroys an NvMediaISCDevice device. More...
 
NvMediaStatus NvMediaISCCheckPresence (NvMediaISCDevice *device)
 Check that the device is present. More...
 
NvMediaStatus NvMediaISCCheckLink (NvMediaISCDevice *device, uint32_t instanceNumber, uint32_t link)
 check the result of link detection of the numbered instance. More...
 
NvMediaStatus NvMediaISCSetDefaults (NvMediaISCDevice *device)
 Sets defaults for the device. More...
 
NvMediaStatus NvMediaISCSetDeviceConfig (NvMediaISCDevice *device, uint32_t enumeratedDeviceConfig)
 Sets enumerated device configuration to the device. More...
 
NvMediaStatus NvMediaISCReadParameters (NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
 Reads device specific parameters. More...
 
NvMediaStatus NvMediaISCWriteParameters (NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
 Writes device specific parameters. More...
 
NvMediaStatus NvMediaISCParseEmbeddedData (NvMediaISCDevice *device, uint32_t lineCount, uint32_t *lineLength, uint8_t *lineData[], struct NvMediaISCEmbeddedData *parsedInformation)
 Parses embedded data in the captured image. More...
 
NvMediaStatus NvMediaISCGetSensorFrameId (NvMediaISCDevice *device, uint32_t lineCount, uint32_t *lineLength, uint8_t *lineData[], uint32_t *sensorFrameId)
 Gets sensor frame ID from embedded data. More...
 
NvMediaStatus NvMediaISCGetTemperature (NvMediaISCDevice *device, float_t *temperature)
 Gets a device temperature. More...
 
NvMediaStatus NvMediaISCSetExposure (NvMediaISCDevice *device, NvMediaISCExposureControl *exposureControl)
 Sets exposure control parameters. More...
 
NvMediaStatus NvMediaISCSetWBGain (NvMediaISCDevice *device, NvMediaISCWBGainControl *wbControl)
 Sets white balance control parameters. More...
 
NvMediaStatus NvMediaISCReadRegister (NvMediaISCDevice *device, uint32_t deviceIndex, uint32_t registerAddress, uint32_t dataByteNumber, uint8_t *dataBuffer)
 Reads a device register. More...
 
NvMediaStatus NvMediaISCWriteRegister (NvMediaISCDevice *device, uint32_t deviceIndex, uint32_t registerAddress, uint32_t dataByteNumber, uint8_t *dataBuffer)
 Reads a device register. More...
 
NvMediaStatus NvMediaISCDumpRegisters (NvMediaISCDevice *device)
 Dumps all device register to the standard output. More...
 
NvMediaStatus NvMediaISCGetErrorStatus (NvMediaISCDevice *device, uint32_t parameterSize, void *parameter)
 Gets error information about an ISC device. More...
 
NvMediaStatus NvMediaISCRootDeviceRegisterCallback (NvMediaISCRootDevice *device, int32_t sigNum, void(*cbFunc)(void *), void *context)
 Registers a callback function to handle error messages. More...
 
NvMediaStatus NvMediaISCRootDeviceWaitForError (NvMediaISCRootDevice *device)
 Wait till an error condition is reported or NvMediaISCRootDeviceAbortWaitForError() is called. More...
 
NvMediaStatus NvMediaISCRootDeviceAbortWaitForError (NvMediaISCRootDevice *device)
 Abort NvMediaISCRootDeviceWaitForError() call. More...
 
NvMediaStatus NvMediaISCRootDevicePowerControl (NvMediaISCRootDevice *device, NvMediaISCPowerItems powerItem, NvMediaBool powerOn)
 Turns ON/OFF the power of a specific sub-device. More...
 
NvMediaStatus NvMediaISCGetSensorAttr (NvMediaISCDevice *device, NvMediaISCSensorAttrType type, uint32_t size, void *attribute)
 Get sensor attribute. More...
 
NvMediaStatus NvMediaISCGetModuleConfig (NvMediaISCDevice *device, NvMediaISCModuleConfig *moduleConfig)
 Gets the Module ISP configuration. More...
 
NvMediaStatus NvMediaISCSetBracketedExposure (NvMediaISCDevice *device, uint32_t numExposureControls, NvMediaISCExposureControl *exposureControls)
 Sets bracketed exposure control parameters. More...
 
NvMediaStatus NvMediaISCSetCompandingCurve (NvMediaISCDevice *device, uint32_t numPoints, NvMediaPoint *kneePoints)
 Sets the companding curve control parameters. 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 NvMediaISCSetCharacterizationAttr (NvMediaISCDevice *device, NvMediaISCSensorCharAttr type, uint32_t size, void *attribute)
 Set sensor characterization attribute. More...
 
NvMediaStatus NvMediaISCGetCharacterizationAttr (NvMediaISCDevice *device, NvMediaISCSensorCharAttr type, uint32_t size, void *attribute)
 Get sensor characterization attribute. More...
 
NvMediaStatus NvMediaISCGetSensorAttributes (NvMediaISCDevice *device, NvMediaISCSensorAttributes *sensorAttr, const size_t sensorAttrStructSize)
 Get Sensor Attribute. 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)
 Parse Sensor Embedded Data Info. More...
 
NvMediaStatus NvMediaISCSetSensorCharMode (NvMediaISCDevice *device, uint8_t expNo)
 Set sensor in characterization mode. More...