NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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 
89 #define NVM_ISP_MAX_FB_BANDS (256U)
90 
94 typedef struct {
98  float_t x;
102  float_t y;
106  double_t slope;
108 
112 typedef struct {
120  uint32_t horizontalAxis;
124  uint32_t verticalAxis;
129  float_t angle;
131 
135 typedef struct {
157 
161 typedef struct {
170  float_t offset;
176  uint8_t knees[NVM_ISP_HIST_KNEE_POINTS];
183  uint8_t ranges[NVM_ISP_HIST_KNEE_POINTS];
225 
252 typedef struct {
256  uint32_t width;
260  uint32_t height;
264  uint32_t numWindowsH;
268  uint32_t numWindowsV;
284 
288 typedef struct {
327  NvMediaBool ellipticalMaskEnable[NVM_ISP_MAX_LAC_ROI];
342 
346 typedef struct {
368 
372 typedef struct {
408 
412 typedef struct {
430  uint16_t bandCount;
437  uint32_t bandWidth;
445  uint32_t bandHeight;
450  float_t min;
455  float_t max;
475 
479 typedef struct {
488  uint32_t excludedCount[NVM_ISP_MAX_COLOR_COMPONENT];
490 
494 typedef struct {
498  uint32_t numWindowsH;
502  uint32_t numWindowsV;
520 
524 typedef struct {
530 
534 typedef struct {
538  uint32_t histogram[NVM_ISP_LTM_HIST_BINS];
554 
558 typedef struct {
562  uint32_t highInWin;
566  uint32_t lowInWin;
571  uint32_t highMagInWin;
576  uint32_t lowMagInWin;
580  uint32_t highOutWin;
584  uint32_t lowOutWin;
588  uint32_t highMagOutWin;
593  uint32_t lowMagOutWin;
595 
599 typedef struct {
603  uint32_t bandCount;
607  float_t luminance[NVM_ISP_MAX_FB_BANDS];
609 
621 #ifdef __cplusplus
622 }; /* extern "C" */
623 #endif
624 
625 #endif /* NVMEDIA_ISP_STAT_H */
NvMediaISPEllipse radialTransform
Holds ellipse for radial transform.
#define NVM_ISP_LTM_HIST_BINS
Number of histogram bins for local tone map statistics block.
uint32_t lowOutWin
Holds bad pixel count for pixels corrected downward outside the window.
uint32_t highOutWin
Holds bad pixel count for pixels corrected upward outside the window.
uint32_t lowInWin
Holds bad pixel count for pixels corrected downward within the window.
float_t min
Holds minimum value of pixel to include for flicker band stats.
float_t x
Holds X coordinate of the control point.
uint32_t verticalAxis
Holds vertical axis of the ellipse.
Holds controls for histogram statistics (HIST Stats).
#define NVM_ISP_MAX_LAC_ROI
Maximum number of local average and clip statistic block regions of interest.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
NvMediaBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area...
uint32_t height
Holds height of the window in pixels.
uint32_t numWindowsH
Holds number of windows horizontally in one region of interest.
Holds local average and clip statistics block (LAC Stats).
uint32_t highMagOutWin
Holds accumulated pixel adjustment for pixels corrected upward outside the window.
Holds bad pixel statistics (BP Stats).
#define NVM_ISP_LTM_AVG_WINDOWS
Number of averaging windows for local tone map statistics block.
NvMediaBool enable
Holds a Boolean to enable flicker band statistics block.
Defines the location of a point on a two-dimensional object.
Definition: nvmedia_core.h:147
NvMediaBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area...
uint32_t lowMagOutWin
Holds accumulated pixel adjustment for pixels corrected downward outside the window.
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside specified area.
Holds flicker band statistics (FB Stats).
Holds controls for bad pixel statistics (BP Stats).
Holds controls for local average and clip statistics (LAC Stats).
Holds histogram statistics (HIST Stats).
uint32_t horizontalInterval
Holds the distance between the left edge of one window and a horizontally adjacent window...
float_t offset
Holds offset to be applied to input data prior to bin mapping.
Holds controls for local tone map statistics (LTM Stats).
Defines an ellipse.
uint32_t lowMagInWin
Holds accumulated pixel adjustment for pixels corrected downward within the window.
NVIDIA Media Interface: Core
uint32_t bandCount
Holds band count.
uint32_t numWindowsH
Holds number of windows horizontally.
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
NvMediaISPRadialTF radialTF
Holds a radial transfer function for elliptical weight.
Defines the windows used in ISP stats calculations.
NvMediaBool enable
Holds a Boolean to enable the bad pixel statistics block.
float_t y
Holds Y coordinate of the control point.
NvMediaBool enable
Holds a Boolean to enable the local tonemap statistics block.
#define NVM_ISP_MAX_COLOR_COMPONENT
Maximum number of color components.
#define NVM_ISP_MAX_FB_BANDS
Maximum number of windows for local average and clip in a region of interest.
NvMediaBool enable
Holds a Boolean to enable the local average and clip statistics block.
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:133
NvMediaPoint center
Holds center of the ellipse.
#define NVM_ISP_MAX_LAC_ROI_WINDOWS
Maximum number of windows for local average and clip in a region of interest.
NvMediaBool ellipticalMaskEnable
Holds a Boolean to enable an elliptical mask for excluding pixels outside a specified area...
NvMediaBool ellipticalWeightEnable
Holds a Boolean to enable elliptical weighting of pixels based on spatial location.
NvMediaRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
NvMediaRect rectangularMask
Holds a rectangular mask for excluding pixels outside a specified area.
#define NVM_ISP_RADTF_POINTS
Number of radial transfer function control points.
NvMediaPoint startOffset
Holds the position of the top left pixel in the top left window.
Defines a radial transform.
float_t max
Holds maximum value of pixel to include for flicker band stats.
float_t angle
Holds angle of the ellipse horizontal axis from X axis in degrees in clockwise direction.
NvMediaRect rectangularMask
Holds rectangular mask for excluding pixel outside a specified area.
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask for excluding pixels outside a specified area.
Holds local tone map statistics block (LTM Stats).
#define NVM_ISP_HIST_KNEE_POINTS
Number of histogram knee points.
double_t slope
Holds slope of the spline curve at the control point.
uint32_t highInWin
Holds bad pixel count for pixels corrected upward within the window.
uint32_t bandWidth
Holds width of single band.
uint32_t bandHeight
Holds height of single band.
NvMediaPoint startOffset
Holds the offset of the first band top line.
NvMediaBool enable
Holds a Boolean to enable histogram statistics block.
uint32_t numWindowsV
Holds number of windows vertically in one region of interest.
Holds controls for flicker band statistics (FB Stats).
Holds local average and clip statistics data for a region of interest.
NvMediaISPEllipse ellipticalMask
Holds an elliptical mask to exclude pixels outside a specified area.
uint32_t width
Holds width of the window in pixels.
uint32_t numWindowsV
Holds number of windows vertically.
uint32_t highMagInWin
Holds accumulated pixel adjustment for pixels corrected upward within the window. ...
#define NVM_ISP_HIST_BINS
Number of histogram bins.
uint32_t verticalInterval
Holds the distance between the top edge of one window and a vertically adjacent window.
uint32_t horizontalAxis
Holds horizontal axis of the ellipse.
Defines a spline control point.
uint16_t bandCount
Holds count of flicker band samples to collect per frame.