NVIDIA DRIVE 5.0 Linux SDK API Reference

5.0.10.3 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-2018, 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 4
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 
63 #define RDEV_CFG_SLV_BIT (RDEV_CFG_CSI_BITS + 1)
64 
71 #define ISC_RDEV_CFG(csi, i2c) (((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | (i2c))
72 
84 #define ISC_RDEV_CFG_EX(csi, i2c, disPwrCtrl) \
85  ((i2c & 0xffu) | \
86  ((uint32_t)(csi & 0xffu) << RDEV_CFG_I2C_BITS) | \
87  ((uint32_t)(disPwrCtrl & 1u) << RDEV_CFG_SLV_BIT))
88 
96 #define ISC_SLV_RDEV_CFG(csi, i2c) \
97  ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1u) << RDEV_CFG_CSI_BITS))
98 
105 #define ADV_CONFIG_INIT(cfg, ctx) \
106  do { \
107  memset(&cfg, 0, sizeof(cfg)); \
108  cfg.clientContext = (void *)(ctx); \
109  } while (0)
110 
112 
114 
116 
118 
122 typedef void NvMediaISCDevice;
123 
128 
146 typedef struct {
150 
162  NvMediaISCVersionInfo *versionInfo
163 );
164 
176  NvMediaVersion *version
177 );
178 
195 typedef enum {
223 
227 typedef void NvMediaISCRootDevice;
228 
263 NvMediaISCRootDevice *
265  uint32_t portCfg
266 );
267 
273 void
275  NvMediaISCRootDevice *device
276 );
277 
424 typedef struct {
426  NvMediaStatus (* Read)(
427  NvMediaISCTransactionHandle *transaction,
428  uint32_t deviceIndex,
429  uint32_t regLength,
430  uint8_t *regData,
431  uint32_t dataLength,
432  uint8_t *data);
434  NvMediaStatus (* Write)(
435  NvMediaISCTransactionHandle *transaction,
436  uint32_t deviceIndex,
437  uint32_t dataLength,
438  const uint8_t *data);
440  NvMediaStatus (* Wait)(
441  NvMediaISCTransactionHandle *transaction,
442  uint32_t microSecond);
444 
449 typedef enum {
488 
489 
494 typedef enum {
499 
500 
504 typedef struct {
506  char *deviceName;
508  int32_t regLength;
510  int32_t dataLength;
512  NvMediaStatus (* DriverCreate)(
513  NvMediaISCDriverHandle **handle,
514  NvMediaISCSupportFunctions *supportFunctions,
515  void *clientContext);
517  NvMediaStatus (* DriverDestroy)(
518  NvMediaISCDriverHandle *handle);
520  NvMediaStatus (* CheckPresence)(
521  NvMediaISCDriverHandle *handle,
522  NvMediaISCTransactionHandle *transaction);
527  NvMediaStatus (* CheckLink)(
528  NvMediaISCDriverHandle *handle,
529  NvMediaISCTransactionHandle *transaction,
530  uint32_t linkIndex,
531  uint32_t linkType);
533  NvMediaStatus (* SetDefaults)(
534  NvMediaISCDriverHandle *handle,
535  NvMediaISCTransactionHandle *transaction);
538  NvMediaStatus (* SetDeviceConfig)(
539  NvMediaISCDriverHandle *handle,
540  NvMediaISCTransactionHandle *transaction,
541  uint32_t enumeratedDeviceConfig);
544  NvMediaStatus (* ReadParameters)(
545  NvMediaISCDriverHandle *handle,
546  NvMediaISCTransactionHandle *transaction,
547  uint32_t parameterType,
548  uint32_t parameterSize,
549  void *parameter);
552  NvMediaStatus (* WriteParameters)(
553  NvMediaISCDriverHandle *handle,
554  NvMediaISCTransactionHandle *transaction,
555  uint32_t parameterType,
556  uint32_t parameterSize,
557  void *parameter);
561  NvMediaStatus (* ParseEmbeddedData)(
562  NvMediaISCDriverHandle *handle,
563  NvMediaISCTransactionHandle *transaction,
564  uint32_t lineCount,
565  uint32_t *lineLength,
566  uint8_t *lineData[],
567  struct NvMediaISCEmbeddedData *parsedInformation);
569  NvMediaStatus (* GetSensorFrameId)(
570  NvMediaISCDriverHandle *handle,
571  NvMediaISCTransactionHandle *transaction,
572  uint32_t lineCount,
573  uint32_t *lineLength,
574  uint8_t *lineData[],
575  uint32_t *sensorFrameId);
577  NvMediaStatus (* GetTemperature)(
578  NvMediaISCDriverHandle *handle,
579  NvMediaISCTransactionHandle *transaction,
580  float_t *temperature);
582  NvMediaStatus (* SetExposure)(
583  NvMediaISCDriverHandle *handle,
584  NvMediaISCTransactionHandle *transaction,
585  struct NvMediaISCExposureControl *exposureControl);
587  NvMediaStatus (* SetWBGain)(
588  NvMediaISCDriverHandle *handle,
589  NvMediaISCTransactionHandle *transaction,
590  struct NvMediaISCWBGainControl *wbControl);
592  NvMediaStatus (* ReadRegister)(
593  NvMediaISCDriverHandle *handle,
594  NvMediaISCTransactionHandle *transaction,
595  uint32_t deviceIndex,
596  uint32_t registerNum,
597  uint32_t dataLength,
598  uint8_t *dataBuff);
600  NvMediaStatus (* WriteRegister)(
601  NvMediaISCDriverHandle *handle,
602  NvMediaISCTransactionHandle *transaction,
603  uint32_t deviceIndex,
604  uint32_t registerNum,
605  uint32_t dataLength,
606  uint8_t *dataBuff);
608  NvMediaStatus (* DumpRegisters)(
609  NvMediaISCDriverHandle *handle,
610  NvMediaISCTransactionHandle *transaction);
612  NvMediaStatus (* GetErrorStatus)(
613  NvMediaISCDriverHandle *handle,
614  NvMediaISCTransactionHandle *transaction,
615  uint32_t parameterSize,
616  void *parameter);
618  NvMediaStatus (* GetModuleConfig)(
619  NvMediaISCDriverHandle *handle,
620  struct NvMediaISCModuleConfig *moduleConfig);
622  NvMediaStatus (* SetBracketedExposure)(
623  NvMediaISCDriverHandle *handle,
624  NvMediaISCTransactionHandle *transaction,
625  uint32_t numExposureControls,
626  struct NvMediaISCExposureControl *exposureControls);
628  NvMediaStatus (* GetSensorAttr)(
629  NvMediaISCDriverHandle *handle,
631  uint32_t size,
632  void *attribute);
634  NvMediaStatus (* SetCompandingCurve)(
635  NvMediaISCDriverHandle *handle,
636  NvMediaISCTransactionHandle *transaction,
637  uint32_t numPoints,
638  NvMediaPoint *kneePoints);
640  NvMediaStatus (* SetSensorCharAttr)(
641  NvMediaISCDriverHandle *handle,
642  NvMediaISCTransactionHandle *transaction,
644  uint32_t size,
645  void *attribute);
647  NvMediaStatus (* GetSensorCharAttr)(
648  NvMediaISCDriverHandle *handle,
650  uint32_t size,
651  void *attribute);
653 
669 #define NVMEDIA_ISC_TIMEOUT_INFINITE 0xFFFFFFFF
670 
674 typedef struct {
678 
691 NvMediaISCDevice *
693  NvMediaISCRootDevice *rootDevice,
694  uint32_t *deviceAddressList,
695  uint32_t numDevices,
696  NvMediaISCDeviceDriver *deviceDriver,
697  NvMediaISCAdvancedConfig *advancedConfig
698 );
699 
704 void
706  NvMediaISCDevice *device
707 );
708 
722  NvMediaISCDevice *device
723 );
724 
740  NvMediaISCDevice *device,
741  uint32_t instanceNumber,
742  uint32_t link
743 );
744 
758  NvMediaISCDevice *device
759 );
760 
777  NvMediaISCDevice *device,
778  uint32_t enumeratedDeviceConfig
779 );
780 
799  NvMediaISCDevice *device,
800  uint32_t parameterType,
801  uint32_t parameterSize,
802  void *parameter
803 );
804 
823  NvMediaISCDevice *device,
824  uint32_t parameterType,
825  uint32_t parameterSize,
826  void *parameter
827 );
828 
847  NvMediaISCDevice *device,
848  uint32_t lineCount,
849  uint32_t *lineLength,
850  uint8_t *lineData[],
851  struct NvMediaISCEmbeddedData *parsedInformation
852 );
853 
872  NvMediaISCDevice *device,
873  uint32_t lineCount,
874  uint32_t *lineLength,
875  uint8_t *lineData[],
876  uint32_t *sensorFrameId
877 );
878 
893  NvMediaISCDevice *device,
894  float_t *temperature
895 );
896 
901 typedef enum {
911 
917  struct {
918  float_t value;
922  struct {
923  float_t value;
926  uint8_t sensorFrameId;
928 
932 typedef struct NvMediaISCWBGainControl {
935  struct {
936  float_t value[4];
940 
944 typedef struct {
946  uint32_t baseRegAddress;
948  uint32_t size;
950  uint32_t bufferSize;
952  uint8_t *data;
954 
958 typedef struct NvMediaISCEmbeddedData {
968 
983  NvMediaISCDevice *device,
984  NvMediaISCExposureControl *exposureControl
985 );
986 
1002  NvMediaISCDevice *device,
1003  NvMediaISCWBGainControl *wbControl
1004 );
1005 
1024  NvMediaISCDevice *device,
1025  uint32_t deviceIndex,
1026  uint32_t registerAddress,
1027  uint32_t dataByteNumber,
1028  uint8_t *dataBuffer
1029 );
1030 
1049  NvMediaISCDevice *device,
1050  uint32_t deviceIndex,
1051  uint32_t registerAddress,
1052  uint32_t dataByteNumber,
1053  uint8_t *dataBuffer
1054 );
1055 
1069  NvMediaISCDevice *device
1070 );
1071 
1087  NvMediaISCDevice *device,
1088  uint32_t parameterSize,
1089  void *parameter
1090 );
1091 
1108  NvMediaISCRootDevice *device,
1109  int32_t sigNum,
1110  void (*cbFunc)(void *),
1111  void *context
1112 );
1113 
1118 typedef enum {
1130 
1149  NvMediaISCRootDevice *device,
1150  NvMediaISCPowerItems powerItem,
1151  NvMediaBool powerOn
1152 );
1153 
1170  NvMediaISCDevice *device,
1172  uint32_t size,
1173  void *attribute
1174 );
1175 
1180 typedef struct NvMediaISCModuleConfig {
1187 
1202  NvMediaISCDevice *device,
1203  NvMediaISCModuleConfig *moduleConfig
1204 );
1205 
1221  NvMediaISCDevice *device,
1222  uint32_t numExposureControls,
1223  NvMediaISCExposureControl *exposureControls
1224 );
1225 
1241  NvMediaISCDevice *device,
1242  uint32_t numPoints,
1243  NvMediaPoint *kneePoints
1244 );
1245 
1264  NvMediaISCRootDevice *device,
1265  NvMediaISCPowerItems powerItem,
1266  NvMediaBool *powerStatus
1267 );
1268 
1284  NvMediaISCRootDevice *device,
1285  NvMediaBool enable
1286 );
1287 
1301  NvMediaISCRootDevice *device,
1302  float_t freq,
1303  float_t dutyRatio
1304 );
1305 
1320  NvMediaISCRootDevice *device,
1321  float_t *freq,
1322  float_t *dutyRatio
1323 );
1324 
1341  NvMediaISCDevice *device,
1343  uint32_t size,
1344  void *attribute
1345 );
1346 
1347 
1364  NvMediaISCDevice *device,
1366  uint32_t size,
1367  void *attribute
1368 );
1369 
1372 /*
1373  * \defgroup history_isc History
1374  * Provides change history for the NvMedia Image Sensor Control API.
1375  *
1376  * \section history_isc Version History
1377  *
1378  * <b> Version 1.0 </b> April 1, 2014
1379  * - Initial release
1380  *
1381  * <b> Version 1.1 </b> April 3, 2015
1382  * - Add mode in \ref NvMediaISCEmbeddedData
1383  *
1384  * <b> Version 1.2 </b> April 16, 2015
1385  * - Add new port config macro \ref ISC_ROOT_DEVICE_CFG
1386  * - The \a advancedConfig attribute is being used in \ref NvMediaISCDeviceCreate
1387  * - Add new callback function \ref NvMediaISCRootDeviceRegisterCallback to handle device errors
1388  *
1389  * <b> Version 1.3 </b> April 24, 2015
1390  * - Moved the \a regLength and \a dataLength attributes from \ref NvMediaISCAdvancedConfig
1391  * in \ref NvMediaISCDeviceDriver.
1392  * - Add macro \ref ADV_CONFIG_INIT
1393  *
1394  * <b> Version 1.4 </b> April 28, 2015
1395  * - Add hdrRatio in \ref NvMediaISCExposureControl structure
1396  * - Add conversionGain in \ref NvMediaISCEmbeddedData structure
1397  *
1398  * <b> Version 1.5 </b> July 13, 2015
1399  * - Add exposureMidpointTime in \ref NvMediaISCEmbeddedData structure
1400  * - Add NVMEDIA_ISC_I2C_SIMULATOR in \ref NVMEDIA_ISC_I2C_SIMULATOR
1401  * - Add new function \ref NvMediaISCRootDevicePowerControl and \ref NvMediaISCPowerItems
1402  * - Modify the input paramater cbFunc of NvMediaISCRootDeviceRegisterCallback
1403  * - Add function \ref NvMediaISCGetErrorStatus to get error information from device
1404  * - Add \ref NvMediaISCSensorProperties structure
1405  * - Add \ref NvMediaISCGetSensorProperties to get sensor properties
1406  *
1407  * <b> Version 1.6 </b> September 9, 2015
1408  * - Add SensorMode in \ref NvMediaISCExposureControl structure
1409  *
1410  * <b> Version 1.7 </b> September 21, 2015
1411  * - Increase I2C ports to support 12 I2C busses
1412  *
1413  * <b> Version 1.8 </b> December 09, 2015
1414  * - Add channelGainRatio for sensors which only allow same or fixed ratio gain in exposure channels
1415  *
1416  * <b> Version 1.9 </b> January 22, 2016
1417  * - Add NvMediaISCRootDeviceGetPowerStatus function
1418  *
1419  * <b> Version 1.10 </b> May 5, 2016
1420  * - Add NvMediaISCModuleConfig structure and NvMediaISCGetModuleConfig function.
1421  *
1422  * <b> Version 1.11 </b> May 11, 2016
1423  * - Add \ref NvMediaISCCheckVersion API
1424  *
1425  * <b> Version 1.12 </b> June 7, 2016
1426  * - Add NVMEDIA_ISC_SIMULATOR_ADDRESS to use for ISC simulator devices
1427  *
1428  * <b> Version 1.13 </b> June 20, 2016
1429  * - Add frameSequenceNumber in \ref NvMediaISCEmbeddedData
1430  *
1431  * <b> Version 1.14 </b> July 6, 2016
1432  * - Add ISC_ROOT_DEVICE_CFG_EX macro
1433  *
1434  * <b> Version 1.15 </b> July 8, 2016
1435  * - Add \ref NvMediaISCSetBracketedExposure new API for settings bracketed exposure
1436  *
1437  * <b> Version 1.16 </b> Oct 10, 2016
1438  * - Add sensor attribbutes \ref NvMediaISCSensorAttrType & new API \ref NvMediaISCGetSensorAttr
1439  *
1440  * <b> Version 1.17 </b> November 21, 2016
1441  * - Add \ref NvMediaISCRootDeviceEnableSync new API for enabling/disabling PWM
1442  * - Add \ref NvMediaISCRootDeviceSetSyncConfig new API for setting PWM's frequency and duty
1443  * - Add \ref NvMediaISCRootDeviceGetSyncConfig new API for getting PWM's frequency and duty
1444  *
1445  * <b> Version 1.18 </b> Jan 5, 2017
1446  * - Add \ref NvMediaISCSetCompandingCurve API for setting companding curve
1447  *
1448  * <b> Version 1.19 </b> Jan 27, 2017
1449  * - Add \ref Add const modifier to data parameter in NvmediaISCSupportFuntion Write.
1450  *
1451  * <b> Version 2.00 </b> April 19, 2017
1452  * - Deprecated NvMediaISCDeviceType and EnableLink from \ref NvMediaISCDeviceDriver.
1453  * - Updated to use stdint.h
1454  * - Replaced float with float_t
1455  * - Removed unused input param from NvMediaISCRootDeviceCreate
1456  * - Deprecated queueElementsNumber and queueElementSize from \ref NvMediaISCRootDeviceCreate
1457  * - Deprecated unused or not supported APIs as below list.
1458  * NvMediaISCRootDeviceDoTransaction
1459  * NvMediaISCRootDeviceSync
1460  * NvMediaISCUpdateDeviceAddress
1461  * NvMediaISCSetDeviceLinkMode
1462  * NvMediaISCGetLinkStatus
1463  * NvMediaISCSetPriority
1464  * - NvMediaISCGetLinkStatus is replaced by \ref NvMediaISCCheckLink
1465  * - Updated NvMediaISCCheckLink to have one more argument to specify which link
1466  * to enable as optional.
1467  * - Renamed ISC_ROOT_DEVICE_CFG_EX to ISC_SLV_RDEV_CFG
1468  * - Renamed ISC_ROOT_DEVICE_CFG to ISC_RDEV_CFG
1469  * - Deprecated parentDevice, instanceNumber from NvMediaISCDeviceCreate
1470  * - Deprecated NvMediaISCGetSensorProperties, repleaced by \ref NvMediaISCGetSensorAttr
1471  *
1472  * <b> Version 2.1 </b> May 12, 2017
1473  * - Added \ref NvMediaISCGetVersion API to get the version of NvMedia ISC library
1474  * - NvMediaISCCheckVersion is deprecated. Use NvMediaISCGetVersion() instead
1475  *
1476  * <b> Version 2.2 </b> May 23, 2017
1477  * - Deprecated NvMediaISCSensorMode
1478  * - Deprecated mode & exposureMidpointTime from \ref NvMediaISCEmbeddedData
1479  * - Deprecated sensorMode & hdrRatio from \ref NvMediaISCExposureControl
1480  * - Replaced exposure in \ref NvMediaISCEmbeddedData with \ref NvMediaISCExposureControl
1481  * - Replaced wbGains in \ref NvMediaISCEmbeddedData with \ref NvMediaISCWBGainControl
1482  *
1483  * <b> Version 2.3 </b> May 26, 2017
1484  * - Add device list for ISC handle creation
1485  *
1486  * <b> Version 2.4 </b> Feb 26, 2018
1487  * - Add ISC_RDEV_CFG_EX to have an option to disable power control in \ref NvMediaISCRootDeviceCreate
1488  *
1489  * <b> Version 2.5 </b> April 30, 2018
1490  * - Add sensor characterization attributes \ref NvMediaISCSensorCharAttr
1491  * - Add new APIs \ref NvMediaISCSetCharacterizationAttr \ref NvMediaISCGetCharacterizationAttr
1492  *
1493  */
1494 
1497 #ifdef __cplusplus
1498 }; /* extern "C" */
1499 #endif
1500 
1501 #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:510
Holds version information for the NvMedia ISC library.
Definition: nvmedia_isc.h:146
uint32_t baseRegAddress
Holds the the address of the first register.
Definition: nvmedia_isc.h:946
NvMediaVersion libVersion
Library version information.
Definition: nvmedia_isc.h:148
NvMediaStatus NvMediaISCSetExposure(NvMediaISCDevice *device, NvMediaISCExposureControl *exposureControl)
Sets exposure control parameters.
Active number of exposures.
Definition: nvmedia_isc.h:486
NvMediaISCEmbeddedDataBuffer top
Definition: nvmedia_isc.h:959
Holds the embedded data buffer structure.
Definition: nvmedia_isc.h:944
uint32_t size
Holds the data size.
Definition: nvmedia_isc.h:948
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:79
NvMediaISCExposureMode
Exposure mode.
Definition: nvmedia_isc.h:901
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:1185
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:449
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:160
Holds NvMedia Version information.
Definition: nvmedia_core.h:242
NvMediaISCPowerItems
ISC Power control items.
Definition: nvmedia_isc.h:1118
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:1184
Maximum possible HDR ratio value.
Definition: nvmedia_isc.h:473
Fine integration time values in seconds.
Definition: nvmedia_isc.h:467
char cameraModuleCfgName[128]
Holds the camera module name.
Definition: nvmedia_isc.h:1182
Very short exposure mode.
Definition: nvmedia_isc.h:907
uint32_t frameSequenceNumber
Parsed frame counter.
Definition: nvmedia_isc.h:966
Maximum possible exposure time values in seconds.
Definition: nvmedia_isc.h:464
void NvMediaISCDriverHandle
Holds an opaque handle representing an NvMediaISCDevice driver.
Definition: nvmedia_isc.h:127
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:903
NVIDIA Media Interface: Core
void * clientContext
Holds the client context.
Definition: nvmedia_isc.h:676
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:189
uint32_t bufferSize
Holds the buffer size.
Definition: nvmedia_isc.h:950
NvMediaStatus NvMediaISCGetCharacterizationAttr(NvMediaISCDevice *device, NvMediaISCSensorCharAttr type, uint32_t size, void *attribute)
Get sensor characterization attribute.
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:424
void NvMediaISCTransactionHandle
Holds an opaque handle representing a device transaction used by the device driver.
Definition: nvmedia_isc.h:133
NvMediaStatus NvMediaISCSetDefaults(NvMediaISCDevice *device)
Sets defaults for the device.
Unique ID per instance of camera module.
Definition: nvmedia_isc.h:452
Mininum possible gain values.
Definition: nvmedia_isc.h:455
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:952
Holds the ISC Module ISP configuration.
Definition: nvmedia_isc.h:1180
void NvMediaISCDeviceDestroy(NvMediaISCDevice *device)
Destroys an NvMediaISCDevice device.
char * deviceName
Holds the device name.
Definition: nvmedia_isc.h:506
Holds device driver data.
Definition: nvmedia_isc.h:504
NvMediaStatus NvMediaISCSetCharacterizationAttr(NvMediaISCDevice *device, NvMediaISCSensorCharAttr type, uint32_t size, void *attribute)
Set sensor characterization attribute.
struct NvMediaISCEmbeddedData NvMediaISCEmbeddedData
Holds the embedded data structure.
void NvMediaISCDevice
Holds an opaque handle representing a NvMediaISCDevice object.
Definition: nvmedia_isc.h:117
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:195
NvMediaStatus NvMediaISCGetTemperature(NvMediaISCDevice *device, float_t *temperature)
Gets a device temperature.
Holds the description of the target I2C device.
Definition: nvmedia_isc.h:674
Maximum possible gain values.
Definition: nvmedia_isc.h:458
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:1120
Holds the white balance control structure.
Definition: nvmedia_isc.h:932
Gain factor between the exposures.
Definition: nvmedia_isc.h:477
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:964
struct NvMediaISCExposureControl::@46 exposureTime[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
Exposure time for each exposure mode.
Exposure control structure.
Definition: nvmedia_isc.h:915
Single exposure enable flag.
Definition: nvmedia_isc.h:497
Exposure time step values in seconds.
Definition: nvmedia_isc.h:470
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:221
NvMediaISCSensorCharAttr
ISC sensor characterization attributes.
Definition: nvmedia_isc.h:494
NvMediaISCExposureControl exposureControl
Parsed exposure control.
Definition: nvmedia_isc.h:962
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:480
NvMediaISCEmbeddedDataBuffer bottom
Definition: nvmedia_isc.h:960
Holds the embedded data structure.
Definition: nvmedia_isc.h:958
void NvMediaISCRootDevice
An opaque handle for an NvMediaISCRootDevice object.
Definition: nvmedia_isc.h:227
int32_t regLength
Holds the target device offset length in bytes.
Definition: nvmedia_isc.h:508
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:461
NvMediaStatus NvMediaISCGetVersionInfo(NvMediaISCVersionInfo *versionInfo)
Returns the version information for the NvMedia ISC library.
Exposure mode count.
Definition: nvmedia_isc.h:909
NvMediaStatus NvMediaISCSetCompandingCurve(NvMediaISCDevice *device, uint32_t numPoints, NvMediaPoint *kneePoints)
Sets the companding curve control parameters.
Short exposure mode.
Definition: nvmedia_isc.h:905
NvMediaStatus NvMediaISCWriteParameters(NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
Writes device specific parameters.