NVIDIA DRIVE OS Linux SDK API Reference

6.0.9 Release
NvSIPLISPStat.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2023, 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 
13 #ifndef NVSIPL_ISP_STAT_H
14 #define NVSIPL_ISP_STAT_H
15 
16 #include <cstdint>
17 #include "NvSIPLCommon.hpp"
18 
22 #define NVSIPL_ISP_HIST_BINS (256U)
23 
26 #define NVSIPL_ISP_MAX_COLOR_COMPONENT (4U)
27 
31 #define NVSIPL_ISP_HIST_KNEE_POINTS (8U)
32 
36 #define NVSIPL_ISP_RADTF_POINTS (6U)
37 
42 #define NVSIPL_ISP_MAX_LAC_ROI (4U)
43 
47 #define NVSIPL_ISP_MAX_INPUT_PLANES (3U)
48 
52 #define NVSIPL_ISP_MAX_COLORMATRIX_DIM (3U)
53 
58 #define NVSIPL_ISP_MAX_LAC_ROI_WINDOWS (32U * 32U)
59 
63 #define NVSIPL_ISP_MAX_FB_BANDS (256U)
64 
65 namespace nvsipl
66 {
67 
82 typedef struct {
86  uint32_t highInWin;
90  uint32_t lowInWin;
95  uint32_t highMagInWin;
100  uint32_t lowMagInWin;
104  uint32_t highOutWin;
108  uint32_t lowOutWin;
112  uint32_t highMagOutWin;
117  uint32_t lowMagOutWin;
119 
123 typedef struct {
132  uint32_t excludedCount[NVSIPL_ISP_MAX_COLOR_COMPONENT];
134 
138 typedef struct {
142  uint32_t numWindowsH;
146  uint32_t numWindowsV;
164 
168 typedef struct {
176  uint32_t horizontalAxis;
180  uint32_t verticalAxis;
185  float_t angle;
187 
191 typedef struct {
209  uint16_t bandCount;
216  uint32_t bandWidth;
224  uint32_t bandHeight;
229  float_t min;
234  float_t max;
254 
258 typedef struct {
262  uint32_t bandCount;
266  float_t luminance[NVSIPL_ISP_MAX_FB_BANDS];
268 
295 typedef struct {
299  uint32_t width;
303  uint32_t height;
307  uint32_t numWindowsH;
311  uint32_t numWindowsV;
327 
328 
332 typedef struct {
336  float_t x;
340  float_t y;
344  double_t slope;
346 
350 typedef struct {
372 
376 typedef struct {
385  float_t offset;
444 
448 typedef struct {
454 
458 typedef struct {
496  NvSiplBool ellipticalMaskEnable[NVSIPL_ISP_MAX_LAC_ROI];
511 
512 
516 typedef struct {
538 
539 
543 typedef struct {
552  float_t offset;
604 
617 
642 };
643 
646 } // namespace nvsipl
647 
648 #endif /* NVSIPL_ISP_STAT_H */
nvsipl::NvSiplISPHistogramStats::rectangularMask
NvSiplRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:413
nvsipl::NvSIPLIspStatsOverrideSetting::lacStats
NvSiplISPLocalAvgClipStats lacStats[2]
Structure containing override settings for local average clip statistics block.
Definition: NvSIPLISPStat.hpp:633
nvsipl::NvSiplISPBadPixelStatsData::highMagOutWin
uint32_t highMagOutWin
Holds accumulated pixel adjustment for pixels corrected upward outside the window.
Definition: NvSIPLISPStat.hpp:112
nvsipl::NvSiplISPHistogramStatsOverride::offset
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: NvSIPLISPStat.hpp:552
nvsipl::NvSiplISPFlickerBandStats::enable
NvSiplBool enable
Holds a Boolean to enable flicker band statistics block.
Definition: NvSIPLISPStat.hpp:195
nvsipl::NvSiplISPSplineControlPoint::slope
double_t slope
Holds slope of the spline curve at the control point.
Definition: NvSIPLISPStat.hpp:344
nvsipl::NvSiplISPLocalAvgClipStatsData
Holds local average and clip statistics block (LAC Stats).
Definition: NvSIPLISPStat.hpp:448
nvsipl::NvSiplISPLocalAvgClipStats
Holds controls for local average and clip statistics (LAC Stats).
Definition: NvSIPLISPStat.hpp:458
nvsipl::NvSiplISPLocalAvgClipStatsROIData
Holds local average and clip statistics data for a region of interest.
Definition: NvSIPLISPStat.hpp:138
nvsipl::NvSiplISPEllipse::angle
float_t angle
Holds angle of the ellipse horizontal axis from X axis in degrees in clockwise direction.
Definition: NvSIPLISPStat.hpp:185
nvsipl::NvSiplISPLocalAvgClipStatsROIData::numWindowsH
uint32_t numWindowsH
Holds number of windows horizontally in one region of interest.
Definition: NvSIPLISPStat.hpp:142
nvsipl::NvSiplISPStatisticsWindows::startOffset
NvSiplPoint startOffset
Holds the position of the top left pixel in the top left window.
Definition: NvSIPLISPStat.hpp:325
nvsipl::NvSiplISPHistogramStatsOverride::ellipticalMaskEnable
NvSiplBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:585
nvsipl::NvSiplISPBadPixelStatsData::highMagInWin
uint32_t highMagInWin
Holds accumulated pixel adjustment for pixels corrected upward within the window.
Definition: NvSIPLISPStat.hpp:95
NvSIPLCommon.hpp
NVIDIA SIPL: Common Data Structures - SIPL
nvsipl::NvSiplISPRadialTF
Defines a radial transform.
Definition: NvSIPLISPStat.hpp:350
nvsipl::NvSIPLIspStatsOverrideSetting::enableBpStatsOverride
NvSiplBool enableBpStatsOverride[1]
boolean flag to enable bad pixel statistics settings override
Definition: NvSIPLISPStat.hpp:637
nvsipl::NvSiplISPHistogramStats
Holds controls for histogram statistics (HIST Stats).
Definition: NvSIPLISPStat.hpp:376
NVSIPL_ISP_RADTF_POINTS
#define NVSIPL_ISP_RADTF_POINTS
Number of radial transfer function control points.
Definition: NvSIPLISPStat.hpp:36
nvsipl::NvSiplISPBadPixelStatsData::lowMagOutWin
uint32_t lowMagOutWin
Holds accumulated pixel adjustment for pixels corrected downward outside the window.
Definition: NvSIPLISPStat.hpp:117
nvsipl::NvSiplISPHistogramStatsOverride::rectangularMask
NvSiplRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:580
nvsipl::NvSiplISPHistogramStatsOverride::disableLensShadingCorrection
NvSiplBool disableLensShadingCorrection
boolean flag to disable lens shading compensation for histogram statistics block
Definition: NvSIPLISPStat.hpp:602
NVSIPL_ISP_MAX_COLOR_COMPONENT
#define NVSIPL_ISP_MAX_COLOR_COMPONENT
Maximum number of color components.
Definition: NvSIPLISPStat.hpp:26
NVSIPL_ISP_MAX_LAC_ROI
#define NVSIPL_ISP_MAX_LAC_ROI
Maximum number of local average and clip statistic block regions of interest.
Definition: NvSIPLISPStat.hpp:42
nvsipl::NvSiplISPBadPixelStatsData::lowMagInWin
uint32_t lowMagInWin
Holds accumulated pixel adjustment for pixels corrected downward within the window.
Definition: NvSIPLISPStat.hpp:100
nvsipl::NvSiplISPFlickerBandStats::max
float_t max
Holds maximum value of pixel to include for flicker band stats.
Definition: NvSIPLISPStat.hpp:234
nvsipl::NvSiplISPHistogramStats::radialTF
NvSiplISPRadialTF radialTF
Holds a radial transfer function for elliptical weight.
Definition: NvSIPLISPStat.hpp:442
nvsipl::NvSiplISPLocalAvgClipStats::enable
NvSiplBool enable
Holds a Boolean to enable the local average and clip statistics block.
Definition: NvSIPLISPStat.hpp:462
nvsipl::NvSiplISPFlickerBandStats::bandHeight
uint32_t bandHeight
Holds height of single band.
Definition: NvSIPLISPStat.hpp:224
NVSIPL_ISP_MAX_FB_BANDS
#define NVSIPL_ISP_MAX_FB_BANDS
Maximum number of bands for flicker band statistics block.
Definition: NvSIPLISPStat.hpp:63
NVSIPL_ISP_HIST_BINS
#define NVSIPL_ISP_HIST_BINS
Number of histogram bins.
Definition: NvSIPLISPStat.hpp:22
nvsipl::NvSiplISPEllipse::center
NvSiplPointFloat center
Holds center of the ellipse.
Definition: NvSIPLISPStat.hpp:172
nvsipl::NvSiplISPHistogramStatsOverride::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:598
nvsipl::NvSiplISPFlickerBandStats::bandWidth
uint32_t bandWidth
Holds width of single band.
Definition: NvSIPLISPStat.hpp:216
nvsipl::NvSiplPoint
Defines the location of a point on a two-dimensional object.
Definition: NvSIPLCommon.hpp:111
nvsipl::NvSiplISPLocalAvgClipStats::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside specified area.
Definition: NvSIPLISPStat.hpp:509
nvsipl::NvSiplISPEllipse::horizontalAxis
uint32_t horizontalAxis
Holds horizontal axis of the ellipse.
Definition: NvSIPLISPStat.hpp:176
nvsipl::NvSiplISPBadPixelStats::enable
NvSiplBool enable
Holds a Boolean to enable the bad pixel statistics block.
Definition: NvSIPLISPStat.hpp:522
nvsipl::NvSiplISPHistogramStatsOverride
SIPL ISP Histogram Statistics Override Params.
Definition: NvSIPLISPStat.hpp:543
nvsipl::NvSiplISPFlickerBandStats::ellipticalMaskEnable
NvSiplBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:239
nvsipl::NvSIPLIspStatsOverrideSetting::enableLacStatsOverride
NvSiplBool enableLacStatsOverride[2]
boolean flag to enable local average clip statistics settings override
Definition: NvSIPLISPStat.hpp:629
nvsipl::NvSIPLIspStatsOverrideSetting::histStats
NvSiplISPHistogramStatsOverride histStats[2]
Structure containing override settings for histogram statistics block.
Definition: NvSIPLISPStat.hpp:625
NVSIPL_ISP_MAX_LAC_ROI_WINDOWS
#define NVSIPL_ISP_MAX_LAC_ROI_WINDOWS
Maximum number of windows for local average and clip in a region of interest.
Definition: NvSIPLISPStat.hpp:58
nvsipl::NvSiplISPFlickerBandStats::min
float_t min
Holds minimum value of pixel to include for flicker band stats.
Definition: NvSIPLISPStat.hpp:229
nvsipl::NvSiplISPSplineControlPoint::y
float_t y
Holds Y coordinate of the control point.
Definition: NvSIPLISPStat.hpp:340
nvsipl::NvSiplISPStatisticsWindows
Defines the windows used in ISP stats calculations.
Definition: NvSIPLISPStat.hpp:295
nvsipl::NvSiplISPFlickerBandStatsData::bandCount
uint32_t bandCount
Holds band count.
Definition: NvSIPLISPStat.hpp:262
nvsipl::NvSiplISPHistogramStats::ellipticalMaskEnable
NvSiplBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:418
nvsipl::NvSiplISPHistogramStats::enable
NvSiplBool enable
Holds a Boolean to enable histogram statistics block.
Definition: NvSIPLISPStat.hpp:380
nvsipl::NvSiplISPEllipse
Defines an ellipse.
Definition: NvSIPLISPStat.hpp:168
nvsipl::NvSiplISPHistogramStats::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:431
nvsipl::NvSiplRect
Holds a rectangular region of a surface.
Definition: NvSIPLCommon.hpp:92
nvsipl::NvSiplISPStatisticsWindows::height
uint32_t height
Holds height of the window in pixels.
Definition: NvSIPLISPStat.hpp:303
nvsipl::NvSiplISPStatisticsWindows::verticalInterval
uint32_t verticalInterval
Holds the distance between the top edge of one window and a vertically adjacent window.
Definition: NvSIPLISPStat.hpp:321
nvsipl::NvSiplISPBadPixelStatsData
Holds bad pixel statistics (BP Stats).
Definition: NvSIPLISPStat.hpp:82
nvsipl::NvSiplISPBadPixelStatsData::lowOutWin
uint32_t lowOutWin
Holds bad pixel count for pixels corrected downward outside the window.
Definition: NvSIPLISPStat.hpp:108
nvsipl::NvSiplISPBadPixelStats::rectangularMask
NvSiplRect rectangularMask
Holds rectangular mask for excluding pixel outside a specified area.
Definition: NvSIPLISPStat.hpp:536
nvsipl::NvSiplISPHistogramStats::offset
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: NvSIPLISPStat.hpp:385
nvsipl::NvSiplISPHistogramStatsData
Holds histogram statistics (HIST Stats).
Definition: NvSIPLISPStat.hpp:123
nvsipl::NvSiplISPStatisticsWindows::numWindowsV
uint32_t numWindowsV
Holds number of windows vertically.
Definition: NvSIPLISPStat.hpp:311
nvsipl::NvSiplISPFlickerBandStatsData
Holds flicker band statistics (FB Stats).
Definition: NvSIPLISPStat.hpp:258
nvsipl::NvSiplISPBadPixelStatsData::lowInWin
uint32_t lowInWin
Holds bad pixel count for pixels corrected downward within the window.
Definition: NvSIPLISPStat.hpp:90
nvsipl::NvSiplISPHistogramStats::ellipticalWeightEnable
NvSiplBool ellipticalWeightEnable
Holds a Boolean to enable elliptical weighting of pixels based on spatial location.
Definition: NvSIPLISPStat.hpp:437
nvsipl::NvSiplISPStatisticsWindows::horizontalInterval
uint32_t horizontalInterval
Holds the distance between the left edge of one window and a horizontally adjacent window.
Definition: NvSIPLISPStat.hpp:316
nvsipl::NvSiplPointFloat
Defines the float-precision location of a point on a two-dimensional object.
Definition: NvSIPLCommon.hpp:122
nvsipl::NvSiplISPStatisticsWindows::numWindowsH
uint32_t numWindowsH
Holds number of windows horizontally.
Definition: NvSIPLISPStat.hpp:307
nvsipl::NvSiplISPFlickerBandStats
Holds controls for flicker band statistics (FB Stats).
Definition: NvSIPLISPStat.hpp:191
nvsipl::NvSiplISPSplineControlPoint
Defines a spline control point.
Definition: NvSIPLISPStat.hpp:332
nvsipl::NvSiplISPFlickerBandStats::bandCount
uint16_t bandCount
Holds count of flicker band samples to collect per frame.
Definition: NvSIPLISPStat.hpp:209
nvsipl::NvSiplISPBadPixelStats
Holds controls for bad pixel statistics (BP Stats).
Definition: NvSIPLISPStat.hpp:516
nvsipl::NvSiplISPRadialTF::radialTransform
NvSiplISPEllipse radialTransform
Holds ellipse for radial transform.
Definition: NvSIPLISPStat.hpp:363
nvsipl::NvSiplBool
uint32_t NvSiplBool
A boolean value, holding SIPL_TRUE or SIPL_FALSE.
Definition: NvSIPLCommon.hpp:133
nvsipl::NvSIPLIspStatsOverrideSetting
SIPL ISP Statistics Override Parameters.
Definition: NvSIPLISPStat.hpp:616
NVSIPL_ISP_HIST_KNEE_POINTS
#define NVSIPL_ISP_HIST_KNEE_POINTS
Number of histogram knee points.
Definition: NvSIPLISPStat.hpp:31
nvsipl::NvSiplISPLocalAvgClipStatsROIData::numWindowsV
uint32_t numWindowsV
Holds number of windows vertically in one region of interest.
Definition: NvSIPLISPStat.hpp:146
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: INvSiplControlAuto.hpp:33
nvsipl::NvSIPLIspStatsOverrideSetting::bpStats
NvSiplISPBadPixelStats bpStats[1]
Structure containing override settings for bad pixel statistics block.
Definition: NvSIPLISPStat.hpp:641
nvsipl::NvSiplISPSplineControlPoint::x
float_t x
Holds X coordinate of the control point.
Definition: NvSIPLISPStat.hpp:336
nvsipl::NvSiplISPFlickerBandStats::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask to exclude pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:252
nvsipl::NvSiplISPStatisticsWindows::width
uint32_t width
Holds width of the window in pixels.
Definition: NvSIPLISPStat.hpp:299
nvsipl::NvSIPLIspStatsOverrideSetting::enableHistStatsOverride
NvSiplBool enableHistStatsOverride[2]
boolean flag to enable histogram statistics settings override
Definition: NvSIPLISPStat.hpp:621
nvsipl::NvSiplISPEllipse::verticalAxis
uint32_t verticalAxis
Holds vertical axis of the ellipse.
Definition: NvSIPLISPStat.hpp:180
nvsipl::NvSiplISPFlickerBandStats::startOffset
NvSiplPoint startOffset
Holds the offset of the first band top line.
Definition: NvSIPLISPStat.hpp:202
nvsipl::NvSiplISPBadPixelStatsData::highInWin
uint32_t highInWin
Holds bad pixel count for pixels corrected upward within the window.
Definition: NvSIPLISPStat.hpp:86
nvsipl::NvSiplISPHistogramStatsOverride::enable
NvSiplBool enable
Holds a Boolean to enable histogram statistics Control block.
Definition: NvSIPLISPStat.hpp:547
nvsipl::NvSiplISPBadPixelStatsData::highOutWin
uint32_t highOutWin
Holds bad pixel count for pixels corrected upward outside the window.
Definition: NvSIPLISPStat.hpp:104