NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
nvmedia_isp_stat.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-2019, 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 NVMEDIA_ISP_STAT_H
14 #define NVMEDIA_ISP_STAT_H
15 
16 #include <stdint.h>
17 
18 #include "nvmedia_core.h"
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
36 #define NVM_ISP_MAX_INPUT_PLANES (3U)
37 
41 #define NVM_ISP_MAX_COLOR_COMPONENT (4U)
42 
46 #define NVM_ISP_MAX_COLORMATRIX_DIM (3U)
47 
51 #define NVM_ISP_RADTF_POINTS (6U)
52 
56 #define NVM_ISP_HIST_KNEE_POINTS (8U)
57 
62 #define NVM_ISP_MAX_LAC_ROI (4U)
63 
68 #define NVM_ISP_MAX_LAC_ROI_WINDOWS (32U * 32U)
69 
73 #define NVM_ISP_HIST_BINS (256U)
74 
78 #define NVM_ISP_LTM_HIST_BINS (128U)
79 
83 #define NVM_ISP_LTM_AVG_WINDOWS (8U)
84 
88 #define NVM_ISP_MAX_FB_BANDS (256U)
89 
93 typedef struct {
97  float_t x;
101  float_t y;
105  double_t slope;
107 
111 typedef struct {
119  uint32_t horizontalAxis;
123  uint32_t verticalAxis;
128  float_t angle;
130 
134 typedef struct {
156 
160 typedef struct {
169  float_t offset;
175  uint8_t knees[NVM_ISP_HIST_KNEE_POINTS];
182  uint8_t ranges[NVM_ISP_HIST_KNEE_POINTS];
228 
255 typedef struct {
259  uint32_t width;
263  uint32_t height;
267  uint32_t numWindowsH;
271  uint32_t numWindowsV;
287 
291 typedef struct {
329  NvMediaBool ellipticalMaskEnable[NVM_ISP_MAX_LAC_ROI];
344 
348 typedef struct {
370 
374 typedef struct {
412 
416 typedef struct {
434  uint16_t bandCount;
441  uint32_t bandWidth;
449  uint32_t bandHeight;
454  float_t min;
459  float_t max;
479 
483 typedef struct {
492  uint32_t excludedCount[NVM_ISP_MAX_COLOR_COMPONENT];
494 
498 typedef struct {
502  uint32_t numWindowsH;
506  uint32_t numWindowsV;
524 
528 typedef struct {
534 
538 typedef struct {
542  uint32_t histogram[NVM_ISP_LTM_HIST_BINS];
558 
562 typedef struct {
566  uint32_t highInWin;
570  uint32_t lowInWin;
575  uint32_t highMagInWin;
580  uint32_t lowMagInWin;
584  uint32_t highOutWin;
588  uint32_t lowOutWin;
592  uint32_t highMagOutWin;
597  uint32_t lowMagOutWin;
599 
603 typedef struct {
607  uint32_t bandCount;
611  float_t luminance[NVM_ISP_MAX_FB_BANDS];
613 
625 #ifdef __cplusplus
626 }; /* extern "C" */
627 #endif
628 
629 #endif /* NVMEDIA_ISP_STAT_H */
NvMediaISPEllipse::center
NvMediaPointFloat center
Holds center of the ellipse.
Definition: nvmedia_isp_stat.h:115
NvMediaISPSplineControlPoint
Defines a spline control point.
Definition: nvmedia_isp_stat.h:93
NvMediaISPSplineControlPoint::x
float_t x
Holds X coordinate of the control point.
Definition: nvmedia_isp_stat.h:97
NvMediaISPBadPixelStats::enable
NvMediaBool enable
Holds a Boolean to enable the bad pixel statistics block.
Definition: nvmedia_isp_stat.h:354
NvMediaISPStatisticsWindows::horizontalInterval
uint32_t horizontalInterval
Holds the distance between the left edge of one window and a horizontally adjacent window.
Definition: nvmedia_isp_stat.h:276
NvMediaISPEllipse
Defines an ellipse.
Definition: nvmedia_isp_stat.h:111
NvMediaISPBadPixelStatsData::highInWin
uint32_t highInWin
Holds bad pixel count for pixels corrected upward within the window.
Definition: nvmedia_isp_stat.h:566
NvMediaISPStatisticsWindows::width
uint32_t width
Holds width of the window in pixels.
Definition: nvmedia_isp_stat.h:259
NVM_ISP_HIST_BINS
#define NVM_ISP_HIST_BINS
Number of histogram bins.
Definition: nvmedia_isp_stat.h:73
NvMediaISPEllipse::verticalAxis
uint32_t verticalAxis
Holds vertical axis of the ellipse.
Definition: nvmedia_isp_stat.h:123
NvMediaISPLocalAvgClipStats::enable
NvMediaBool enable
Holds a Boolean to enable the local average and clip statistics block.
Definition: nvmedia_isp_stat.h:295
NvMediaISPLocalAvgClipStatsROIData::numWindowsH
uint32_t numWindowsH
Holds number of windows horizontally in one region of interest.
Definition: nvmedia_isp_stat.h:502
NvMediaISPLocalToneMapStats
Holds controls for local tone map statistics (LTM Stats).
Definition: nvmedia_isp_stat.h:374
NvMediaISPHistogramStats::enable
NvMediaBool enable
Holds a Boolean to enable histogram statistics block.
Definition: nvmedia_isp_stat.h:164
NvMediaISPHistogramStats::radialTF
NvMediaISPRadialTF radialTF
Holds a radial transfer function for elliptical weight.
Definition: nvmedia_isp_stat.h:226
NvMediaISPHistogramStats::ellipticalWeightEnable
NvMediaBool ellipticalWeightEnable
Holds a Boolean to enable elliptical weighting of pixels based on spatial location.
Definition: nvmedia_isp_stat.h:221
NVM_ISP_RADTF_POINTS
#define NVM_ISP_RADTF_POINTS
Number of radial transfer function control points.
Definition: nvmedia_isp_stat.h:51
NvMediaISPBadPixelStats
Holds controls for bad pixel statistics (BP Stats).
Definition: nvmedia_isp_stat.h:348
NvMediaISPFlickerBandStats::ellipticalMaskEnable
NvMediaBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:464
NvMediaISPFlickerBandStats::bandHeight
uint32_t bandHeight
Holds height of single band.
Definition: nvmedia_isp_stat.h:449
NvMediaISPFlickerBandStats::bandWidth
uint32_t bandWidth
Holds width of single band.
Definition: nvmedia_isp_stat.h:441
NvMediaISPLocalToneMapStatsData
Holds local tone map statistics block (LTM Stats).
Definition: nvmedia_isp_stat.h:538
NvMediaISPFlickerBandStatsData
Holds flicker band statistics (FB Stats).
Definition: nvmedia_isp_stat.h:603
NvMediaISPStatisticsWindows::startOffset
NvMediaPoint startOffset
Holds the position of the top left pixel in the top left window.
Definition: nvmedia_isp_stat.h:285
NVM_ISP_MAX_LAC_ROI_WINDOWS
#define NVM_ISP_MAX_LAC_ROI_WINDOWS
Maximum number of windows for local average and clip in a region of interest.
Definition: nvmedia_isp_stat.h:68
NvMediaISPBadPixelStatsData
Holds bad pixel statistics (BP Stats).
Definition: nvmedia_isp_stat.h:562
NvMediaISPBadPixelStatsData::lowOutWin
uint32_t lowOutWin
Holds bad pixel count for pixels corrected downward outside the window.
Definition: nvmedia_isp_stat.h:588
NvMediaISPBadPixelStatsData::highMagInWin
uint32_t highMagInWin
Holds accumulated pixel adjustment for pixels corrected upward within the window.
Definition: nvmedia_isp_stat.h:575
NvMediaISPFlickerBandStats::min
float_t min
Holds minimum value of pixel to include for flicker band stats.
Definition: nvmedia_isp_stat.h:454
NvMediaISPBadPixelStats::rectangularMask
NvMediaRect rectangularMask
Holds rectangular mask for excluding pixel outside a specified area.
Definition: nvmedia_isp_stat.h:368
NvMediaPoint
Defines the location of a point on a two-dimensional object.
Definition: nvmedia_core.h:147
NVM_ISP_LTM_AVG_WINDOWS
#define NVM_ISP_LTM_AVG_WINDOWS
Number of averaging windows for local tone map statistics block.
Definition: nvmedia_isp_stat.h:83
NvMediaISPBadPixelStatsData::lowInWin
uint32_t lowInWin
Holds bad pixel count for pixels corrected downward within the window.
Definition: nvmedia_isp_stat.h:570
NvMediaISPSplineControlPoint::y
float_t y
Holds Y coordinate of the control point.
Definition: nvmedia_isp_stat.h:101
NvMediaISPFlickerBandStats::max
float_t max
Holds maximum value of pixel to include for flicker band stats.
Definition: nvmedia_isp_stat.h:459
NvMediaISPBadPixelStatsData::highOutWin
uint32_t highOutWin
Holds bad pixel count for pixels corrected upward outside the window.
Definition: nvmedia_isp_stat.h:584
NVM_ISP_MAX_COLOR_COMPONENT
#define NVM_ISP_MAX_COLOR_COMPONENT
Maximum number of color components.
Definition: nvmedia_isp_stat.h:41
NvMediaISPHistogramStats::ellipticalMask
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:215
NvMediaISPFlickerBandStats::startOffset
NvMediaPoint startOffset
Holds the offset of the first band top line.
Definition: nvmedia_isp_stat.h:427
NvMediaRect
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:133
nvmedia_core.h
NVIDIA Media Interface: Core
NVM_ISP_HIST_KNEE_POINTS
#define NVM_ISP_HIST_KNEE_POINTS
Number of histogram knee points.
Definition: nvmedia_isp_stat.h:56
NvMediaISPStatisticsWindows
Defines the windows used in ISP stats calculations.
Definition: nvmedia_isp_stat.h:255
NvMediaISPLocalAvgClipStatsData
Holds local average and clip statistics block (LAC Stats).
Definition: nvmedia_isp_stat.h:528
NvMediaISPStatisticsWindows::verticalInterval
uint32_t verticalInterval
Holds the distance between the top edge of one window and a vertically adjacent window.
Definition: nvmedia_isp_stat.h:281
NvMediaISPLocalToneMapStats::ellipticalMaskEnable
NvMediaBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:397
NvMediaISPBadPixelStatsData::highMagOutWin
uint32_t highMagOutWin
Holds accumulated pixel adjustment for pixels corrected upward outside the window.
Definition: nvmedia_isp_stat.h:592
NvMediaISPLocalToneMapStats::ellipticalMask
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:410
NvMediaISPRadialTF
Defines a radial transform.
Definition: nvmedia_isp_stat.h:134
NvMediaISPFlickerBandStatsData::bandCount
uint32_t bandCount
Holds band count.
Definition: nvmedia_isp_stat.h:607
NvMediaISPStatisticsWindows::numWindowsV
uint32_t numWindowsV
Holds number of windows vertically.
Definition: nvmedia_isp_stat.h:271
NvMediaISPStatisticsWindows::numWindowsH
uint32_t numWindowsH
Holds number of windows horizontally.
Definition: nvmedia_isp_stat.h:267
NvMediaISPFlickerBandStats::ellipticalMask
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask to exclude pixels outside a specified area.
Definition: nvmedia_isp_stat.h:477
NvMediaISPBadPixelStatsData::lowMagOutWin
uint32_t lowMagOutWin
Holds accumulated pixel adjustment for pixels corrected downward outside the window.
Definition: nvmedia_isp_stat.h:597
NvMediaISPHistogramStats
Holds controls for histogram statistics (HIST Stats).
Definition: nvmedia_isp_stat.h:160
NvMediaISPLocalToneMapStats::enable
NvMediaBool enable
Holds a Boolean to enable the local tonemap statistics block.
Definition: nvmedia_isp_stat.h:378
NvMediaISPSplineControlPoint::slope
double_t slope
Holds slope of the spline curve at the control point.
Definition: nvmedia_isp_stat.h:105
NvMediaISPFlickerBandStats::bandCount
uint16_t bandCount
Holds count of flicker band samples to collect per frame.
Definition: nvmedia_isp_stat.h:434
NvMediaISPLocalAvgClipStatsROIData::numWindowsV
uint32_t numWindowsV
Holds number of windows vertically in one region of interest.
Definition: nvmedia_isp_stat.h:506
NvMediaISPStatisticsWindows::height
uint32_t height
Holds height of the window in pixels.
Definition: nvmedia_isp_stat.h:263
NvMediaISPHistogramStats::ellipticalMaskEnable
NvMediaBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:202
NvMediaPointFloat
Defines the float-precision location of a point on a two-dimensional object.
Definition: nvmedia_core.h:158
NVM_ISP_MAX_FB_BANDS
#define NVM_ISP_MAX_FB_BANDS
Maximum number of bands for flicker band statistics block.
Definition: nvmedia_isp_stat.h:88
NvMediaISPRadialTF::radialTransform
NvMediaISPEllipse radialTransform
Holds ellipse for radial transform.
Definition: nvmedia_isp_stat.h:147
NVM_ISP_LTM_HIST_BINS
#define NVM_ISP_LTM_HIST_BINS
Number of histogram bins for local tone map statistics block.
Definition: nvmedia_isp_stat.h:78
NvMediaISPHistogramStats::rectangularMask
NvMediaRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:197
NvMediaISPLocalAvgClipStats::ellipticalMask
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside specified area.
Definition: nvmedia_isp_stat.h:342
NvMediaISPLocalToneMapStats::rectangularMask
NvMediaRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
Definition: nvmedia_isp_stat.h:392
NvMediaISPEllipse::angle
float_t angle
Holds angle of the ellipse horizontal axis from X axis in degrees in clockwise direction.
Definition: nvmedia_isp_stat.h:128
NvMediaBool
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
NvMediaISPHistogramStats::offset
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Definition: nvmedia_isp_stat.h:169
NvMediaISPFlickerBandStats::enable
NvMediaBool enable
Holds a Boolean to enable flicker band statistics block.
Definition: nvmedia_isp_stat.h:420
NvMediaISPLocalAvgClipStats
Holds controls for local average and clip statistics (LAC Stats).
Definition: nvmedia_isp_stat.h:291
NvMediaISPHistogramStatsData
Holds histogram statistics (HIST Stats).
Definition: nvmedia_isp_stat.h:483
NVM_ISP_MAX_LAC_ROI
#define NVM_ISP_MAX_LAC_ROI
Maximum number of local average and clip statistic block regions of interest.
Definition: nvmedia_isp_stat.h:62
NvMediaISPBadPixelStatsData::lowMagInWin
uint32_t lowMagInWin
Holds accumulated pixel adjustment for pixels corrected downward within the window.
Definition: nvmedia_isp_stat.h:580
NvMediaISPEllipse::horizontalAxis
uint32_t horizontalAxis
Holds horizontal axis of the ellipse.
Definition: nvmedia_isp_stat.h:119
NvMediaISPFlickerBandStats
Holds controls for flicker band statistics (FB Stats).
Definition: nvmedia_isp_stat.h:416
NvMediaISPLocalAvgClipStatsROIData
Holds local average and clip statistics data for a region of interest.
Definition: nvmedia_isp_stat.h:498