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
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 
265 NvMediaISCRootDevice *
267  uint32_t portCfg
268 );
269 
275 void
277  NvMediaISCRootDevice *device
278 );
279 
445 typedef struct {
447  NvMediaStatus (* Read)(
448  NvMediaISCTransactionHandle *transaction,
449  uint32_t deviceIndex,
450  uint32_t regLength,
451  uint8_t *regData,
452  uint32_t dataLength,
453  uint8_t *data);
455  NvMediaStatus (* Write)(
456  NvMediaISCTransactionHandle *transaction,
457  uint32_t deviceIndex,
458  uint32_t dataLength,
459  const uint8_t *data);
461  NvMediaStatus (* Wait)(
462  NvMediaISCTransactionHandle *transaction,
463  uint32_t microSecond);
465 
470 typedef enum {
509 
510 
515 typedef enum {
520 
521 
525 typedef struct {
527  char *deviceName;
529  int32_t regLength;
531  int32_t dataLength;
533  NvMediaStatus (* DriverCreate)(
534  NvMediaISCDriverHandle **handle,
535  NvMediaISCSupportFunctions *supportFunctions,
536  void *clientContext);
538  NvMediaStatus (* DriverDestroy)(
539  NvMediaISCDriverHandle *handle);
541  NvMediaStatus (* CheckPresence)(
542  NvMediaISCDriverHandle *handle,
543  NvMediaISCTransactionHandle *transaction);
548  NvMediaStatus (* CheckLink)(
549  NvMediaISCDriverHandle *handle,
550  NvMediaISCTransactionHandle *transaction,
551  uint32_t linkIndex,
552  uint32_t linkType);
554  NvMediaStatus (* SetDefaults)(
555  NvMediaISCDriverHandle *handle,
556  NvMediaISCTransactionHandle *transaction);
559  NvMediaStatus (* SetDeviceConfig)(
560  NvMediaISCDriverHandle *handle,
561  NvMediaISCTransactionHandle *transaction,
562  uint32_t enumeratedDeviceConfig);
565  NvMediaStatus (* ReadParameters)(
566  NvMediaISCDriverHandle *handle,
567  NvMediaISCTransactionHandle *transaction,
568  uint32_t parameterType,
569  uint32_t parameterSize,
570  void *parameter);
573  NvMediaStatus (* WriteParameters)(
574  NvMediaISCDriverHandle *handle,
575  NvMediaISCTransactionHandle *transaction,
576  uint32_t parameterType,
577  uint32_t parameterSize,
578  void *parameter);
582  NvMediaStatus (* ParseEmbeddedData)(
583  NvMediaISCDriverHandle *handle,
584  NvMediaISCTransactionHandle *transaction,
585  uint32_t lineCount,
586  uint32_t *lineLength,
587  uint8_t *lineData[],
588  struct NvMediaISCEmbeddedData *parsedInformation);
590  NvMediaStatus (* GetSensorFrameId)(
591  NvMediaISCDriverHandle *handle,
592  NvMediaISCTransactionHandle *transaction,
593  uint32_t lineCount,
594  uint32_t *lineLength,
595  uint8_t *lineData[],
596  uint32_t *sensorFrameId);
598  NvMediaStatus (* GetTemperature)(
599  NvMediaISCDriverHandle *handle,
600  NvMediaISCTransactionHandle *transaction,
601  float_t *temperature);
603  NvMediaStatus (* SetExposure)(
604  NvMediaISCDriverHandle *handle,
605  NvMediaISCTransactionHandle *transaction,
606  struct NvMediaISCExposureControl *exposureControl);
608  NvMediaStatus (* SetWBGain)(
609  NvMediaISCDriverHandle *handle,
610  NvMediaISCTransactionHandle *transaction,
611  struct NvMediaISCWBGainControl *wbControl);
613  NvMediaStatus (* ReadRegister)(
614  NvMediaISCDriverHandle *handle,
615  NvMediaISCTransactionHandle *transaction,
616  uint32_t deviceIndex,
617  uint32_t registerNum,
618  uint32_t dataLength,
619  uint8_t *dataBuff);
621  NvMediaStatus (* WriteRegister)(
622  NvMediaISCDriverHandle *handle,
623  NvMediaISCTransactionHandle *transaction,
624  uint32_t deviceIndex,
625  uint32_t registerNum,
626  uint32_t dataLength,
627  uint8_t *dataBuff);
629  NvMediaStatus (* DumpRegisters)(
630  NvMediaISCDriverHandle *handle,
631  NvMediaISCTransactionHandle *transaction);
633  NvMediaStatus (* GetErrorStatus)(
634  NvMediaISCDriverHandle *handle,
635  NvMediaISCTransactionHandle *transaction,
636  uint32_t parameterSize,
637  void *parameter);
639  NvMediaStatus (* GetModuleConfig)(
640  NvMediaISCDriverHandle *handle,
641  struct NvMediaISCModuleConfig *moduleConfig);
643  NvMediaStatus (* SetBracketedExposure)(
644  NvMediaISCDriverHandle *handle,
645  NvMediaISCTransactionHandle *transaction,
646  uint32_t numExposureControls,
647  struct NvMediaISCExposureControl *exposureControls);
649  NvMediaStatus (* GetSensorAttr)(
650  NvMediaISCDriverHandle *handle,
652  uint32_t size,
653  void *attribute);
655  NvMediaStatus (* SetCompandingCurve)(
656  NvMediaISCDriverHandle *handle,
657  NvMediaISCTransactionHandle *transaction,
658  uint32_t numPoints,
659  NvMediaPoint *kneePoints);
661  NvMediaStatus (* SetSensorCharAttr)(
662  NvMediaISCDriverHandle *handle,
663  NvMediaISCTransactionHandle *transaction,
665  uint32_t size,
666  void *attribute);
668  NvMediaStatus (* GetSensorCharAttr)(
669  NvMediaISCDriverHandle *handle,
671  uint32_t size,
672  void *attribute);
674 
690 #define NVMEDIA_ISC_TIMEOUT_INFINITE 0xFFFFFFFF
691 
695 typedef struct {
699 
712 NvMediaISCDevice *
714  NvMediaISCRootDevice *rootDevice,
715  uint32_t *deviceAddressList,
716  uint32_t numDevices,
717  NvMediaISCDeviceDriver *deviceDriver,
718  NvMediaISCAdvancedConfig *advancedConfig
719 );
720 
725 void
727  NvMediaISCDevice *device
728 );
729 
743  NvMediaISCDevice *device
744 );
745 
761  NvMediaISCDevice *device,
762  uint32_t instanceNumber,
763  uint32_t link
764 );
765 
779  NvMediaISCDevice *device
780 );
781 
798  NvMediaISCDevice *device,
799  uint32_t enumeratedDeviceConfig
800 );
801 
820  NvMediaISCDevice *device,
821  uint32_t parameterType,
822  uint32_t parameterSize,
823  void *parameter
824 );
825 
844  NvMediaISCDevice *device,
845  uint32_t parameterType,
846  uint32_t parameterSize,
847  void *parameter
848 );
849 
868  NvMediaISCDevice *device,
869  uint32_t lineCount,
870  uint32_t *lineLength,
871  uint8_t *lineData[],
872  struct NvMediaISCEmbeddedData *parsedInformation
873 );
874 
893  NvMediaISCDevice *device,
894  uint32_t lineCount,
895  uint32_t *lineLength,
896  uint8_t *lineData[],
897  uint32_t *sensorFrameId
898 );
899 
914  NvMediaISCDevice *device,
915  float_t *temperature
916 );
917 
922 typedef enum {
932 
938  struct {
939  float_t value;
943  struct {
944  float_t value;
947  uint8_t sensorFrameId;
949 
953 typedef struct NvMediaISCWBGainControl {
956  struct {
957  float_t value[4];
961 
965 typedef struct {
967  uint32_t baseRegAddress;
969  uint32_t size;
971  uint32_t bufferSize;
973  uint8_t *data;
975 
979 typedef struct NvMediaISCEmbeddedData {
989 
1004  NvMediaISCDevice *device,
1005  NvMediaISCExposureControl *exposureControl
1006 );
1007 
1023  NvMediaISCDevice *device,
1024  NvMediaISCWBGainControl *wbControl
1025 );
1026 
1045  NvMediaISCDevice *device,
1046  uint32_t deviceIndex,
1047  uint32_t registerAddress,
1048  uint32_t dataByteNumber,
1049  uint8_t *dataBuffer
1050 );
1051 
1070  NvMediaISCDevice *device,
1071  uint32_t deviceIndex,
1072  uint32_t registerAddress,
1073  uint32_t dataByteNumber,
1074  uint8_t *dataBuffer
1075 );
1076 
1090  NvMediaISCDevice *device
1091 );
1092 
1108  NvMediaISCDevice *device,
1109  uint32_t parameterSize,
1110  void *parameter
1111 );
1112 
1129  NvMediaISCRootDevice *device,
1130  int32_t sigNum,
1131  void (*cbFunc)(void *),
1132  void *context
1133 );
1134 
1139 typedef enum {
1151 
1170  NvMediaISCRootDevice *device,
1171  NvMediaISCPowerItems powerItem,
1172  NvMediaBool powerOn
1173 );
1174 
1191  NvMediaISCDevice *device,
1193  uint32_t size,
1194  void *attribute
1195 );
1196 
1201 typedef struct NvMediaISCModuleConfig {
1208 
1223  NvMediaISCDevice *device,
1224  NvMediaISCModuleConfig *moduleConfig
1225 );
1226 
1242  NvMediaISCDevice *device,
1243  uint32_t numExposureControls,
1244  NvMediaISCExposureControl *exposureControls
1245 );
1246 
1262  NvMediaISCDevice *device,
1263  uint32_t numPoints,
1264  NvMediaPoint *kneePoints
1265 );
1266 
1285  NvMediaISCRootDevice *device,
1286  NvMediaISCPowerItems powerItem,
1287  NvMediaBool *powerStatus
1288 );
1289 
1306  NvMediaISCRootDevice *device,
1307  NvMediaBool enable
1308 );
1309 
1323  NvMediaISCRootDevice *device,
1324  float_t freq,
1325  float_t dutyRatio
1326 );
1327 
1342  NvMediaISCRootDevice *device,
1343  float_t *freq,
1344  float_t *dutyRatio
1345 );
1346 
1363  NvMediaISCDevice *device,
1365  uint32_t size,
1366  void *attribute
1367 );
1368 
1369 
1386  NvMediaISCDevice *device,
1388  uint32_t size,
1389  void *attribute
1390 );
1391 
1394 /*
1395  * \defgroup history_isc History
1396  * Provides change history for the NvMedia Image Sensor Control API.
1397  *
1398  * \section history_isc Version History
1399  *
1400  * <b> Version 1.0 </b> April 1, 2014
1401  * - Initial release
1402  *
1403  * <b> Version 1.1 </b> April 3, 2015
1404  * - Add mode in \ref NvMediaISCEmbeddedData
1405  *
1406  * <b> Version 1.2 </b> April 16, 2015
1407  * - Add new port config macro \ref ISC_ROOT_DEVICE_CFG
1408  * - The \a advancedConfig attribute is being used in \ref NvMediaISCDeviceCreate
1409  * - Add new callback function \ref NvMediaISCRootDeviceRegisterCallback to handle device errors
1410  *
1411  * <b> Version 1.3 </b> April 24, 2015
1412  * - Moved the \a regLength and \a dataLength attributes from \ref NvMediaISCAdvancedConfig
1413  * in \ref NvMediaISCDeviceDriver.
1414  * - Add macro \ref ADV_CONFIG_INIT
1415  *
1416  * <b> Version 1.4 </b> April 28, 2015
1417  * - Add hdrRatio in \ref NvMediaISCExposureControl structure
1418  * - Add conversionGain in \ref NvMediaISCEmbeddedData structure
1419  *
1420  * <b> Version 1.5 </b> July 13, 2015
1421  * - Add exposureMidpointTime in \ref NvMediaISCEmbeddedData structure
1422  * - Add NVMEDIA_ISC_I2C_SIMULATOR in \ref NVMEDIA_ISC_I2C_SIMULATOR
1423  * - Add new function \ref NvMediaISCRootDevicePowerControl and \ref NvMediaISCPowerItems
1424  * - Modify the input paramater cbFunc of NvMediaISCRootDeviceRegisterCallback
1425  * - Add function \ref NvMediaISCGetErrorStatus to get error information from device
1426  * - Add \ref NvMediaISCSensorProperties structure
1427  * - Add \ref NvMediaISCGetSensorProperties to get sensor properties
1428  *
1429  * <b> Version 1.6 </b> September 9, 2015
1430  * - Add SensorMode in \ref NvMediaISCExposureControl structure
1431  *
1432  * <b> Version 1.7 </b> September 21, 2015
1433  * - Increase I2C ports to support 12 I2C busses
1434  *
1435  * <b> Version 1.8 </b> December 09, 2015
1436  * - Add channelGainRatio for sensors which only allow same or fixed ratio gain in exposure channels
1437  *
1438  * <b> Version 1.9 </b> January 22, 2016
1439  * - Add NvMediaISCRootDeviceGetPowerStatus function
1440  *
1441  * <b> Version 1.10 </b> May 5, 2016
1442  * - Add NvMediaISCModuleConfig structure and NvMediaISCGetModuleConfig function.
1443  *
1444  * <b> Version 1.11 </b> May 11, 2016
1445  * - Add \ref NvMediaISCCheckVersion API
1446  *
1447  * <b> Version 1.12 </b> June 7, 2016
1448  * - Add NVMEDIA_ISC_SIMULATOR_ADDRESS to use for ISC simulator devices
1449  *
1450  * <b> Version 1.13 </b> June 20, 2016
1451  * - Add frameSequenceNumber in \ref NvMediaISCEmbeddedData
1452  *
1453  * <b> Version 1.14 </b> July 6, 2016
1454  * - Add ISC_ROOT_DEVICE_CFG_EX macro
1455  *
1456  * <b> Version 1.15 </b> July 8, 2016
1457  * - Add \ref NvMediaISCSetBracketedExposure new API for settings bracketed exposure
1458  *
1459  * <b> Version 1.16 </b> Oct 10, 2016
1460  * - Add sensor attribbutes \ref NvMediaISCSensorAttrType & new API \ref NvMediaISCGetSensorAttr
1461  *
1462  * <b> Version 1.17 </b> November 21, 2016
1463  * - Add \ref NvMediaISCRootDeviceEnableSync new API for enabling/disabling PWM
1464  * - Add \ref NvMediaISCRootDeviceSetSyncConfig new API for setting PWM's frequency and duty
1465  * - Add \ref NvMediaISCRootDeviceGetSyncConfig new API for getting PWM's frequency and duty
1466  *
1467  * <b> Version 1.18 </b> Jan 5, 2017
1468  * - Add \ref NvMediaISCSetCompandingCurve API for setting companding curve
1469  *
1470  * <b> Version 1.19 </b> Jan 27, 2017
1471  * - Add \ref Add const modifier to data parameter in NvmediaISCSupportFuntion Write.
1472  *
1473  * <b> Version 2.00 </b> April 19, 2017
1474  * - Deprecated NvMediaISCDeviceType and EnableLink from \ref NvMediaISCDeviceDriver.
1475  * - Updated to use stdint.h
1476  * - Replaced float with float_t
1477  * - Removed unused input param from NvMediaISCRootDeviceCreate
1478  * - Deprecated queueElementsNumber and queueElementSize from \ref NvMediaISCRootDeviceCreate
1479  * - Deprecated unused or not supported APIs as below list.
1480  * NvMediaISCRootDeviceDoTransaction
1481  * NvMediaISCRootDeviceSync
1482  * NvMediaISCUpdateDeviceAddress
1483  * NvMediaISCSetDeviceLinkMode
1484  * NvMediaISCGetLinkStatus
1485  * NvMediaISCSetPriority
1486  * - NvMediaISCGetLinkStatus is replaced by \ref NvMediaISCCheckLink
1487  * - Updated NvMediaISCCheckLink to have one more argument to specify which link
1488  * to enable as optional.
1489  * - Renamed ISC_ROOT_DEVICE_CFG_EX to ISC_SLV_RDEV_CFG
1490  * - Renamed ISC_ROOT_DEVICE_CFG to ISC_RDEV_CFG
1491  * - Deprecated parentDevice, instanceNumber from NvMediaISCDeviceCreate
1492  * - Deprecated NvMediaISCGetSensorProperties, repleaced by \ref NvMediaISCGetSensorAttr
1493  *
1494  * <b> Version 2.1 </b> May 12, 2017
1495  * - Added \ref NvMediaISCGetVersion API to get the version of NvMedia ISC library
1496  * - NvMediaISCCheckVersion is deprecated. Use NvMediaISCGetVersion() instead
1497  *
1498  * <b> Version 2.2 </b> May 23, 2017
1499  * - Deprecated NvMediaISCSensorMode
1500  * - Deprecated mode & exposureMidpointTime from \ref NvMediaISCEmbeddedData
1501  * - Deprecated sensorMode & hdrRatio from \ref NvMediaISCExposureControl
1502  * - Replaced exposure in \ref NvMediaISCEmbeddedData with \ref NvMediaISCExposureControl
1503  * - Replaced wbGains in \ref NvMediaISCEmbeddedData with \ref NvMediaISCWBGainControl
1504  *
1505  * <b> Version 2.3 </b> May 26, 2017
1506  * - Add device list for ISC handle creation
1507  *
1508  * <b> Version 2.4 </b> Feb 26, 2018
1509  * - Add ISC_RDEV_CFG_EX to have an option to disable power control in \ref NvMediaISCRootDeviceCreate
1510  *
1511  * <b> Version 2.5 </b> April 30, 2018
1512  * - Add sensor characterization attributes \ref NvMediaISCSensorCharAttr
1513  * - Add new APIs \ref NvMediaISCSetCharacterizationAttr \ref NvMediaISCGetCharacterizationAttr
1514  *
1515  */
1516 
1519 #ifdef __cplusplus
1520 }; /* extern "C" */
1521 #endif
1522 
1523 #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:531
Holds version information for the NvMedia ISC library.
Definition: nvmedia_isc.h:146
uint32_t baseRegAddress
Holds the address of the first register.
Definition: nvmedia_isc.h:967
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:507
NvMediaISCEmbeddedDataBuffer top
Definition: nvmedia_isc.h:980
Holds the embedded data buffer structure.
Definition: nvmedia_isc.h:965
uint32_t size
Holds the data size.
Definition: nvmedia_isc.h:969
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:79
NvMediaISCExposureMode
Exposure mode.
Definition: nvmedia_isc.h:922
NvMediaStatus NvMediaISCGetModuleConfig(NvMediaISCDevice *device, NvMediaISCModuleConfig *moduleConfig)
Gets the Module ISP configuration.
NvMediaStatus NvMediaISCReadParameters(NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
Reads device specific parameters.
const char * cameraModuleConfigPass2
Definition: nvmedia_isc.h:1206
NvMediaStatus NvMediaISCRootDeviceSetSyncConfig(NvMediaISCRootDevice *device, float_t freq, float_t dutyRatio)
Sets the pulse width modulation (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:470
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:252
NvMediaISCPowerItems
ISC Power control items.
Definition: nvmedia_isc.h:1139
NvMediaStatus NvMediaISCRootDeviceGetSyncConfig(NvMediaISCRootDevice *device, float_t *freq, float_t *dutyRatio)
Gets the pulse width modulation (PWM) frequency and duty.
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:1205
Maximum possible HDR ratio value.
Definition: nvmedia_isc.h:494
Fine integration time values in seconds.
Definition: nvmedia_isc.h:488
char cameraModuleCfgName[128]
Holds the camera module name.
Definition: nvmedia_isc.h:1203
Very short exposure mode.
Definition: nvmedia_isc.h:928
uint32_t frameSequenceNumber
Parsed frame counter.
Definition: nvmedia_isc.h:987
Maximum possible exposure time values in seconds.
Definition: nvmedia_isc.h:485
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:924
NVIDIA Media Interface: Core
void * clientContext
Holds the client context.
Definition: nvmedia_isc.h:697
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:199
uint32_t bufferSize
Holds the buffer size.
Definition: nvmedia_isc.h:971
NvMediaStatus NvMediaISCGetCharacterizationAttr(NvMediaISCDevice *device, NvMediaISCSensorCharAttr type, uint32_t size, void *attribute)
Get sensor characterization attribute.
NVIDIA Media Interface: Image Capture Processing
struct NvMediaISCExposureControl::@55 sensorGain[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
Sensor gain for each exposure mode.
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:445
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:473
Minimum possible gain values.
Definition: nvmedia_isc.h:476
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 actual data.
Definition: nvmedia_isc.h:973
Holds the ISC Module ISP configuration.
Definition: nvmedia_isc.h:1201
void NvMediaISCDeviceDestroy(NvMediaISCDevice *device)
Destroys an NvMediaISCDevice device.
char * deviceName
Holds the device name.
Definition: nvmedia_isc.h:527
Holds device driver data.
Definition: nvmedia_isc.h:525
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
struct NvMediaISCExposureControl::@54 exposureTime[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
Exposure time for each exposure mode.
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:695
Maximum possible gain values.
Definition: nvmedia_isc.h:479
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:1141
Holds the white balance control structure.
Definition: nvmedia_isc.h:953
Gain factor between the exposures.
Definition: nvmedia_isc.h:498
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:985
Exposure control structure.
Definition: nvmedia_isc.h:936
Single exposure enable flag.
Definition: nvmedia_isc.h:518
Exposure time step values in seconds.
Definition: nvmedia_isc.h:491
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:515
NvMediaISCExposureControl exposureControl
Parsed exposure control.
Definition: nvmedia_isc.h:983
NvMediaStatus NvMediaISCRootDeviceEnableSync(NvMediaISCRootDevice *device, NvMediaBool enable)
Enables or disables pulse width modulation (PWM) for the external synchronization.
Quantum efficiency ratio in split pixel HDR sensor technology.
Definition: nvmedia_isc.h:501
NvMediaISCEmbeddedDataBuffer bottom
Definition: nvmedia_isc.h:981
Holds the embedded data structure.
Definition: nvmedia_isc.h:979
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:529
NvMediaStatus NvMediaISCGetSensorAttr(NvMediaISCDevice *device, NvMediaISCSensorAttrType type, uint32_t size, void *attribute)
Get sensor attribute.
struct NvMediaISCWBGainControl::@56 wbGain[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
White balance for each exposure mode in R Gr Gb B order.
NvMediaStatus NvMediaISCSetWBGain(NvMediaISCDevice *device, NvMediaISCWBGainControl *wbControl)
Sets white balance control parameters.
Minimum possible exposure time values in seconds.
Definition: nvmedia_isc.h:482
NvMediaStatus NvMediaISCGetVersionInfo(NvMediaISCVersionInfo *versionInfo)
Returns the version information for the NvMedia ISC library.
Exposure mode count.
Definition: nvmedia_isc.h:930
NvMediaStatus NvMediaISCSetCompandingCurve(NvMediaISCDevice *device, uint32_t numPoints, NvMediaPoint *kneePoints)
Sets the companding curve control parameters.
Short exposure mode.
Definition: nvmedia_isc.h:926
NvMediaStatus NvMediaISCWriteParameters(NvMediaISCDevice *device, uint32_t parameterType, uint32_t parameterSize, void *parameter)
Writes device specific parameters.