NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.4 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 
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 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 bands for flicker band statistics block.
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
#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...
Defines the float-precision location of a point on a two-dimensional object.
Definition: nvmedia_core.h:158
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.
NvMediaPointFloat center
Holds center of the ellipse.
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.