NVIDIA DRIVE OS Linux SDK API Reference

6.0.10.0 Release
NvSIPLISPStat.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
18 #ifndef NVSIPL_ISP_STAT_H
19 #define NVSIPL_ISP_STAT_H
20 
21 #include <cstdint>
22 #include "NvSIPLCommon.hpp"
23 
27 #define NVSIPL_ISP_HIST_BINS (256U)
28 
31 #define NVSIPL_ISP_MAX_COLOR_COMPONENT (4U)
32 
36 #define NVSIPL_ISP_HIST_KNEE_POINTS (8U)
37 
41 #define NVSIPL_ISP_RADTF_POINTS (6U)
42 
47 #define NVSIPL_ISP_MAX_LAC_ROI (4U)
48 
52 #define NVSIPL_ISP_MAX_INPUT_PLANES (3U)
53 
57 #define NVSIPL_ISP_MAX_COLORMATRIX_DIM (3U)
58 
64 #define NVSIPL_ISP_MAX_LAC_ROI_WINDOWS (1024U)
65 
69 #define NVSIPL_ISP_MAX_FB_BANDS (256U)
70 
71 namespace nvsipl
72 {
73 
88 typedef struct {
93  uint32_t highInWin;
98  uint32_t lowInWin;
104  uint32_t highMagInWin;
110  uint32_t lowMagInWin;
115  uint32_t highOutWin;
120  uint32_t lowOutWin;
126  uint32_t highMagOutWin;
132  uint32_t lowMagOutWin;
134 
138 typedef struct {
153  uint32_t excludedCount[NVSIPL_ISP_MAX_COLOR_COMPONENT];
155 
159 typedef struct {
164  uint32_t numWindowsH;
169  uint32_t numWindowsV;
192 
196 typedef struct {
208  uint32_t horizontalAxis;
213  uint32_t verticalAxis;
219  float_t angle;
221 
225 typedef struct {
243  uint16_t bandCount;
250  uint32_t bandWidth;
258  uint32_t bandHeight;
263  float_t min;
268  float_t max;
282 
286 typedef struct {
291  uint32_t bandCount;
296  float_t luminance[NVSIPL_ISP_MAX_FB_BANDS];
298 
325 typedef struct {
330  uint32_t width;
335  uint32_t height;
340  uint32_t numWindowsH;
345  uint32_t numWindowsV;
368 
369 
373 typedef struct {
378  float_t x;
383  float_t y;
388  double_t slope;
390 
394 typedef struct {
407 
411 typedef struct {
420  float_t offset;
473 
477 typedef struct {
483 
487 typedef struct {
514  NvSiplBool ellipticalMaskEnable[NVSIPL_ISP_MAX_LAC_ROI];
523 
524 
528 typedef struct {
550 
551 
555 typedef struct {
564  float_t offset;
610 
624 
649 };
650 
653 } // namespace nvsipl
654 
655 #endif /* NVSIPL_ISP_STAT_H */
nvsipl::NvSiplISPHistogramStats::rectangularMask
NvSiplRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:448
nvsipl::NvSIPLIspStatsOverrideSetting::lacStats
NvSiplISPLocalAvgClipStats lacStats[2]
Structure containing override settings for local average clip statistics block.
Definition: NvSIPLISPStat.hpp:640
nvsipl::NvSiplISPBadPixelStatsData::highMagOutWin
uint32_t highMagOutWin
Holds accumulated pixel adjustment for pixels corrected upward outside the window.
Definition: NvSIPLISPStat.hpp:126
nvsipl::NvSiplISPHistogramStatsOverride::offset
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: NvSIPLISPStat.hpp:564
nvsipl::NvSiplISPFlickerBandStats::enable
NvSiplBool enable
Holds a Boolean to enable flicker band statistics block.
Definition: NvSIPLISPStat.hpp:229
nvsipl::NvSiplISPSplineControlPoint::slope
double_t slope
Holds slope of the spline curve at the control point.
Definition: NvSIPLISPStat.hpp:388
nvsipl::NvSiplISPLocalAvgClipStatsData
Holds local average and clip statistics block (LAC Stats).
Definition: NvSIPLISPStat.hpp:477
nvsipl::NvSiplISPLocalAvgClipStats
Holds controls for local average and clip statistics (LAC Stats).
Definition: NvSIPLISPStat.hpp:487
nvsipl::NvSiplISPLocalAvgClipStatsROIData
Holds local average and clip statistics data for a region of interest.
Definition: NvSIPLISPStat.hpp:159
nvsipl::NvSiplISPEllipse::angle
float_t angle
Holds angle of the ellipse horizontal axis from X axis in degrees in clockwise direction.
Definition: NvSIPLISPStat.hpp:219
nvsipl::NvSiplISPLocalAvgClipStatsROIData::numWindowsH
uint32_t numWindowsH
Holds number of windows horizontally in one region of interest.
Definition: NvSIPLISPStat.hpp:164
nvsipl::NvSiplISPStatisticsWindows::startOffset
NvSiplPoint startOffset
Holds the position of the top left pixel in the top left window.
Definition: NvSIPLISPStat.hpp:366
nvsipl::NvSiplISPHistogramStatsOverride::ellipticalMaskEnable
NvSiplBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:597
nvsipl::NvSiplISPBadPixelStatsData::highMagInWin
uint32_t highMagInWin
Holds accumulated pixel adjustment for pixels corrected upward within the window.
Definition: NvSIPLISPStat.hpp:104
NvSIPLCommon.hpp
NVIDIA SIPL: Common Data Structures - SIPL
nvsipl::NvSiplISPRadialTF
Defines a radial transform.
Definition: NvSIPLISPStat.hpp:394
nvsipl::NvSIPLIspStatsOverrideSetting::enableBpStatsOverride
NvSiplBool enableBpStatsOverride[1]
boolean flag to enable bad pixel statistics settings override
Definition: NvSIPLISPStat.hpp:644
nvsipl::NvSiplISPHistogramStats
Holds controls for histogram statistics (HIST Stats).
Definition: NvSIPLISPStat.hpp:411
NVSIPL_ISP_RADTF_POINTS
#define NVSIPL_ISP_RADTF_POINTS
Number of radial transfer function control points.
Definition: NvSIPLISPStat.hpp:41
nvsipl::NvSiplISPBadPixelStatsData::lowMagOutWin
uint32_t lowMagOutWin
Holds accumulated pixel adjustment for pixels corrected downward outside the window.
Definition: NvSIPLISPStat.hpp:132
nvsipl::NvSiplISPHistogramStatsOverride::rectangularMask
NvSiplRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:592
nvsipl::NvSiplISPHistogramStatsOverride::disableLensShadingCorrection
NvSiplBool disableLensShadingCorrection
boolean flag to disable lens shading compensation for histogram statistics block
Definition: NvSIPLISPStat.hpp:608
NVSIPL_ISP_MAX_COLOR_COMPONENT
#define NVSIPL_ISP_MAX_COLOR_COMPONENT
Maximum number of color components.
Definition: NvSIPLISPStat.hpp:31
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:47
nvsipl::NvSiplISPBadPixelStatsData::lowMagInWin
uint32_t lowMagInWin
Holds accumulated pixel adjustment for pixels corrected downward within the window.
Definition: NvSIPLISPStat.hpp:110
nvsipl::NvSiplISPFlickerBandStats::max
float_t max
Holds maximum value of pixel to include for flicker band stats.
Definition: NvSIPLISPStat.hpp:268
nvsipl::NvSiplISPHistogramStats::radialTF
NvSiplISPRadialTF radialTF
Holds a radial transfer function for elliptical weight.
Definition: NvSIPLISPStat.hpp:471
nvsipl::NvSiplISPLocalAvgClipStats::enable
NvSiplBool enable
Holds a Boolean to enable the local average and clip statistics block.
Definition: NvSIPLISPStat.hpp:491
nvsipl::NvSiplISPFlickerBandStats::bandHeight
uint32_t bandHeight
Holds height of single band.
Definition: NvSIPLISPStat.hpp:258
NVSIPL_ISP_MAX_FB_BANDS
#define NVSIPL_ISP_MAX_FB_BANDS
Maximum number of bands for flicker band statistics block.
Definition: NvSIPLISPStat.hpp:69
NVSIPL_ISP_HIST_BINS
#define NVSIPL_ISP_HIST_BINS
Number of histogram bins.
Definition: NvSIPLISPStat.hpp:27
nvsipl::NvSiplISPEllipse::center
NvSiplPointFloat center
Holds center of the ellipse.
Definition: NvSIPLISPStat.hpp:203
nvsipl::NvSiplISPHistogramStatsOverride::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:604
nvsipl::NvSiplISPFlickerBandStats::bandWidth
uint32_t bandWidth
Holds width of single band.
Definition: NvSIPLISPStat.hpp:250
nvsipl::NvSiplPoint
Defines the location of a point on a two-dimensional object.
Definition: NvSIPLCommon.hpp:113
nvsipl::NvSiplISPLocalAvgClipStats::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside specified area.
Definition: NvSIPLISPStat.hpp:521
nvsipl::NvSiplISPEllipse::horizontalAxis
uint32_t horizontalAxis
Holds horizontal axis of the ellipse.
Definition: NvSIPLISPStat.hpp:208
nvsipl::NvSiplISPBadPixelStats::enable
NvSiplBool enable
Holds a Boolean to enable the bad pixel statistics block.
Definition: NvSIPLISPStat.hpp:534
nvsipl::NvSiplISPHistogramStatsOverride
SIPL ISP Histogram Statistics Override Params.
Definition: NvSIPLISPStat.hpp:555
nvsipl::NvSiplISPFlickerBandStats::ellipticalMaskEnable
NvSiplBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:273
nvsipl::NvSIPLIspStatsOverrideSetting::enableLacStatsOverride
NvSiplBool enableLacStatsOverride[2]
boolean flag to enable local average clip statistics settings override
Definition: NvSIPLISPStat.hpp:636
nvsipl::NvSIPLIspStatsOverrideSetting::histStats
NvSiplISPHistogramStatsOverride histStats[2]
Structure containing override settings for histogram statistics block.
Definition: NvSIPLISPStat.hpp:632
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:64
nvsipl::NvSiplISPFlickerBandStats::min
float_t min
Holds minimum value of pixel to include for flicker band stats.
Definition: NvSIPLISPStat.hpp:263
nvsipl::NvSiplISPSplineControlPoint::y
float_t y
Holds Y coordinate of the control point.
Definition: NvSIPLISPStat.hpp:383
nvsipl::NvSiplISPStatisticsWindows
Defines the windows used in ISP LAC stats calculations.
Definition: NvSIPLISPStat.hpp:325
nvsipl::NvSiplISPFlickerBandStatsData::bandCount
uint32_t bandCount
Holds band count.
Definition: NvSIPLISPStat.hpp:291
nvsipl::NvSiplISPHistogramStats::ellipticalMaskEnable
NvSiplBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:453
nvsipl::NvSiplISPHistogramStats::enable
NvSiplBool enable
Holds a Boolean to enable histogram statistics block.
Definition: NvSIPLISPStat.hpp:415
nvsipl::NvSiplISPEllipse
Defines an ellipse.
Definition: NvSIPLISPStat.hpp:196
nvsipl::NvSiplISPHistogramStats::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:460
nvsipl::NvSiplRect
Holds a rectangular region of a surface.
Definition: NvSIPLCommon.hpp:94
nvsipl::NvSiplISPStatisticsWindows::height
uint32_t height
Holds height of the window in pixels.
Definition: NvSIPLISPStat.hpp:335
nvsipl::NvSiplISPStatisticsWindows::verticalInterval
uint32_t verticalInterval
Holds the distance between the top edge of one window and a vertically adjacent window.
Definition: NvSIPLISPStat.hpp:357
nvsipl::NvSiplISPBadPixelStatsData
Holds bad pixel statistics (BP Stats).
Definition: NvSIPLISPStat.hpp:88
nvsipl::NvSiplISPBadPixelStatsData::lowOutWin
uint32_t lowOutWin
Holds bad pixel count for pixels corrected downward outside the window.
Definition: NvSIPLISPStat.hpp:120
nvsipl::NvSiplISPBadPixelStats::rectangularMask
NvSiplRect rectangularMask
Holds rectangular mask for excluding pixel outside a specified area.
Definition: NvSIPLISPStat.hpp:548
nvsipl::NvSiplISPHistogramStats::offset
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: NvSIPLISPStat.hpp:420
nvsipl::NvSiplISPHistogramStatsData
Holds histogram statistics (HIST Stats).
Definition: NvSIPLISPStat.hpp:138
nvsipl::NvSiplISPStatisticsWindows::numWindowsV
uint32_t numWindowsV
Holds number of windows vertically.
Definition: NvSIPLISPStat.hpp:345
nvsipl::NvSiplISPFlickerBandStatsData
Holds flicker band statistics (FB Stats).
Definition: NvSIPLISPStat.hpp:286
nvsipl::NvSiplISPBadPixelStatsData::lowInWin
uint32_t lowInWin
Holds bad pixel count for pixels corrected downward within the window.
Definition: NvSIPLISPStat.hpp:98
nvsipl::NvSiplISPHistogramStats::ellipticalWeightEnable
NvSiplBool ellipticalWeightEnable
Holds a Boolean to enable elliptical weighting of pixels based on spatial location.
Definition: NvSIPLISPStat.hpp:466
nvsipl::NvSiplISPStatisticsWindows::horizontalInterval
uint32_t horizontalInterval
Holds the distance between the left edge of one window and a horizontally adjacent window.
Definition: NvSIPLISPStat.hpp:351
nvsipl::NvSiplPointFloat
Defines the float-precision location of a point on a two-dimensional object.
Definition: NvSIPLCommon.hpp:124
nvsipl::NvSiplISPStatisticsWindows::numWindowsH
uint32_t numWindowsH
Holds number of windows horizontally.
Definition: NvSIPLISPStat.hpp:340
nvsipl::NvSiplISPFlickerBandStats
Holds controls for flicker band statistics (FB Stats).
Definition: NvSIPLISPStat.hpp:225
nvsipl::NvSiplISPSplineControlPoint
Defines a spline control point.
Definition: NvSIPLISPStat.hpp:373
nvsipl::NvSiplISPFlickerBandStats::bandCount
uint16_t bandCount
Holds count of flicker band samples to collect per frame.
Definition: NvSIPLISPStat.hpp:243
nvsipl::NvSiplISPBadPixelStats
Holds controls for bad pixel statistics (BP Stats).
Definition: NvSIPLISPStat.hpp:528
nvsipl::NvSiplISPRadialTF::radialTransform
NvSiplISPEllipse radialTransform
Holds ellipse for radial transform.
Definition: NvSIPLISPStat.hpp:401
nvsipl::NvSiplBool
uint32_t NvSiplBool
A boolean value, holding SIPL_TRUE or SIPL_FALSE.
Definition: NvSIPLCommon.hpp:135
nvsipl::NvSIPLIspStatsOverrideSetting
SIPL ISP Statistics Override Parameters.
Definition: NvSIPLISPStat.hpp:623
NVSIPL_ISP_HIST_KNEE_POINTS
#define NVSIPL_ISP_HIST_KNEE_POINTS
Number of histogram knee points.
Definition: NvSIPLISPStat.hpp:36
nvsipl::NvSiplISPLocalAvgClipStatsROIData::numWindowsV
uint32_t numWindowsV
Holds number of windows vertically in one region of interest.
Definition: NvSIPLISPStat.hpp:169
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: INvSiplControlAuto.hpp:35
nvsipl::NvSIPLIspStatsOverrideSetting::bpStats
NvSiplISPBadPixelStats bpStats[1]
Structure containing override settings for bad pixel statistics block.
Definition: NvSIPLISPStat.hpp:648
nvsipl::NvSiplISPSplineControlPoint::x
float_t x
Holds X coordinate of the control point.
Definition: NvSIPLISPStat.hpp:378
nvsipl::NvSiplISPFlickerBandStats::ellipticalMask
NvSiplISPEllipse ellipticalMask
Holds an elliptical mask to exclude pixels outside a specified area.
Definition: NvSIPLISPStat.hpp:280
nvsipl::NvSiplISPStatisticsWindows::width
uint32_t width
Holds width of the window in pixels.
Definition: NvSIPLISPStat.hpp:330
nvsipl::NvSIPLIspStatsOverrideSetting::enableHistStatsOverride
NvSiplBool enableHistStatsOverride[2]
boolean flag to enable histogram statistics settings override
Definition: NvSIPLISPStat.hpp:628
nvsipl::NvSiplISPEllipse::verticalAxis
uint32_t verticalAxis
Holds vertical axis of the ellipse.
Definition: NvSIPLISPStat.hpp:213
nvsipl::NvSiplISPFlickerBandStats::startOffset
NvSiplPoint startOffset
Holds the offset of the first band top line.
Definition: NvSIPLISPStat.hpp:236
nvsipl::NvSiplISPBadPixelStatsData::highInWin
uint32_t highInWin
Holds bad pixel count for pixels corrected upward within the window.
Definition: NvSIPLISPStat.hpp:93
nvsipl::NvSiplISPHistogramStatsOverride::enable
NvSiplBool enable
Holds a Boolean to enable histogram statistics Control block.
Definition: NvSIPLISPStat.hpp:559
nvsipl::NvSiplISPBadPixelStatsData::highOutWin
uint32_t highOutWin
Holds bad pixel count for pixels corrected upward outside the window.
Definition: NvSIPLISPStat.hpp:115