NVIDIA DRIVE 5.0 Linux SDK API Reference

5.0.5.0 Release

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_isc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
15 #ifndef _NVMEDIA_ISC_H
16 #define _NVMEDIA_ISC_H
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #include "nvmedia_core.h"
23 #include "nvmedia_icp.h"
24 
51 #define NVMEDIA_ISC_VERSION_MAJOR 2
52 
53 #define NVMEDIA_ISC_VERSION_MINOR 3
54 
57 #define NVMEDIA_ISC_SIMULATOR_ADDRESS 0xFF1
58 
59 #define RDEV_CFG_I2C_BITS 8
60 
61 #define RDEV_CFG_CSI_BITS (RDEV_CFG_I2C_BITS + 8)
62 
69 #define ISC_RDEV_CFG(csi, i2c) (((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | (i2c))
70 
78 #define ISC_SLV_RDEV_CFG(csi, i2c) \
79  ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1u) << RDEV_CFG_CSI_BITS))
80 
87 #define ADV_CONFIG_INIT(cfg, ctx) \
88  do { \
89  memset(&cfg, 0, sizeof(cfg)); \
90  cfg.clientContext = (void *)(ctx); \
91  } while (0)
92 
94 
96 
98 
100 
104 typedef void NvMediaISCDevice;
105 
110 
128 typedef struct {
132 
144  NvMediaISCVersionInfo *versionInfo
145 );
146 
158  NvMediaVersion *version
159 );
160 
177 typedef enum {
205 
209 typedef void NvMediaISCRootDevice;
210 
245 NvMediaISCRootDevice *
247  uint32_t portCfg
248 );
249 
255 void
257  NvMediaISCRootDevice *device
258 );
259 
406 typedef struct {
408  NvMediaStatus (* Read)(
409  NvMediaISCTransactionHandle *transaction,
410  uint32_t deviceIndex,
411  uint32_t regLength,
412  uint8_t *regData,
413  uint32_t dataLength,
414  uint8_t *data);
416  NvMediaStatus (* Write)(
417  NvMediaISCTransactionHandle *transaction,
418  uint32_t deviceIndex,
419  uint32_t dataLength,
420  const uint8_t *data);
422  NvMediaStatus (* Wait)(
423  NvMediaISCTransactionHandle *transaction,
424  uint32_t microSecond);
426 
431 typedef enum {
470 
474 typedef struct {
476  char *deviceName;
478  int32_t regLength;
480  int32_t dataLength;
482  NvMediaStatus (* DriverCreate)(
483  NvMediaISCDriverHandle **handle,
484  NvMediaISCSupportFunctions *supportFunctions,
485  void *clientContext);
487  NvMediaStatus (* DriverDestroy)(
488  NvMediaISCDriverHandle *handle);
490  NvMediaStatus (* CheckPresence)(
491  NvMediaISCDriverHandle *handle,
492  NvMediaISCTransactionHandle *transaction);
497  NvMediaStatus (* CheckLink)(
498  NvMediaISCDriverHandle *handle,
499  NvMediaISCTransactionHandle *transaction,
500  uint32_t linkIndex,
501  uint32_t linkType);
503  NvMediaStatus (* SetDefaults)(
504  NvMediaISCDriverHandle *handle,
505  NvMediaISCTransactionHandle *transaction);
508  NvMediaStatus (* SetDeviceConfig)(
509  NvMediaISCDriverHandle *handle,
510  NvMediaISCTransactionHandle *transaction,
511  uint32_t enumeratedDeviceConfig);
514  NvMediaStatus (* ReadParameters)(
515  NvMediaISCDriverHandle *handle,
516  NvMediaISCTransactionHandle *transaction,
517  uint32_t parameterType,
518  uint32_t parameterSize,
519  void *parameter);
522  NvMediaStatus (* WriteParameters)(
523  NvMediaISCDriverHandle *handle,
524  NvMediaISCTransactionHandle *transaction,
525  uint32_t parameterType,
526  uint32_t parameterSize,
527  void *parameter);
531  NvMediaStatus (* ParseEmbeddedData)(
532  NvMediaISCDriverHandle *handle,
533  NvMediaISCTransactionHandle *transaction,
534  uint32_t lineCount,
535  uint32_t *lineLength,
536  uint8_t *lineData[],
537  struct NvMediaISCEmbeddedData *parsedInformation);
539  NvMediaStatus (* GetSensorFrameId)(
540  NvMediaISCDriverHandle *handle,
541  NvMediaISCTransactionHandle *transaction,
542  uint32_t lineCount,
543  uint32_t *lineLength,
544  uint8_t *lineData[],
545  uint32_t *sensorFrameId);
547  NvMediaStatus (* GetTemperature)(
548  NvMediaISCDriverHandle *handle,
549  NvMediaISCTransactionHandle *transaction,
550  float_t *temperature);
552  NvMediaStatus (* SetExposure)(
553  NvMediaISCDriverHandle *handle,
554  NvMediaISCTransactionHandle *transaction,
555  struct NvMediaISCExposureControl *exposureControl);
557  NvMediaStatus (* SetWBGain)(
558  NvMediaISCDriverHandle *handle,
559  NvMediaISCTransactionHandle *transaction,
560  struct NvMediaISCWBGainControl *wbControl);
562  NvMediaStatus (* ReadRegister)(
563  NvMediaISCDriverHandle *handle,
564  NvMediaISCTransactionHandle *transaction,
565  uint32_t deviceIndex,
566  uint32_t registerNum,
567  uint32_t dataLength,
568  uint8_t *dataBuff);
570  NvMediaStatus (* WriteRegister)(
571  NvMediaISCDriverHandle *handle,
572  NvMediaISCTransactionHandle *transaction,
573  uint32_t deviceIndex,
574  uint32_t registerNum,
575  uint32_t dataLength,
576  uint8_t *dataBuff);
578  NvMediaStatus (* DumpRegisters)(
579  NvMediaISCDriverHandle *handle,
580  NvMediaISCTransactionHandle *transaction);
582  NvMediaStatus (* GetErrorStatus)(
583  NvMediaISCDriverHandle *handle,
584  NvMediaISCTransactionHandle *transaction,
585  uint32_t parameterSize,
586  void *parameter);
588  NvMediaStatus (* GetModuleConfig)(
589  NvMediaISCDriverHandle *handle,
590  struct NvMediaISCModuleConfig *moduleConfig);
592  NvMediaStatus (* SetBracketedExposure)(
593  NvMediaISCDriverHandle *handle,
594  NvMediaISCTransactionHandle *transaction,
595  uint32_t numExposureControls,
596  struct NvMediaISCExposureControl *exposureControls);
598  NvMediaStatus (* GetSensorAttr)(
599  NvMediaISCDriverHandle *handle,
601  uint32_t size,
602  void *attribute);
604  NvMediaStatus (* SetCompandingCurve)(
605  NvMediaISCDriverHandle *handle,
606  NvMediaISCTransactionHandle *transaction,
607  uint32_t numPoints,
608  NvMediaPoint *kneePoints);
610 
626 #define NVMEDIA_ISC_TIMEOUT_INFINITE 0xFFFFFFFF
627 
631 typedef struct {
635 
648 NvMediaISCDevice *
650  NvMediaISCRootDevice *rootDevice,
651  uint32_t *deviceAddressList,
652  uint32_t numDevices,
653  NvMediaISCDeviceDriver *deviceDriver,
654  NvMediaISCAdvancedConfig *advancedConfig
655 );
656 
661 void
663  NvMediaISCDevice *device
664 );
665 
679  NvMediaISCDevice *device
680 );
681 
697  NvMediaISCDevice *device,
698  uint32_t instanceNumber,
699  uint32_t link
700 );
701 
715  NvMediaISCDevice *device
716 );
717 
734  NvMediaISCDevice *device,
735  uint32_t enumeratedDeviceConfig
736 );
737 
756  NvMediaISCDevice *device,
757  uint32_t parameterType,
758  uint32_t parameterSize,
759  void *parameter
760 );
761 
780  NvMediaISCDevice *device,
781  uint32_t parameterType,
782  uint32_t parameterSize,
783  void *parameter
784 );
785 
804  NvMediaISCDevice *device,
805  uint32_t lineCount,
806  uint32_t *lineLength,
807  uint8_t *lineData[],
808  struct NvMediaISCEmbeddedData *parsedInformation
809 );
810 
829  NvMediaISCDevice *device,
830  uint32_t lineCount,
831  uint32_t *lineLength,
832  uint8_t *lineData[],
833  uint32_t *sensorFrameId
834 );
835 
850  NvMediaISCDevice *device,
851  float_t *temperature
852 );
853 
858 typedef enum {
868 
874  struct {
875  float_t value;
879  struct {
880  float_t value;
883  uint8_t sensorFrameId;
885 
889 typedef struct NvMediaISCWBGainControl {
892  struct {
893  float_t value[4];
897 
901 typedef struct {
903  uint32_t baseRegAddress;
905  uint32_t size;
907  uint32_t bufferSize;
909  uint8_t *data;
911 
915 typedef struct NvMediaISCEmbeddedData {
925 
940  NvMediaISCDevice *device,
941  NvMediaISCExposureControl *exposureControl
942 );
943 
959  NvMediaISCDevice *device,
960  NvMediaISCWBGainControl *wbControl
961 );
962 
981  NvMediaISCDevice *device,
982  uint32_t deviceIndex,
983  uint32_t registerAddress,
984  uint32_t dataByteNumber,
985  uint8_t *dataBuffer
986 );
987 
1006  NvMediaISCDevice *device,
1007  uint32_t deviceIndex,
1008  uint32_t registerAddress,
1009  uint32_t dataByteNumber,
1010  uint8_t *dataBuffer
1011 );
1012 
1026  NvMediaISCDevice *device
1027 );
1028 
1044  NvMediaISCDevice *device,
1045  uint32_t parameterSize,
1046  void *parameter
1047 );
1048 
1065  NvMediaISCRootDevice *device,
1066  int32_t sigNum,
1067  void (*cbFunc)(void *),
1068  void *context
1069 );
1070 
1075 typedef enum {
1087 
1106  NvMediaISCRootDevice *device,
1107  NvMediaISCPowerItems powerItem,
1108  NvMediaBool powerOn
1109 );
1110 
1127  NvMediaISCDevice *device,
1129  uint32_t size,
1130  void *attribute
1131 );
1132 
1137 typedef struct NvMediaISCModuleConfig {
1144 
1159  NvMediaISCDevice *device,
1160  NvMediaISCModuleConfig *moduleConfig
1161 );
1162 
1178  NvMediaISCDevice *device,
1179  uint32_t numExposureControls,
1180  NvMediaISCExposureControl *exposureControls
1181 );
1182 
1198  NvMediaISCDevice *device,
1199  uint32_t numPoints,
1200  NvMediaPoint *kneePoints
1201 );
1202 
1221  NvMediaISCRootDevice *device,
1222  NvMediaISCPowerItems powerItem,
1223  NvMediaBool *powerStatus
1224 );
1225 
1241  NvMediaISCRootDevice *device,
1242  NvMediaBool enable
1243 );
1244 
1258  NvMediaISCRootDevice *device,
1259  float_t freq,
1260  float_t dutyRatio
1261 );
1262 
1277  NvMediaISCRootDevice *device,
1278  float_t *freq,
1279  float_t *dutyRatio
1280 );
1281 
1284 /*
1285  * \defgroup history_isc History
1286  * Provides change history for the NvMedia Image Sensor Control API.
1287  *
1288  * \section history_isc Version History
1289  *
1290  * <b> Version 1.0 </b> April 1, 2014
1291  * - Initial release
1292  *
1293  * <b> Version 1.1 </b> April 3, 2015
1294  * - Add mode in \ref NvMediaISCEmbeddedData
1295  *
1296  * <b> Version 1.2 </b> April 16, 2015
1297  * - Add new port config macro \ref ISC_ROOT_DEVICE_CFG
1298  * - The \a advancedConfig attribute is being used in \ref NvMediaISCDeviceCreate
1299  * - Add new callback function \ref NvMediaISCRootDeviceRegisterCallback to handle device errors
1300  *
1301  * <b> Version 1.3 </b> April 24, 2015
1302  * - Moved the \a regLength and \a dataLength attributes from \ref NvMediaISCAdvancedConfig
1303  * in \ref NvMediaISCDeviceDriver.
1304  * - Add macro \ref ADV_CONFIG_INIT
1305  *
1306  * <b> Version 1.4 </b> April 28, 2015
1307  * - Add hdrRatio in \ref NvMediaISCExposureControl structure
1308  * - Add conversionGain in \ref NvMediaISCEmbeddedData structure
1309  *
1310  * <b> Version 1.5 </b> July 13, 2015
1311  * - Add exposureMidpointTime in \ref NvMediaISCEmbeddedData structure
1312  * - Add NVMEDIA_ISC_I2C_SIMULATOR in \ref NVMEDIA_ISC_I2C_SIMULATOR
1313  * - Add new function \ref NvMediaISCRootDevicePowerControl and \ref NvMediaISCPowerItems
1314  * - Modify the input paramater cbFunc of NvMediaISCRootDeviceRegisterCallback
1315  * - Add function \ref NvMediaISCGetErrorStatus to get error information from device
1316  * - Add \ref NvMediaISCSensorProperties structure
1317  * - Add \ref NvMediaISCGetSensorProperties to get sensor properties
1318  *
1319  * <b> Version 1.6 </b> September 9, 2015
1320  * - Add SensorMode in \ref NvMediaISCExposureControl structure
1321  *
1322  * <b> Version 1.7 </b> September 21, 2015
1323  * - Increase I2C ports to support 12 I2C busses
1324  *
1325  * <b> Version 1.8 </b> December 09, 2015
1326  * - Add channelGainRatio for sensors which only allow same or fixed ratio gain in exposure channels
1327  *
1328  * <b> Version 1.9 </b> January 22, 2016
1329  * - Add NvMediaISCRootDeviceGetPowerStatus function
1330  *
1331  * <b> Version 1.10 </b> May 5, 2016
1332  * - Add NvMediaISCModuleConfig structure and NvMediaISCGetModuleConfig function.
1333  *
1334  * <b> Version 1.11 </b> May 11, 2016
1335  * - Add \ref NvMediaISCCheckVersion API
1336  *
1337  * <b> Version 1.12 </b> June 7, 2016
1338  * - Add NVMEDIA_ISC_SIMULATOR_ADDRESS to use for ISC simulator devices
1339  *
1340  * <b> Version 1.13 </b> June 20, 2016
1341  * - Add frameSequenceNumber in \ref NvMediaISCEmbeddedData
1342  *
1343  * <b> Version 1.14 </b> July 6, 2016
1344  * - Add ISC_ROOT_DEVICE_CFG_EX macro
1345  *
1346  * <b> Version 1.15 </b> July 8, 2016
1347  * - Add \ref NvMediaISCSetBracketedExposure new API for settings bracketed exposure
1348  *
1349  * <b> Version 1.16 </b> Oct 10, 2016
1350  * - Add sensor attribbutes \ref NvMediaISCSensorAttrType & new API \ref NvMediaISCGetSensorAttr
1351  *
1352  * <b> Version 1.17 </b> November 21, 2016
1353  * - Add \ref NvMediaISCRootDeviceEnableSync new API for enabling/disabling PWM
1354  * - Add \ref NvMediaISCRootDeviceSetSyncConfig new API for setting PWM's frequency and duty
1355  * - Add \ref NvMediaISCRootDeviceGetSyncConfig new API for getting PWM's frequency and duty
1356  *
1357  * <b> Version 1.18 </b> Jan 5, 2017
1358  * - Add \ref NvMediaISCSetCompandingCurve API for setting companding curve
1359  *
1360  * <b> Version 1.19 </b> Jan 27, 2017
1361  * - Add \ref Add const modifier to data parameter in NvmediaISCSupportFuntion Write.
1362  *
1363  * <b> Version 2.00 </b> April 19, 2017
1364  * - Deprecated NvMediaISCDeviceType and EnableLink from \ref NvMediaISCDeviceDriver.
1365  * - Updated to use stdint.h
1366  * - Replaced float with float_t
1367  * - Removed unused input param from NvMediaISCRootDeviceCreate
1368  * - Deprecated queueElementsNumber and queueElementSize from \ref NvMediaISCRootDeviceCreate
1369  * - Deprecated unused or not supported APIs as below list.
1370  * NvMediaISCRootDeviceDoTransaction
1371  * NvMediaISCRootDeviceSync
1372  * NvMediaISCUpdateDeviceAddress
1373  * NvMediaISCSetDeviceLinkMode
1374  * NvMediaISCGetLinkStatus
1375  * NvMediaISCSetPriority
1376  * - NvMediaISCGetLinkStatus is replaced by \ref NvMediaISCCheckLink
1377  * - Updated NvMediaISCCheckLink to have one more argument to specify which link
1378  * to enable as optional.
1379  * - Renamed ISC_ROOT_DEVICE_CFG_EX to ISC_SLV_RDEV_CFG
1380  * - Renamed ISC_ROOT_DEVICE_CFG to ISC_RDEV_CFG
1381  * - Deprecated parentDevice, instanceNumber from NvMediaISCDeviceCreate
1382  * - Deprecated NvMediaISCGetSensorProperties, repleaced by \ref NvMediaISCGetSensorAttr
1383  *
1384  * <b> Version 2.1 </b> May 12, 2017
1385  * - Added \ref NvMediaISCGetVersion API to get the version of NvMedia ISC library
1386  * - NvMediaISCCheckVersion is deprecated. Use NvMediaISCGetVersion() instead
1387  *
1388  * <b> Version 2.2 </b> May 23, 2017
1389  * - Deprecated NvMediaISCSensorMode
1390  * - Deprecated mode & exposureMidpointTime from \ref NvMediaISCEmbeddedData
1391  * - Deprecated sensorMode & hdrRatio from \ref NvMediaISCExposureControl
1392  * - Replaced exposure in \ref NvMediaISCEmbeddedData with \ref NvMediaISCExposureControl
1393  * - Replaced wbGains in \ref NvMediaISCEmbeddedData with \ref NvMediaISCWBGainControl
1394  *
1395  * <b> Version 2.3 </b> May 26, 2017
1396  * - Add device list for ISC handle creation
1397  *
1398  */
1399 
1402 #ifdef __cplusplus
1403 }; /* extern "C" */
1404 #endif
1405 
1406 #endif /* _NVMEDIA_ISC_H */
struct NvMediaISCModuleConfig NvMediaISCModuleConfig
Holds the ISC Module ISP configuration.
int32_t dataLength
Holds the target device data length in bytes.
Definition: nvmedia_isc.h:480
Holds version information for the NvMedia ISC library.
Definition: nvmedia_isc.h:128
uint32_t baseRegAddress
Holds the the address of the first register.
Definition: nvmedia_isc.h:903
NvMediaVersion libVersion
Library version information.
Definition: nvmedia_isc.h:130
NvMediaStatus NvMediaISCSetExposure(NvMediaISCDevice *device, NvMediaISCExposureControl *exposureControl)
Sets exposure control parameters.
Active number of exposures.
Definition: nvmedia_isc.h:468
NvMediaISCEmbeddedDataBuffer top
Definition: nvmedia_isc.h:916
Holds the embedded data buffer structure.
Definition: nvmedia_isc.h:901
uint32_t size
Holds the data size.
Definition: nvmedia_isc.h:905
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:79
NvMediaISCExposureMode
Exposure mode.
Definition: nvmedia_isc.h:858
NvMediaStatus NvMediaISCGetModuleConfig(NvMediaISCDevice *device, NvMediaISCModuleConfig *moduleConfig)
Gets the Module ISP configuration.
struct NvMediaISCWBGainControl::@48 wbGain[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
White balance for each exposure mode in R Gr Gb B order.
NvMediaStatus NvMediaISCReadParameters(NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
Reads device specific parameters.
const char * cameraModuleConfigPass2
Definition: nvmedia_isc.h:1142
NvMediaStatus NvMediaISCRootDeviceSetSyncConfig(NvMediaISCRootDevice *device, float_t freq, float_t dutyRatio)
Sets the PWM frequency and duty.
struct NvMediaISCExposureControl NvMediaISCExposureControl
Exposure control structure.
NvMediaStatus NvMediaISCParseEmbeddedData(NvMediaISCDevice *device, uint32_t lineCount, uint32_t *lineLength, uint8_t *lineData[], struct NvMediaISCEmbeddedData *parsedInformation)
Parses embedded data in the captured image.
NvMediaISCSensorAttrType
ISC sensor attributes.
Definition: nvmedia_isc.h:431
NvMediaStatus NvMediaISCReadRegister(NvMediaISCDevice *device, uint32_t deviceIndex, uint32_t registerAddress, uint32_t dataByteNumber, uint8_t *dataBuffer)
Reads a device register.
Holds a location on a 2-dimensional object.
Definition: nvmedia_core.h:149
Holds NvMedia Version information.
Definition: nvmedia_core.h:231
NvMediaISCPowerItems
ISC Power control items.
Definition: nvmedia_isc.h:1075
NvMediaStatus NvMediaISCRootDeviceGetSyncConfig(NvMediaISCRootDevice *device, float_t *freq, float_t *dutyRatio)
Gets the PWM frequency and duty.
struct NvMediaISCExposureControl::@47 sensorGain[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
Sensor gain for each exposure mode.
NvMediaStatus NvMediaISCGetVersion(NvMediaVersion *version)
Gets the version compatibility for the NvMedia ISC library.
const char * cameraModuleConfigPass1
Holds the camera-specific configuration string.
Definition: nvmedia_isc.h:1141
Maximum possible HDR ratio value.
Definition: nvmedia_isc.h:455
Fine integration time values in seconds.
Definition: nvmedia_isc.h:449
char cameraModuleCfgName[128]
Holds the camera module name.
Definition: nvmedia_isc.h:1139
Very short exposure mode.
Definition: nvmedia_isc.h:864
uint32_t frameSequenceNumber
Parsed frame counter.
Definition: nvmedia_isc.h:923
Maximum possible exposure time values in seconds.
Definition: nvmedia_isc.h:446
void NvMediaISCDriverHandle
Holds an opaque handle representing an NvMediaISCDevice driver.
Definition: nvmedia_isc.h:109
NvMediaStatus NvMediaISCCheckPresence(NvMediaISCDevice *device)
Check that the device is present.
void NvMediaISCRootDeviceDestroy(NvMediaISCRootDevice *device)
Destroys an NvMediaISCRootDevice object.
Long exposure mode.
Definition: nvmedia_isc.h:860
NVIDIA Media Interface: Core
void * clientContext
Holds the client context.
Definition: nvmedia_isc.h:633
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:178
uint32_t bufferSize
Holds the buffer size.
Definition: nvmedia_isc.h:907
NVIDIA Media Interface: Image Capture Processing
NvMediaStatus NvMediaISCGetErrorStatus(NvMediaISCDevice *device, uint32_t parameterSize, void *parameter)
Gets error information about an ISC device.
Holds the support functions that the device driver can call.
Definition: nvmedia_isc.h:406
void NvMediaISCTransactionHandle
Holds an opaque handle representing a device transaction used by the device driver.
Definition: nvmedia_isc.h:115
NvMediaStatus NvMediaISCSetDefaults(NvMediaISCDevice *device)
Sets defaults for the device.
Unique ID per instance of camera module.
Definition: nvmedia_isc.h:434
Mininum possible gain values.
Definition: nvmedia_isc.h:437
NvMediaStatus NvMediaISCWriteRegister(NvMediaISCDevice *device, uint32_t deviceIndex, uint32_t registerAddress, uint32_t dataByteNumber, uint8_t *dataBuffer)
Reads a device register.
NvMediaStatus NvMediaISCRootDeviceRegisterCallback(NvMediaISCRootDevice *device, int32_t sigNum, void(*cbFunc)(void *), void *context)
Registers a callback function to handle error messages.
uint8_t * data
Holds the the actual data.
Definition: nvmedia_isc.h:909
Holds the ISC Module ISP configuration.
Definition: nvmedia_isc.h:1137
void NvMediaISCDeviceDestroy(NvMediaISCDevice *device)
Destroys an NvMediaISCDevice device.
char * deviceName
Holds the device name.
Definition: nvmedia_isc.h:476
Holds device driver data.
Definition: nvmedia_isc.h:474
struct NvMediaISCEmbeddedData NvMediaISCEmbeddedData
Holds the embedded data structure.
void NvMediaISCDevice
Holds an opaque handle representing a NvMediaISCDevice object.
Definition: nvmedia_isc.h:99
NvMediaISCRootDevice * NvMediaISCRootDeviceCreate(uint32_t portCfg)
Creates an NvMediaISCRootDevice object.
NvMediaStatus NvMediaISCSetBracketedExposure(NvMediaISCDevice *device, uint32_t numExposureControls, NvMediaISCExposureControl *exposureControls)
Sets bracketed exposure control parameters.
NvMediaStatus NvMediaISCRootDeviceGetPowerStatus(NvMediaISCRootDevice *device, NvMediaISCPowerItems powerItem, NvMediaBool *powerStatus)
Gets the power ON/OFF status of a specific sub-device.
NvMediaStatus NvMediaISCGetSensorFrameId(NvMediaISCDevice *device, uint32_t lineCount, uint32_t *lineLength, uint8_t *lineData[], uint32_t *sensorFrameId)
Gets sensor frame ID from embedded data.
NvMediaISC_I2CPort
Defines the I2C buses on the host hardware device.
Definition: nvmedia_isc.h:177
NvMediaStatus NvMediaISCGetTemperature(NvMediaISCDevice *device, float_t *temperature)
Gets a device temperature.
Holds the description of the target I2C device.
Definition: nvmedia_isc.h:631
Maximum possible gain values.
Definition: nvmedia_isc.h:440
NvMediaStatus NvMediaISCSetDeviceConfig(NvMediaISCDevice *device, uint32_t enumeratedDeviceConfig)
Sets enumerated device configuration to the device.
NvMediaStatus NvMediaISCCheckLink(NvMediaISCDevice *device, uint32_t instanceNumber, uint32_t link)
check the result of link detection of the numbered instance.
struct NvMediaISCWBGainControl NvMediaISCWBGainControl
Holds the white balance control structure.
Aggregator Power.
Definition: nvmedia_isc.h:1077
Holds the white balance control structure.
Definition: nvmedia_isc.h:889
Gain factor between the exposures.
Definition: nvmedia_isc.h:459
NvMediaStatus NvMediaISCDumpRegisters(NvMediaISCDevice *device)
Dumps all device register to the standard output.
NvMediaISCDevice * NvMediaISCDeviceCreate(NvMediaISCRootDevice *rootDevice, uint32_t *deviceAddressList, uint32_t numDevices, NvMediaISCDeviceDriver *deviceDriver, NvMediaISCAdvancedConfig *advancedConfig)
Creates an NvMediaISCDevice object.
NvMediaISCWBGainControl wbControl
Parsed WB gains in R Gr Gb B order.
Definition: nvmedia_isc.h:921
struct NvMediaISCExposureControl::@46 exposureTime[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
Exposure time for each exposure mode.
Exposure control structure.
Definition: nvmedia_isc.h:872
Exposure time step values in seconds.
Definition: nvmedia_isc.h:452
NvMediaStatus NvMediaISCRootDevicePowerControl(NvMediaISCRootDevice *device, NvMediaISCPowerItems powerItem, NvMediaBool powerOn)
Turns ON/OFF the power of a specific sub-device.
Port SIMPULATOR (20)
Definition: nvmedia_isc.h:203
NvMediaISCExposureControl exposureControl
Parsed exposure control.
Definition: nvmedia_isc.h:919
NvMediaStatus NvMediaISCRootDeviceEnableSync(NvMediaISCRootDevice *device, NvMediaBool enable)
Enables or disables PWM for the external synchronization.
Quantum efficiency ratio in split pixel HDR sensor technology.
Definition: nvmedia_isc.h:462
NvMediaISCEmbeddedDataBuffer bottom
Definition: nvmedia_isc.h:917
Holds the embedded data structure.
Definition: nvmedia_isc.h:915
void NvMediaISCRootDevice
An opaque handle for an NvMediaISCRootDevice object.
Definition: nvmedia_isc.h:209
int32_t regLength
Holds the target device offset length in bytes.
Definition: nvmedia_isc.h:478
NvMediaStatus NvMediaISCGetSensorAttr(NvMediaISCDevice *device, NvMediaISCSensorAttrType type, uint32_t size, void *attribute)
Get sensor attribute.
NvMediaStatus NvMediaISCSetWBGain(NvMediaISCDevice *device, NvMediaISCWBGainControl *wbControl)
Sets white balance control parameters.
Minimum possible exposure time values in seconds.
Definition: nvmedia_isc.h:443
NvMediaStatus NvMediaISCGetVersionInfo(NvMediaISCVersionInfo *versionInfo)
Returns the version information for the NvMedia ISC library.
Exposure mode count.
Definition: nvmedia_isc.h:866
NvMediaStatus NvMediaISCSetCompandingCurve(NvMediaISCDevice *device, uint32_t numPoints, NvMediaPoint *kneePoints)
Sets the companding curve control parameters.
Short exposure mode.
Definition: nvmedia_isc.h:862
NvMediaStatus NvMediaISCWriteParameters(NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
Writes device specific parameters.