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_isp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 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_ISP_H
16 #define NVMEDIA_ISP_H
17 
18 #include <stdint.h>
19 
20 #include "nvmedia_core.h"
21 #include "nvmedia_image.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
39 #define NVM_ISP_VERSION_MAJOR 1
40 
42 #define NVM_ISP_VERSION_MINOR 0
43 
47 #define NVM_ISP_MAX_OUTPUTS (3u)
48 
52 #define NVM_ISP_MAX_INPUT_PLANES (3u)
53 
57 #define NVM_ISP_MAX_QUEUED_REQUESTS (32u)
58 
62 #define NVM_ISP_MAX_COLOR_COMPONENT (4u)
63 
67 #define NVM_ISP_RADTF_POINTS (6u)
68 
72 #define NVM_ISP_MAX_LIN_KNEE_POINTS (10u)
73 
78 #define NVM_ISP_LAS_TF_POINTS (9u)
79 
83 #define NVM_ISP_GTM_TF_POINTS (18u)
84 
88 #define NVM_ISP_LTM_SOFT_KEY_WIDTH (8u)
89 
93 #define NVM_ISP_LTM_SOFT_KEY_HEIGHT (8u)
94 
98 #define NVM_ISP_LTM_GAIN_POINTS (9u)
99 
103 #define NVM_ISP_HIST_KNEE_POINTS (8u)
104 
108 #define NVM_ISP_MAX_LAC_ROI (4u)
109 
114 #define NVM_ISP_MAX_LAC_ROI_WINDOWS (32u * 32u)
115 
119 #define NVM_ISP_HIST_BINS (256u)
120 
124 #define NVM_ISP_LTM_HIST_BINS (128u)
125 
129 #define NVM_ISP_LTM_AVG_WINDOWS (8u)
130 
134 typedef struct _NvMediaISP NvMediaISP;
135 
139 typedef struct _NvMediaISPStatsSurface NvMediaISPStatsSurface;
140 
144 typedef struct _NvMediaISPSettings NvMediaISPSettings;
145 
149 typedef enum {
153  NVM_ISP_PIPELINE_X1 = (('X' << 24) | 0x01),
155 
166  NvMediaVersion *version
167 );
168 
180 NvMediaISP *
182  uint32_t instanceId,
183  NvMediaISPPipelineEnum pipelineEnum,
184  uint32_t maxQueuedRequests
185 );
186 
198  NvMediaISP *isp
199 );
200 
212  NvMediaISP *isp
213 );
214 
223  NvMediaISP *isp
224 );
225 
237  NvMediaISPStatsSurface *statsSurface
238 );
239 
251  NvMediaISP *isp,
252  NvMediaISPPipelineEnum pipelineEnum
253 );
254 
266  NvMediaISPSettings *settings
267 );
268 
272 typedef struct {
281  uint32_t numPlanes;
286  uint32_t numKneePoints[NVM_ISP_MAX_INPUT_PLANES];
295 
311  NvMediaISPSettings *settings,
312  uint32_t instance,
313  const NvMediaISPLinearization *controls,
314  size_t size
315 );
316 
320 typedef struct {
332 
349  NvMediaISPSettings *settings,
350  uint32_t instance,
351  const NvMediaISPBlackLevelCorrection *controls,
352  size_t size
353 );
354 
358 typedef struct {
370 
387  NvMediaISPSettings *settings,
388  uint32_t instance,
389  const NvMediaISPWhiteBalanceCorrection *controls,
390  size_t size
391 );
392 
396 typedef enum {
418 
422 typedef struct {
432  float_t scaleFactors[NVM_ISP_MAX_INPUT_PLANES];
438 
454  NvMediaISPSettings *settings,
455  uint32_t instance,
456  const NvMediaISPExposureFusion *controls,
457  size_t size
458 );
459 
463 typedef struct {
473  float_t strength;
482  uint32_t profileNum;
487  float_t sensorGain;
494 
511  NvMediaISPSettings *settings,
512  uint32_t instance,
513  const NvMediaISPBadPixelCorrection *controls,
514  size_t size
515 );
516 
520 typedef struct {
524  float_t x;
528  float_t y;
532  double_t slope;
534 
538 typedef struct {
546  uint32_t horizontalAxis;
550  uint32_t verticalAxis;
555  float_t angle;
557 
561 typedef struct {
583 
587 typedef struct {
596  float_t cct;
601  float_t fallOff;
603 
620  NvMediaISPSettings *settings,
621  uint32_t instance,
622  const NvMediaISPLensShadingCorrection *controls,
623  size_t size
624 );
625 
629 typedef struct {
635  float_t strength;
637 
652  NvMediaISPSettings *settings,
653  uint32_t instance,
654  const NvMediaISPDemosaic *controls,
655  size_t size
656 );
657 
661 typedef struct {
674 
691  NvMediaISPSettings *settings,
692  uint32_t instance,
693  const NvMediaISPLevelAdjSat *controls,
694  size_t size
695 );
696 
700 typedef struct {
710  float_t strength;
719  uint32_t profileNum;
724  float_t sensorGain;
740 
756  NvMediaISPSettings *settings,
757  uint32_t instance,
758  const NvMediaISPNoiseReduction *controls,
759  size_t size
760 );
761 
765 typedef struct {
774  float_t matrix[3][3];
776 
793  NvMediaISPSettings *settings,
794  uint32_t instance,
795  const NvMediaISPColorCorrectionMatrix *controls,
796  size_t size
797 );
798 
802 typedef struct {
815 
831  NvMediaISPSettings *settings,
832  uint32_t instance,
833  const NvMediaISPGlobalToneMap *controls,
834  size_t size
835 );
836 
840 typedef struct {
855  float_t largeScaleContrastGain[NVM_ISP_LTM_GAIN_POINTS];
860  float_t smallScaleContrastGain[NVM_ISP_LTM_GAIN_POINTS];
866  float_t saturation[NVM_ISP_LTM_GAIN_POINTS];
868 
884  NvMediaISPSettings *settings,
885  uint32_t instance,
886  const NvMediaISPLocalToneMap *controls,
887  size_t size
888 );
889 
893 typedef struct {
902  float_t matrix[3][3];
904 
921  NvMediaISPSettings *settings,
922  uint32_t instance,
923  const NvMediaISPColorSpaceConversion *controls,
924  size_t size
925 );
926 
943  NvMediaISPSettings *settings,
944  uint32_t instance,
945  const NvMediaISPColorSpaceConversion *controls,
946  size_t size
947 );
948 
952 typedef struct {
962  float_t saturation;
964 
979  NvMediaISPSettings *settings,
980  uint32_t instance,
981  const NvMediaISPSaturation *controls,
982  size_t size
983 );
984 
988 typedef struct {
998  float_t strength;
1000 
1015  NvMediaISPSettings *settings,
1016  uint32_t instance,
1017  const NvMediaISPSharpness *controls,
1018  size_t size
1019 );
1020 
1024 typedef struct {
1040 
1055  NvMediaISPSettings *settings,
1056  uint32_t instance,
1057  const NvMediaISPDownscale *controls,
1058  size_t size
1059 );
1060 
1064 typedef struct {
1083 } NvMediaISPClip;
1084 
1099  NvMediaISPSettings *settings,
1100  uint32_t instance,
1101  const NvMediaISPClip *controls,
1102  size_t size
1103 );
1104 
1108 typedef struct {
1119 
1134  NvMediaISPSettings *settings,
1135  uint32_t instance,
1136  const NvMediaISPOffset *controls,
1137  size_t size
1138 );
1139 
1143 typedef struct {
1152  float_t digitalGain;
1154 
1170  NvMediaISPSettings *settings,
1171  uint32_t instance,
1172  const NvMediaISPDigitalGain *controls,
1173  size_t size
1174 );
1175 
1179 typedef struct {
1188  float_t offset;
1201  uint8_t ranges[NVM_ISP_HIST_KNEE_POINTS];
1244 
1261  NvMediaISPSettings *settings,
1262  uint32_t instance,
1263  const NvMediaISPHistogramStats *controls,
1264  size_t size
1265 );
1266 
1293 typedef struct {
1297  uint32_t width;
1301  uint32_t height;
1305  uint32_t numWindowsH;
1309  uint32_t numWindowsV;
1325 
1329 typedef struct {
1364  NvMediaBool ellipticalMaskEnable[NVM_ISP_MAX_LAC_ROI];
1379 
1396  NvMediaISPSettings *settings,
1397  uint32_t instance,
1398  const NvMediaISPLocalAvgClipStats *controls,
1399  size_t size
1400 );
1401 
1405 typedef struct {
1422 
1439  NvMediaISPSettings *settings,
1440  uint32_t instance,
1441  const NvMediaISPBadPixelStats *controls,
1442  size_t size
1443 );
1444 
1448 typedef struct {
1484 
1501  NvMediaISPSettings *settings,
1502  uint32_t instance,
1503  const NvMediaISPLocalToneMapStats *controls,
1504  size_t size
1505 );
1506 
1510 typedef struct {
1554 
1568  NvMediaISP *isp,
1569  const NvMediaISPProcessParams *params
1570 );
1571 
1575 typedef struct {
1584  uint32_t excludedCount[NVM_ISP_MAX_COLOR_COMPONENT];
1586 
1601  NvMediaISPStatsSurface *statsSurface,
1602  uint32_t instance,
1603  NvMediaISPHistogramStatsData *statsData
1604 );
1605 
1609 typedef struct {
1613  uint32_t numWindows;
1630 
1634 typedef struct {
1640 
1655  NvMediaISPStatsSurface *statsSurface,
1656  uint32_t instance,
1658 );
1659 
1663 typedef struct {
1667  uint32_t histogram[NVM_ISP_LTM_HIST_BINS];
1683 
1698  NvMediaISPStatsSurface *statsSurface,
1699  uint32_t instance,
1701 );
1702 
1706 typedef struct {
1710  uint32_t highInWin;
1714  uint32_t lowInWin;
1719  uint32_t highMagInWin;
1724  uint32_t lowMagInWin;
1728  uint32_t highOutWin;
1732  uint32_t lowOutWin;
1736  uint32_t highMagOutWin;
1741  uint32_t lowMagOutWin;
1743 
1758  NvMediaISPStatsSurface *statsSurface,
1759  uint32_t instance,
1760  NvMediaISPBadPixelStatsData *statsData
1761 );
1762 
1765 #ifdef __cplusplus
1766 }; /* extern "C" */
1767 #endif
1768 
1769 #endif /* NVMEDIA_ISP_H */
Holds controls for ISP digital gain (DG) block.
Definition: nvmedia_isp.h:1143
NvMediaISPEllipse radialTransform
Defines ellipse for radial transform.
Definition: nvmedia_isp.h:574
Holds a double precision location of a 2-dimensional object.
Definition: nvmedia_core.h:170
NvMediaISPRadialTF radialTF
Holds a radial transfer function.
Definition: nvmedia_isp.h:738
uint32_t lowOutWin
Holds bad pixel count for pixels corrected downwards outside the window.
Definition: nvmedia_isp.h:1732
A handle representing image objects.
Definition: nvmedia_image.h:75
NvMediaStatus NvMediaISPSetBlackLevelCorrection(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPBlackLevelCorrection *controls, size_t size)
Programs black level correction block controls.
uint32_t profileNum
Holds noise profile nunber.
Definition: nvmedia_isp.h:482
uint32_t highOutWin
Holds bad pixel count for pixels corrected upwards outside the window.
Definition: nvmedia_isp.h:1728
uint32_t lowInWin
Holds bad pixel count for pixels corrected downwards within the window.
Definition: nvmedia_isp.h:1714
Holds ISP processing parameters.
Definition: nvmedia_isp.h:1510
NvMediaStatus NvMediaISPSetLocalAvgClipStats(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalAvgClipStats *controls, size_t size)
Programs local average and clip statistics block controls.
Holds controls for ISP sharpness (Sharp) block.
Definition: nvmedia_isp.h:988
float_t x
Defines X coordinate of control point.
Definition: nvmedia_isp.h:524
NvMediaStatus NvMediaISPSetLocalToneMapStats(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalToneMapStats *controls, size_t size)
Programs local tone map statistics block controls.
uint32_t verticalAxis
Defines vertical axis of the ellipse.
Definition: nvmedia_isp.h:550
Holds controls for histogram statistics (HIST Stats).
Definition: nvmedia_isp.h:1179
#define NVM_ISP_MAX_COLOR_COMPONENT
Maximum number of color components.
Definition: nvmedia_isp.h:62
#define NVM_ISP_LAS_TF_POINTS
Number of transfer function control points for level adjusted saturation block.
Definition: nvmedia_isp.h:78
struct _NvMediaISP NvMediaISP
A handle representing ISP object.
Definition: nvmedia_isp.h:134
Specifies blend plane 0 & 1.
Definition: nvmedia_isp.h:412
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:79
NvMediaBool enable
Holds boolean to enable downscale block.
Definition: nvmedia_isp.h:1028
#define NVM_ISP_MAX_LAC_ROI
Maximum number of local average & clip stats block regions of interest.
Definition: nvmedia_isp.h:108
uint32_t height
Defines height of the window in pixels.
Definition: nvmedia_isp.h:1301
NvMediaBool enable
Holds boolean to enable linearization block.
Definition: nvmedia_isp.h:276
NvMediaStatus NvMediaISPSetGlobalToneMap(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPGlobalToneMap *controls, size_t size)
Programs global tone map block controls.
Holds local average & clip statistics block (LAC Stats) data.
Definition: nvmedia_isp.h:1634
NvMediaStatus NvMediaISPProcess(NvMediaISP *isp, const NvMediaISPProcessParams *params)
ISP processing function.
uint32_t highMagOutWin
Holds accumulatd pixel adjustment for pixels corrected upwards outside the window.
Definition: nvmedia_isp.h:1736
NvMediaStatus NvMediaISPSetSaturation(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPSaturation *controls, size_t size)
Programs saturation block controls.
Holds controls for ISP saturation (SAT) block.
Definition: nvmedia_isp.h:952
NvMediaBool enable
Holds boolean to enable local tone map block.
Definition: nvmedia_isp.h:844
Holds bad pixel statistics (BP Stats) data.
Definition: nvmedia_isp.h:1706
NvMediaBool enable
Holds boolean to enable offset block.
Definition: nvmedia_isp.h:1112
float_t saturation
Holds saturation value.
Definition: nvmedia_isp.h:962
NvMediaISPSettings * NvMediaISPSettingsCreate(NvMediaISP *isp, NvMediaISPPipelineEnum pipelineEnum)
Allocates an ISP settings object.
NVIDIA Media Interface: Image Processing
float_t strength
Holds strength of sharpness.
Definition: nvmedia_isp.h:998
#define NVM_ISP_MAX_OUTPUTS
Maximum supported simultaneous outputs.
Definition: nvmedia_isp.h:47
Holds a location on a 2-dimensional object.
Definition: nvmedia_core.h:160
NvMediaBool ellipticalMaskEnable
Holds boolean to enable elliptical mask to exclude pixels outside elliptical area.
Definition: nvmedia_isp.h:1468
NvMediaStatus NvMediaISPGetBadPixelStatsData(NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPBadPixelStatsData *statsData)
Gets the bad pixel statistics data.
Specifies use plane 2.
Definition: nvmedia_isp.h:408
uint32_t lowMagOutWin
Holds accumulatd pixel adjustment for pixels corrected downwards outside the window.
Definition: nvmedia_isp.h:1741
NvMediaBool enable
Holds boolean to enable sharpness block.
Definition: nvmedia_isp.h:992
Holds NvMedia Version information.
Definition: nvmedia_core.h:252
NvMediaStatus NvMediaISPSetSharpness(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPSharpness *controls, size_t size)
Programs sharpness block controls.
NvMediaISPEllipse ellipticalMask
Holds elliptical mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1377
Holds controls for bad pixel statistics (BP Stats).
Definition: nvmedia_isp.h:1405
Holds controls for local average & clip statistics (LAC Stats)
Definition: nvmedia_isp.h:1329
Holds histogram statistics (HIST Stats) data.
Definition: nvmedia_isp.h:1575
uint32_t horizontalInterval
Defines distance between the left edges of one window and a horizontally adjacent window...
Definition: nvmedia_isp.h:1314
NvMediaBool cctBasedLSCEnable
Holds boolean to enable CCT based lens shading correction.
Definition: nvmedia_isp.h:591
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: nvmedia_isp.h:1188
NvMediaStatus NvMediaISPSetLevelAdjSat(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLevelAdjSat *controls, size_t size)
Programs level adjusted saturation block controls.
NvMediaStatus NvMediaISPSetNoiseReduction(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPNoiseReduction *controls, size_t size)
Programs noise reduction block controls.
NvMediaStatus NvMediaISPGetLocalAvgClipStatsData(NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPLocalAvgClipStatsData *statsData)
Gets the local average & clip statistics data.
Holds controls for local tone map statistics (LTM Stats).
Definition: nvmedia_isp.h:1448
#define NVM_ISP_LTM_SOFT_KEY_HEIGHT
Local tone map soft key height.
Definition: nvmedia_isp.h:93
NvMediaBool enable
Holds boolean to enable global tone map block.
Definition: nvmedia_isp.h:806
Defines an ellipse.
Definition: nvmedia_isp.h:538
uint32_t lowMagInWin
Hols accumulatd pixel adjustment for pixels corrected downwards within the window.
Definition: nvmedia_isp.h:1724
float_t sensorGain
Holds gain applied in sensor effecting whole noise profile.
Definition: nvmedia_isp.h:487
NvMediaBool radialTFEnable
Holds boolean to enable radial transform.
Definition: nvmedia_isp.h:733
#define NVM_ISP_LTM_AVG_WINDOWS
Number of averaging windows for local tone map stats block.
Definition: nvmedia_isp.h:129
A handle representing an image group.
NVIDIA Media Interface: Core
float_t cct
Holds color correlated temperature.
Definition: nvmedia_isp.h:596
#define NVM_ISP_LTM_SOFT_KEY_WIDTH
Local tone map soft key width.
Definition: nvmedia_isp.h:88
NvMediaStatus NvMediaISPSetBadPixelCorrection(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPBadPixelCorrection *controls, size_t size)
Programs bad pixel correction block controls.
uint32_t numWindowsH
Defiens number of windows horizontally.
Definition: nvmedia_isp.h:1305
NvMediaISPExposureFusionMode
Defines supported exposure fusion modes.
Definition: nvmedia_isp.h:396
NvMediaRect inputCropRect
Holds cropping rectangle for input image.
Definition: nvmedia_isp.h:1525
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:199
NvMediaISPEllipse ellipticalMask
Holds elliptical mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1482
NvMediaStatus NvMediaISPSetWhiteBalanceCorrection(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPWhiteBalanceCorrection *controls, size_t size)
Programs white balance correction block controls.
NvMediaISPRadialTF radialTF
Holds a radial transfer function for elliptical weight.
Definition: nvmedia_isp.h:1242
#define NVM_ISP_MAX_LAC_ROI_WINDOWS
Maximum number of windows for local average & clip in a region of interest.
Definition: nvmedia_isp.h:114
Defines the windows used in ISP stats calculations.
Definition: nvmedia_isp.h:1293
NvMediaBool enable
Holds boolean to enable level adjusted saturation block.
Definition: nvmedia_isp.h:665
NvMediaBool enable
Holds boolean to enable bad pixel statistics block.
Definition: nvmedia_isp.h:1409
NvMediaStatus NvMediaISPSetDigitalGain(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDigitalGain *controls, size_t size)
Programs digital gain block controls.
NvMediaISPStatsSurface * statsSurface
Holds output statistics surface.
Definition: nvmedia_isp.h:1548
float_t y
Defines Y coordinate of control point.
Definition: nvmedia_isp.h:528
NvMediaStatus NvMediaISPStop(NvMediaISP *isp)
Stops the image processing.
NvMediaStatus NvMediaISPSetOffset(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPOffset *controls, size_t size)
Programs offset block controls.
NvMediaBool enable
Holds boolean to enable local tonemap statistics block.
Definition: nvmedia_isp.h:1452
Specifies use plane 1.
Definition: nvmedia_isp.h:404
NvMediaStatus NvMediaISPGetLocalToneMapStatsData(NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPLocalToneMapStatsData *statsData)
Gets the local tone map statistics data.
NvMediaBool noiseProfileEnable
Holds boolean to enable noise estimation.
Definition: nvmedia_isp.h:477
Holds controls for ISP noise reduction (NR) block.
Definition: nvmedia_isp.h:700
NvMediaISPPipelineEnum
Defines supported ISP pipelines.
Definition: nvmedia_isp.h:149
Holds controls for ISP demosaic (DM) block.
Definition: nvmedia_isp.h:629
NvMediaBool enable
Holds boolean to enable local average & clip statistics block.
Definition: nvmedia_isp.h:1333
#define NVM_ISP_HIST_BINS
Number of bins for histogram.
Definition: nvmedia_isp.h:119
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:146
float_t digitalGain
Holds digital gain value.
Definition: nvmedia_isp.h:1152
NvMediaBool enable
Holds boolean to enable black level correction block.
Definition: nvmedia_isp.h:324
Holds controls for ISP color space conversion (CSC) block.
Definition: nvmedia_isp.h:893
NvMediaPoint center
Defines center of the ellipse.
Definition: nvmedia_isp.h:542
#define NVM_ISP_GTM_TF_POINTS
Number of transfer function control points for global tone map.
Definition: nvmedia_isp.h:83
NvMediaStatus NvMediaISPSetBadPixelStats(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPBadPixelStats *controls, size_t size)
Programs bad pixel statistics block controls.
NvMediaBool noiseProfileEnable
Holds boolean to enable noise estimation.
Definition: nvmedia_isp.h:714
NvMediaBool enable
Holds boolean to enable saturation block.
Definition: nvmedia_isp.h:956
NvMediaStatus NvMediaISPSetColorSpaceConversion(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPColorSpaceConversion *controls, size_t size)
Programs color space conversion block controls.
Xavier ISP pipeline.
Definition: nvmedia_isp.h:153
NvMediaBool ellipticalMaskEnable
Holds boolean to enable mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1217
Holds controls for ISP bad pixel correction (BPC) block.
Definition: nvmedia_isp.h:463
float_t strength
Holds strength of demosaicing.
Definition: nvmedia_isp.h:635
NvMediaBool ellipticalWeightEnable
Holds boolean to enable elliptical weighting of pixels based on spatial location. ...
Definition: nvmedia_isp.h:1237
Specifies use plane 0.
Definition: nvmedia_isp.h:400
uint32_t numPlanes
Holds count of piecewise linear transfer function.
Definition: nvmedia_isp.h:281
NvMediaISPStatsSurface * NvMediaISPStatsSurfaceCreate(NvMediaISP *isp)
Allocates an ISP statistics surface object.
const NvMediaISPSettings * settings
Holds ISP settings.
Definition: nvmedia_isp.h:1552
NvMediaStatus NvMediaISPSetLocalToneMap(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalToneMap *controls, size_t size)
Programs local tone map block controls.
NvMediaBool enable
Holds boolean to enable exposure fusion block.
Definition: nvmedia_isp.h:426
Holds controls for ISP local tone map (LTM) block.
Definition: nvmedia_isp.h:840
NvMediaStatus NvMediaISPSetExposureFusion(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPExposureFusion *controls, size_t size)
Programs exposure fusion block controls.
NvMediaBool enable
Holds boolean to enable bad pixel correction block.
Definition: nvmedia_isp.h:467
NvMediaRect rectangularMask
Holds rectangluar mask for selecting pixels.
Definition: nvmedia_isp.h:1463
NvMediaBool enable
Holds boolean to enable digital gain block.
Definition: nvmedia_isp.h:1147
uint32_t downscaledHeight
Holds image height after downscaling.
Definition: nvmedia_isp.h:1038
NvMediaRect rectangularMask
Holds rectangluar mask for selecting pixels.
Definition: nvmedia_isp.h:1212
#define NVM_ISP_LTM_HIST_BINS
Number of histogram bins for local tone map stats block.
Definition: nvmedia_isp.h:124
#define NVM_ISP_LTM_GAIN_POINTS
Local tone map gain points.
Definition: nvmedia_isp.h:98
Holds controls for ISP lens shading correction (LSC) block.
Definition: nvmedia_isp.h:587
Holds controls for ISP white balance correction (WBC) block.
Definition: nvmedia_isp.h:358
NvMediaStatus NvMediaISPSetDownscale(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDownscale *controls, size_t size)
Programs downscale block controls.
NvMediaPoint startOffset
Defines position of the top-left pixel in the top-left window.
Definition: nvmedia_isp.h:1323
Defines a radial transform.
Definition: nvmedia_isp.h:561
Holds controls for ISP offset (Offset) block.
Definition: nvmedia_isp.h:1108
NvMediaBool enable
Holds boolean to enable white balance correction block.
Definition: nvmedia_isp.h:362
NvMediaBool enable
Holds boolean to enable noise reduction block.
Definition: nvmedia_isp.h:704
float_t angle
Defines angle of the ellipse horizontal axis from x-axis in degrees in clockwise direction.
Definition: nvmedia_isp.h:555
NvMediaRect rectangularMask
Holds rectangluar mask for selecting pixels.
Definition: nvmedia_isp.h:1420
NvMediaBool enable
Holds boolean to enable color correction matrix block.
Definition: nvmedia_isp.h:769
NvMediaStatus NvMediaISPSettingsDestroy(NvMediaISPSettings *settings)
Destroys an ISP settings object.
NvMediaISPEllipse ellipticalMask
Holds elliptical mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1231
Holds local tone map statistics block (LTM Stats) data.
Definition: nvmedia_isp.h:1663
float_t strength
Holds strength of bad pixel correction.
Definition: nvmedia_isp.h:473
float_t fallOff
Holds ratio between corner & center lens shading correction.
Definition: nvmedia_isp.h:601
NvMediaStatus NvMediaISPSetHistogramStats(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPHistogramStats *controls, size_t size)
Programs histogram statistics block controls.
double_t slope
Defines slope of spline curve at control point.
Definition: nvmedia_isp.h:532
uint32_t highInWin
Holds bad pixel count for pixels corrected upwards within the window.
Definition: nvmedia_isp.h:1710
NvMediaStatus NvMediaISPSetDemosaic(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDemosaic *controls, size_t size)
Programs demosaic block controls.
NvMediaStatus NvMediaISPGetHistogramStatsData(NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPHistogramStatsData *statsData)
Gets the histogram statistics data.
NvMediaBool enable
Holds boolean to enable histogram statistics block.
Definition: nvmedia_isp.h:1183
uint32_t numWindows
Holds number of windows in one region of interest.
Definition: nvmedia_isp.h:1613
Holds controls for ISP clip (Clip) block.
Definition: nvmedia_isp.h:1064
NvMediaImageGroup input
Holds input image(s).
Definition: nvmedia_isp.h:1514
uint32_t downscaledWidth
Holds image width after downscaling.
Definition: nvmedia_isp.h:1033
Holds controls for ISP global tone map (GTM) block.
Definition: nvmedia_isp.h:802
float_t sensorGain
Holds gain applied in sensor effecting whole noise profile.
Definition: nvmedia_isp.h:724
NvMediaStatus NvMediaISPSetColorCorrectionMatrix(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPColorCorrectionMatrix *controls, size_t size)
Programs color correction matrix block controls.
#define NVM_ISP_HIST_KNEE_POINTS
Number of histogram knee points.
Definition: nvmedia_isp.h:103
Holds controls for ISP downscale (DS) block.
Definition: nvmedia_isp.h:1024
Holds local average & clip statistics data for a region of interest.
Definition: nvmedia_isp.h:1609
Holds controls for ISP black level correction (BLC) block.
Definition: nvmedia_isp.h:320
uint32_t width
Defines width of the window in pixels.
Definition: nvmedia_isp.h:1297
NvMediaStatus NvMediaISPSetLensShadingCorrection(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLensShadingCorrection *controls, size_t size)
Programs lens shading correction block controls.
NvMediaStatus NvMediaISPSetLinearization(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLinearization *controls, size_t size)
Programs linearizartion block controls.
uint32_t profileNum
Holds noise profile number.
Definition: nvmedia_isp.h:719
float_t strength
Holds strength of noise reduction.
Definition: nvmedia_isp.h:710
#define NVM_ISP_RADTF_POINTS
Number of radial transfer function control points.
Definition: nvmedia_isp.h:67
#define NVM_ISP_MAX_INPUT_PLANES
Maximum number of input planes.
Definition: nvmedia_isp.h:52
NvMediaISP * NvMediaISPCreate(uint32_t instanceId, NvMediaISPPipelineEnum pipelineEnum, uint32_t maxQueuedRequests)
Allocates an Image Signal Processing object.
NvMediaStatus NvMediaISPGetVersion(NvMediaVersion *version)
Gives the version information for the NvMedia ISP library.
NvMediaISPExposureFusionMode fusionMode
Holds exposure fusion mode.
Definition: nvmedia_isp.h:436
NvMediaStatus NvMediaISPStatsSurfaceDestroy(NvMediaISPStatsSurface *statsSurface)
Destroys an ISP statistics surface object.
Holds controls for ISP level adjusted saturation (LAS) block.
Definition: nvmedia_isp.h:661
NvMediaStatus NvMediaISPSetInvColorSpaceConversion(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPColorSpaceConversion *controls, size_t size)
Programs inverse color space conversion block controls.
Holds controls for ISP color correction matrix (CCM) block.
Definition: nvmedia_isp.h:765
uint32_t numWindowsV
Defines number of windows vertically.
Definition: nvmedia_isp.h:1309
Holds controls for ISP exposure fusion (Fusion) block.
Definition: nvmedia_isp.h:422
struct _NvMediaISPStatsSurface NvMediaISPStatsSurface
A handle representing ISP stats surface object.
Definition: nvmedia_isp.h:139
Holds controls for ISP linearization (LIN) block.
Definition: nvmedia_isp.h:272
NvMediaBool enable
Holds boolean to enable clip block.
Definition: nvmedia_isp.h:1068
struct _NvMediaISPSettings NvMediaISPSettings
A handle representing ISP settings object.
Definition: nvmedia_isp.h:144
uint32_t highMagInWin
Holds accumulatd pixel adjustment for pixels corrected upwards within the window. ...
Definition: nvmedia_isp.h:1719
Specifies blend all planes.
Definition: nvmedia_isp.h:416
uint32_t verticalInterval
Defines distance between the top edges of one window and a vertically adjacent window.
Definition: nvmedia_isp.h:1319
uint32_t horizontalAxis
Defines horizontal axis of the ellipse.
Definition: nvmedia_isp.h:546
Defines spline control point.
Definition: nvmedia_isp.h:520
NvMediaStatus NvMediaISPDestroy(NvMediaISP *isp)
Destroys an Image Signal Processing object.
NvMediaStatus NvMediaISPSetClip(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPClip *controls, size_t size)
Programs clip block controls.
NvMediaBool enable
Holds boolean to enable color space conversion block.
Definition: nvmedia_isp.h:897
#define NVM_ISP_MAX_LIN_KNEE_POINTS
Maximum number of linearization knee points.
Definition: nvmedia_isp.h:72