NVIDIA DRIVE OS Linux API Reference

5.1.0.2 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...
 

Macros

#define NVMEDIA_ISC_VERSION_MAJOR   2
 Major Version number. More...
 
#define NVMEDIA_ISC_VERSION_MINOR   4
 Minor Version number. More...
 
#define NVMEDIA_ISC_SIMULATOR_ADDRESS   0xFF1
 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_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...
 

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 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...