NVIDIA DRIVE OS Linux API Reference

5.1.3.0 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 3
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 
135 #define NVM_ISP_MAX_FB_BANDS (256U)
136 
140 typedef struct _NvMediaISP NvMediaISP;
141 
145 typedef struct _NvMediaISPStatsSurface NvMediaISPStatsSurface;
146 
150 typedef struct _NvMediaISPSettings NvMediaISPSettings;
151 
155 typedef enum {
159  NVM_ISP_PIPELINE_X1 = (('X' << 24) | 0x01),
161 
172  NvMediaVersion *version
173 );
174 
186 NvMediaISP *
188  uint32_t instanceId,
189  NvMediaISPPipelineEnum pipelineEnum,
190  uint32_t maxQueuedRequests
191 );
192 
204  NvMediaISP *isp
205 );
206 
218  NvMediaISP *isp
219 );
220 
229  NvMediaISP *isp
230 );
231 
243  NvMediaISPStatsSurface *statsSurface
244 );
245 
257  NvMediaISP *isp,
258  NvMediaISPPipelineEnum pipelineEnum
259 );
260 
275  NvMediaISPSettings* settings,
276  const char* configFilePath
277 );
289  NvMediaISPSettings *settings
290 );
291 
295 typedef struct {
304  uint32_t numPlanes;
309  uint32_t numKneePoints[NVM_ISP_MAX_INPUT_PLANES];
319 
335  NvMediaISPSettings *settings,
336  uint32_t instance,
337  const NvMediaISPLinearization *controls,
338  size_t size
339 );
340 
344 typedef struct {
356 
373  NvMediaISPSettings *settings,
374  uint32_t instance,
375  const NvMediaISPBlackLevelCorrection *controls,
376  size_t size
377 );
378 
382 typedef struct {
394 
411  NvMediaISPSettings *settings,
412  uint32_t instance,
413  const NvMediaISPWhiteBalanceCorrection *controls,
414  size_t size
415 );
416 
420 typedef enum {
442 
446 typedef struct {
456  float_t scaleFactors[NVM_ISP_MAX_INPUT_PLANES];
462 
478  NvMediaISPSettings *settings,
479  uint32_t instance,
480  const NvMediaISPExposureFusion *controls,
481  size_t size
482 );
483 
487 typedef struct {
497  float_t strength;
507  uint32_t profileNum;
512  float_t gain;
514 
531  NvMediaISPSettings *settings,
532  uint32_t instance,
533  const NvMediaISPBadPixelCorrection *controls,
534  size_t size
535 );
536 
540 typedef struct {
544  float_t x;
548  float_t y;
552  double_t slope;
554 
558 typedef struct {
566  uint32_t horizontalAxis;
570  uint32_t verticalAxis;
575  float_t angle;
577 
581 typedef struct {
603 
607 typedef struct {
616  float_t cct;
621  float_t fallOff;
623 
640  NvMediaISPSettings *settings,
641  uint32_t instance,
642  const NvMediaISPLensShadingCorrection *controls,
643  size_t size
644 );
645 
649 typedef struct {
655  float_t strength;
657 
672  NvMediaISPSettings *settings,
673  uint32_t instance,
674  const NvMediaISPDemosaic *controls,
675  size_t size
676 );
677 
681 typedef struct {
694 
711  NvMediaISPSettings *settings,
712  uint32_t instance,
713  const NvMediaISPLevelAdjSat *controls,
714  size_t size
715 );
716 
720 typedef struct {
730  float_t strength;
740  uint32_t profileNum;
745  float_t gain;
761 
777  NvMediaISPSettings *settings,
778  uint32_t instance,
779  const NvMediaISPNoiseReduction *controls,
780  size_t size
781 );
782 
786 typedef struct {
795  float_t matrix[3][3];
797 
814  NvMediaISPSettings *settings,
815  uint32_t instance,
816  const NvMediaISPColorCorrectionMatrix *controls,
817  size_t size
818 );
819 
823 typedef struct {
836 
852  NvMediaISPSettings *settings,
853  uint32_t instance,
854  const NvMediaISPGlobalToneMap *controls,
855  size_t size
856 );
857 
861 typedef struct {
871  float_t strength;
877  float_t saturation[NVM_ISP_LTM_GAIN_POINTS];
885 
901  NvMediaISPSettings *settings,
902  uint32_t instance,
903  const NvMediaISPLocalToneMap *controls,
904  size_t size
905 );
906 
910 typedef struct {
919  float_t matrix[3][3];
921 
938  NvMediaISPSettings *settings,
939  uint32_t instance,
940  const NvMediaISPColorSpaceConversion *controls,
941  size_t size
942 );
943 
960  NvMediaISPSettings *settings,
961  uint32_t instance,
962  const NvMediaISPColorSpaceConversion *controls,
963  size_t size
964 );
965 
969 typedef struct {
979  float_t saturation;
981 
996  NvMediaISPSettings *settings,
997  uint32_t instance,
998  const NvMediaISPSaturation *controls,
999  size_t size
1000 );
1001 
1005 typedef struct {
1015  float_t strength;
1017 
1032  NvMediaISPSettings *settings,
1033  uint32_t instance,
1034  const NvMediaISPSharpness *controls,
1035  size_t size
1036 );
1037 
1041 typedef struct {
1057 
1072  NvMediaISPSettings *settings,
1073  uint32_t instance,
1074  const NvMediaISPDownscale *controls,
1075  size_t size
1076 );
1077 
1081 typedef struct {
1100 } NvMediaISPClip;
1101 
1116  NvMediaISPSettings *settings,
1117  uint32_t instance,
1118  const NvMediaISPClip *controls,
1119  size_t size
1120 );
1121 
1125 typedef struct {
1136 
1151  NvMediaISPSettings *settings,
1152  uint32_t instance,
1153  const NvMediaISPOffset *controls,
1154  size_t size
1155 );
1156 
1160 typedef struct {
1169  float_t digitalGain;
1171 
1187  NvMediaISPSettings *settings,
1188  uint32_t instance,
1189  const NvMediaISPDigitalGain *controls,
1190  size_t size
1191 );
1192 
1196 typedef struct {
1205  float_t offset;
1218  uint8_t ranges[NVM_ISP_HIST_KNEE_POINTS];
1261 
1278  NvMediaISPSettings *settings,
1279  uint32_t instance,
1280  const NvMediaISPHistogramStats *controls,
1281  size_t size
1282 );
1283 
1310 typedef struct {
1314  uint32_t width;
1318  uint32_t height;
1322  uint32_t numWindowsH;
1326  uint32_t numWindowsV;
1342 
1346 typedef struct {
1381  NvMediaBool ellipticalMaskEnable[NVM_ISP_MAX_LAC_ROI];
1396 
1413  NvMediaISPSettings *settings,
1414  uint32_t instance,
1415  const NvMediaISPLocalAvgClipStats *controls,
1416  size_t size
1417 );
1418 
1422 typedef struct {
1442 
1459  NvMediaISPSettings *settings,
1460  uint32_t instance,
1461  const NvMediaISPBadPixelStats *controls,
1462  size_t size
1463 );
1464 
1468 typedef struct {
1504 
1521  NvMediaISPSettings *settings,
1522  uint32_t instance,
1523  const NvMediaISPLocalToneMapStats *controls,
1524  size_t size
1525 );
1526 
1530 typedef struct {
1547  uint16_t bandCount;
1553  uint32_t bandWidth;
1561  uint32_t bandHeight;
1566  float_t min;
1571  float_t max;
1591 
1608  NvMediaISPSettings *settings,
1609  uint32_t instance,
1610  const NvMediaISPFlickerBandStats *controls,
1611  size_t size
1612 );
1613 
1617 typedef struct {
1661 
1675  NvMediaISP *isp,
1676  const NvMediaISPProcessParams *params
1677 );
1678 
1682 typedef struct {
1691  uint32_t excludedCount[NVM_ISP_MAX_COLOR_COMPONENT];
1693 
1708  NvMediaISPStatsSurface *statsSurface,
1709  uint32_t instance,
1710  NvMediaISPHistogramStatsData *statsData
1711 );
1712 
1716 typedef struct {
1720  uint32_t numWindowsH;
1724  uint32_t numWindowsV;
1741 
1745 typedef struct {
1751 
1766  NvMediaISPStatsSurface *statsSurface,
1767  uint32_t instance,
1769 );
1770 
1774 typedef struct {
1778  uint32_t histogram[NVM_ISP_LTM_HIST_BINS];
1794 
1809  NvMediaISPStatsSurface *statsSurface,
1810  uint32_t instance,
1812 );
1813 
1817 typedef struct {
1821  uint32_t highInWin;
1825  uint32_t lowInWin;
1830  uint32_t highMagInWin;
1835  uint32_t lowMagInWin;
1839  uint32_t highOutWin;
1843  uint32_t lowOutWin;
1847  uint32_t highMagOutWin;
1852  uint32_t lowMagOutWin;
1854 
1869  NvMediaISPStatsSurface *statsSurface,
1870  uint32_t instance,
1871  NvMediaISPBadPixelStatsData *statsData
1872 );
1873 
1877 typedef struct {
1881  uint32_t bandCount;
1885  float_t luminance[NVM_ISP_MAX_FB_BANDS];
1887 
1902  NvMediaISPStatsSurface *statsSurface,
1903  uint32_t instance,
1905 );
1906 
1909 #ifdef __cplusplus
1910 }; /* extern "C" */
1911 #endif
1912 
1913 #endif /* NVMEDIA_ISP_H */
Holds controls for ISP digital gain (DG) block.
Definition: nvmedia_isp.h:1160
NvMediaISPEllipse radialTransform
Defines ellipse for radial transform.
Definition: nvmedia_isp.h:594
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:759
uint32_t lowOutWin
Holds bad pixel count for pixels corrected downwards outside the window.
Definition: nvmedia_isp.h:1843
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:507
uint32_t highOutWin
Holds bad pixel count for pixels corrected upwards outside the window.
Definition: nvmedia_isp.h:1839
uint32_t lowInWin
Holds bad pixel count for pixels corrected downwards within the window.
Definition: nvmedia_isp.h:1825
Holds ISP processing parameters.
Definition: nvmedia_isp.h:1617
NvMediaStatus NvMediaISPSetLocalAvgClipStats(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPLocalAvgClipStats *controls, size_t size)
Programs local average and clip statistics block controls.
float_t min
Holds minimum value of pixel to include for flicker band stats.
Definition: nvmedia_isp.h:1566
Holds controls for ISP sharpness (Sharp) block.
Definition: nvmedia_isp.h:1005
float_t x
Defines X coordinate of control point.
Definition: nvmedia_isp.h:544
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:570
Holds controls for histogram statistics (HIST Stats).
Definition: nvmedia_isp.h:1196
#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:140
Specifies blend plane 0 & 1.
Definition: nvmedia_isp.h:436
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:1045
#define NVM_ISP_MAX_LAC_ROI
Maximum number of local average & clip stats block regions of interest.
Definition: nvmedia_isp.h:108
NvMediaBool ellipticalMaskEnable
Holds boolean to enable mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1576
uint32_t height
Defines height of the window in pixels.
Definition: nvmedia_isp.h:1318
#define NVM_ISP_MAX_FB_BANDS
Maximum number of windows for local average & clip in a region of interest.
Definition: nvmedia_isp.h:135
NvMediaBool enable
Holds boolean to enable linearization block.
Definition: nvmedia_isp.h:299
float_t strength
Holds strength of local tone map.
Definition: nvmedia_isp.h:871
NvMediaStatus NvMediaISPSetGlobalToneMap(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPGlobalToneMap *controls, size_t size)
Programs global tone map block controls.
uint32_t numWindowsH
Holds number of windows horizontally in one region of interest.
Definition: nvmedia_isp.h:1720
Holds local average & clip statistics block (LAC Stats) data.
Definition: nvmedia_isp.h:1745
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:1847
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:969
NvMediaBool enable
Holds boolean to enable local tone map block.
Definition: nvmedia_isp.h:865
Holds bad pixel statistics (BP Stats) data.
Definition: nvmedia_isp.h:1817
NvMediaBool enable
Holds boolean to enable offset block.
Definition: nvmedia_isp.h:1129
float_t saturation
Holds saturation value.
Definition: nvmedia_isp.h:979
NvMediaISPSettings * NvMediaISPSettingsCreate(NvMediaISP *isp, NvMediaISPPipelineEnum pipelineEnum)
Allocates an ISP settings object.
NVIDIA Media Interface: Image Processing
NvMediaBool enable
Holds boolean to enable flicker band statistics block.
Definition: nvmedia_isp.h:1534
float_t gain
Holds gain affecting noise profile.
Definition: nvmedia_isp.h:512
float_t strength
Holds strength of sharpness.
Definition: nvmedia_isp.h:1015
#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:1488
NvMediaStatus NvMediaISPGetBadPixelStatsData(NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPBadPixelStatsData *statsData)
Gets the bad pixel statistics data.
Specifies use plane 2.
Definition: nvmedia_isp.h:432
uint32_t lowMagOutWin
Holds accumulatd pixel adjustment for pixels corrected downwards outside the window.
Definition: nvmedia_isp.h:1852
NvMediaBool enable
Holds boolean to enable sharpness block.
Definition: nvmedia_isp.h:1009
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:1394
Holds flicker band statistics (FB Stats) data.
Definition: nvmedia_isp.h:1877
Holds controls for bad pixel statistics (BP Stats).
Definition: nvmedia_isp.h:1422
Holds controls for local average & clip statistics (LAC Stats)
Definition: nvmedia_isp.h:1346
Holds histogram statistics (HIST Stats) data.
Definition: nvmedia_isp.h:1682
uint32_t horizontalInterval
Defines distance between the left edges of one window and a horizontally adjacent window...
Definition: nvmedia_isp.h:1331
NvMediaBool cctBasedLSCEnable
Holds boolean to enable CCT based lens shading correction.
Definition: nvmedia_isp.h:611
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: nvmedia_isp.h:1205
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:1468
#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:827
Defines an ellipse.
Definition: nvmedia_isp.h:558
uint32_t lowMagInWin
Hols accumulatd pixel adjustment for pixels corrected downwards within the window.
Definition: nvmedia_isp.h:1835
NvMediaBool radialTFEnable
Holds boolean to enable radial transform.
Definition: nvmedia_isp.h:754
#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
uint32_t bandCount
Holds band count.
Definition: nvmedia_isp.h:1881
float_t cct
Holds color correlated temperature.
Definition: nvmedia_isp.h:616
#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:1322
NvMediaISPExposureFusionMode
Defines supported exposure fusion modes.
Definition: nvmedia_isp.h:420
NvMediaRect inputCropRect
Holds cropping rectangle for input image.
Definition: nvmedia_isp.h:1632
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:199
float_t gain
Holds gain affecting noise profile.
Definition: nvmedia_isp.h:745
NvMediaISPEllipse ellipticalMask
Holds elliptical mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1502
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:1259
#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:1310
NvMediaBool enable
Holds boolean to enable level adjusted saturation block.
Definition: nvmedia_isp.h:685
NvMediaBool enable
Holds boolean to enable bad pixel statistics block.
Definition: nvmedia_isp.h:1427
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:1655
NvMediaStatus NvMediaISPSettingsLoadConfig(NvMediaISPSettings *settings, const char *configFilePath)
Loads ISP config file.
float_t y
Defines Y coordinate of control point.
Definition: nvmedia_isp.h:548
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:1472
Specifies use plane 1.
Definition: nvmedia_isp.h:428
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:501
Holds controls for ISP noise reduction (NR) block.
Definition: nvmedia_isp.h:720
NvMediaISPPipelineEnum
Defines supported ISP pipelines.
Definition: nvmedia_isp.h:155
Holds controls for ISP demosaic (DM) block.
Definition: nvmedia_isp.h:649
NvMediaBool enable
Holds boolean to enable local average & clip statistics block.
Definition: nvmedia_isp.h:1350
#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:1169
NvMediaBool enable
Holds boolean to enable black level correction block.
Definition: nvmedia_isp.h:348
NvMediaStatus NvMediaISPGetFlickerBandStatsData(NvMediaISPStatsSurface *statsSurface, uint32_t instance, NvMediaISPFlickerBandStatsData *statsData)
Gets the flicker band statistics data.
Holds controls for ISP color space conversion (CSC) block.
Definition: nvmedia_isp.h:910
NvMediaPoint center
Defines center of the ellipse.
Definition: nvmedia_isp.h:562
#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:734
NvMediaBool enable
Holds boolean to enable saturation block.
Definition: nvmedia_isp.h:973
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:159
NvMediaBool ellipticalMaskEnable
Holds boolean to enable mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1234
Holds controls for ISP bad pixel correction (BPC) block.
Definition: nvmedia_isp.h:487
float_t strength
Holds strength of demosaicing.
Definition: nvmedia_isp.h:655
NvMediaBool ellipticalWeightEnable
Holds boolean to enable elliptical weighting of pixels based on spatial location. ...
Definition: nvmedia_isp.h:1254
Specifies use plane 0.
Definition: nvmedia_isp.h:424
uint32_t numPlanes
Holds count of piecewise linear transfer function.
Definition: nvmedia_isp.h:304
NvMediaISPStatsSurface * NvMediaISPStatsSurfaceCreate(NvMediaISP *isp)
Allocates an ISP statistics surface object.
const NvMediaISPSettings * settings
Holds ISP settings.
Definition: nvmedia_isp.h:1659
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:450
Holds controls for ISP local tone map (LTM) block.
Definition: nvmedia_isp.h:861
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:491
NvMediaRect rectangularMask
Holds rectangular mask for selecting pixels.
Definition: nvmedia_isp.h:1483
NvMediaBool enable
Holds boolean to enable digital gain block.
Definition: nvmedia_isp.h:1164
uint32_t downscaledHeight
Holds image height after downscaling.
Definition: nvmedia_isp.h:1055
NvMediaRect rectangularMask
Holds rectangular mask for selecting pixels.
Definition: nvmedia_isp.h:1229
#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:607
Holds controls for ISP white balance correction (WBC) block.
Definition: nvmedia_isp.h:382
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:1340
Defines a radial transform.
Definition: nvmedia_isp.h:581
Holds controls for ISP offset (Offset) block.
Definition: nvmedia_isp.h:1125
NvMediaBool enable
Holds boolean to enable white balance correction block.
Definition: nvmedia_isp.h:386
NvMediaBool enable
Holds boolean to enable noise reduction block.
Definition: nvmedia_isp.h:724
float_t max
Holds maximum value of pixel to include for flicker band stats.
Definition: nvmedia_isp.h:1571
float_t angle
Defines angle of the ellipse horizontal axis from x-axis in degrees in clockwise direction.
Definition: nvmedia_isp.h:575
NvMediaRect rectangularMask
Holds rectangular mask for selecting pixels.
Definition: nvmedia_isp.h:1440
NvMediaBool enable
Holds boolean to enable color correction matrix block.
Definition: nvmedia_isp.h:790
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:1248
Holds local tone map statistics block (LTM Stats) data.
Definition: nvmedia_isp.h:1774
float_t strength
Holds strength of bad pixel correction.
Definition: nvmedia_isp.h:497
float_t fallOff
Holds ratio between corner & center lens shading correction.
Definition: nvmedia_isp.h:621
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:552
uint32_t highInWin
Holds bad pixel count for pixels corrected upwards within the window.
Definition: nvmedia_isp.h:1821
NvMediaStatus NvMediaISPSetDemosaic(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPDemosaic *controls, size_t size)
Programs demosaic block controls.
uint32_t bandWidth
Holds width of single band.
Definition: nvmedia_isp.h:1553
uint32_t bandHeight
Holds height of single band.
Definition: nvmedia_isp.h:1561
NvMediaPoint startOffset
Holds the offset of the first band top line.
Definition: nvmedia_isp.h:1540
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:1200
uint32_t numWindowsV
Holds number of windows vertically in one region of interest.
Definition: nvmedia_isp.h:1724
NvMediaStatus NvMediaISPSetFlickerBandStats(NvMediaISPSettings *settings, uint32_t instance, const NvMediaISPFlickerBandStats *controls, size_t size)
Programs flicker band statistics block controls.
Holds controls for ISP clip (Clip) block.
Definition: nvmedia_isp.h:1081
NvMediaImageGroup input
Holds input image(s).
Definition: nvmedia_isp.h:1621
uint32_t downscaledWidth
Holds image width after downscaling.
Definition: nvmedia_isp.h:1050
Holds controls for ISP global tone map (GTM) block.
Definition: nvmedia_isp.h:823
Holds controls for flicker band statistics (FB Stats).
Definition: nvmedia_isp.h:1530
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:1041
Holds local average & clip statistics data for a region of interest.
Definition: nvmedia_isp.h:1716
NvMediaISPEllipse ellipticalMask
Holds elliptical mask for excluding pixels outside specified elliptical area.
Definition: nvmedia_isp.h:1589
Holds controls for ISP black level correction (BLC) block.
Definition: nvmedia_isp.h:344
uint32_t width
Defines width of the window in pixels.
Definition: nvmedia_isp.h:1314
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:740
float_t strength
Holds strength of noise reduction.
Definition: nvmedia_isp.h:730
#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:460
NvMediaStatus NvMediaISPStatsSurfaceDestroy(NvMediaISPStatsSurface *statsSurface)
Destroys an ISP statistics surface object.
Holds controls for ISP level adjusted saturation (LAS) block.
Definition: nvmedia_isp.h:681
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:786
uint32_t numWindowsV
Defines number of windows vertically.
Definition: nvmedia_isp.h:1326
Holds controls for ISP exposure fusion (Fusion) block.
Definition: nvmedia_isp.h:446
struct _NvMediaISPStatsSurface NvMediaISPStatsSurface
A handle representing ISP stats surface object.
Definition: nvmedia_isp.h:145
Holds controls for ISP linearization (LIN) block.
Definition: nvmedia_isp.h:295
NvMediaBool enable
Holds boolean to enable clip block.
Definition: nvmedia_isp.h:1085
struct _NvMediaISPSettings NvMediaISPSettings
A handle representing ISP settings object.
Definition: nvmedia_isp.h:150
uint32_t highMagInWin
Holds accumulatd pixel adjustment for pixels corrected upwards within the window. ...
Definition: nvmedia_isp.h:1830
Specifies blend all planes.
Definition: nvmedia_isp.h:440
uint32_t verticalInterval
Defines distance between the top edges of one window and a vertically adjacent window.
Definition: nvmedia_isp.h:1336
uint32_t horizontalAxis
Defines horizontal axis of the ellipse.
Definition: nvmedia_isp.h:566
Defines spline control point.
Definition: nvmedia_isp.h:540
NvMediaStatus NvMediaISPDestroy(NvMediaISP *isp)
Destroys an Image Signal Processing object.
uint16_t bandCount
Holds count of flicker band samples to collect per frame.
Definition: nvmedia_isp.h:1547
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:914
#define NVM_ISP_MAX_LIN_KNEE_POINTS
Maximum number of linearization knee points.
Definition: nvmedia_isp.h:72