DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

ImageSipl.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
47#ifndef DW_IMAGE_IMAGE_SIPL_H_
48#define DW_IMAGE_IMAGE_SIPL_H_
49
50#include <dw/image/Image.h>
51
52#include <NvSIPLClient.hpp>
53#include <NvSIPLISPStat.hpp>
54typedef nvsipl::NvSiplISPBadPixelStats NvMediaISPBadPixelStats;
55typedef nvsipl::NvSiplISPBadPixelStatsData NvMediaISPBadPixelStatsData;
56typedef nvsipl::NvSiplISPLocalAvgClipStats NvMediaISPLocalAvgClipStats;
57typedef nvsipl::NvSiplISPLocalAvgClipStatsData NvMediaISPLocalAvgClipStatsData;
58typedef nvsipl::NvSiplISPHistogramStatsData NvMediaISPHistogramStatsData;
59typedef nvsipl::NvSiplISPHistogramStats NvMediaISPHistogramStats;
60
61#ifdef __cplusplus
62extern "C" {
63#endif
64
66#define DW_IMAGE_NUM_ISP_UNITS 2
67#define DW_LUMINANCE_NUM_ISP_UNITS 1
68#define DW_ISP_MAX_LAC_ROI_WINDOWS (NVSIPL_ISP_MAX_LAC_ROI_WINDOWS)
69#define DW_ISP_MAX_LAC_ROI (NVSIPL_ISP_MAX_LAC_ROI)
70
72typedef struct
73{
74 // Only the first three params from NvMediaISPLocalAvgClipStatsData are needed for luminance per
75 // https://nvbugs/3808315
76
77 /* Holds number of windows horizontally in one region of interest.
78 */
79 uint32_t numWindowsH;
83 uint32_t numWindowsV;
89
91
92typedef struct
93{
96
97typedef struct
98{
100 uint32_t numExposures;
101
103 DevBlkCDIExposure sensorExpInfo;
104
106 DevBlkCDIWhiteBalance sensorWBInfo;
107
109 DevBlkCDIIllumination illuminationInfo;
110
112 bool histValid[DW_IMAGE_NUM_ISP_UNITS];
113
116
119
122
125
128
130 bool localAvgClipStatsValid[DW_LUMINANCE_NUM_ISP_UNITS];
131
133 // This is primarily being used to store the luminance data as per https://nvbugs/3808315
135
139
156
169
170#ifdef __cplusplus
171}
172#endif
173
175#endif // DW_IMAGE_IMAGE_SIPL_H_
dwStatus
Status definition.
Definition: ErrorDefs.h:44
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
#define DW_API_PUBLIC
Definition: Exports.h:56
bool badPixelStatsValid
Holds a flag indicating if the ISP bad pixel statistics are valid.
Definition: ImageSipl.h:121
NvMediaISPBadPixelStats badPixelSettings
Holds the ISP bad pixel settings for the previous ISP output frame.
Definition: ImageSipl.h:127
DevBlkCDIExposure sensorExpInfo
Holds sensor exposure info including exposure times and gains.
Definition: ImageSipl.h:103
DevBlkCDIWhiteBalance sensorWBInfo
Holds the sensor white balance info.
Definition: ImageSipl.h:106
uint32_t numExposures
Holds the number of the exposures.
Definition: ImageSipl.h:100
DevBlkCDIIllumination illuminationInfo
Holds the sensor illumination info.
Definition: ImageSipl.h:109
uint32_t numWindowsV
Holds number of windows vertically in one region of interest.
Definition: ImageSipl.h:83
NvMediaISPBadPixelStatsData badPixelStats
Holds the ISP bad pixel statistics for the previous ISP output frame.
Definition: ImageSipl.h:124
DW_API_PUBLIC dwStatus dwImage_getNvSIPLMetadata(dwImageNvSIPLMetadata *metadata, dwConstImageHandle_t image)
Retrieves the SIPL metadata of a dwImageHandle_t.
#define DW_ISP_MAX_LAC_ROI
Definition: ImageSipl.h:69
nvsipl::NvSiplISPLocalAvgClipStats NvMediaISPLocalAvgClipStats
Definition: ImageSipl.h:56
#define DW_ISP_MAX_LAC_ROI_WINDOWS
Definition: ImageSipl.h:68
#define DW_LUMINANCE_NUM_ISP_UNITS
Definition: ImageSipl.h:67
nvsipl::NvSiplISPHistogramStatsData NvMediaISPHistogramStatsData
Definition: ImageSipl.h:58
nvsipl::NvSiplISPBadPixelStatsData NvMediaISPBadPixelStatsData
Definition: ImageSipl.h:55
DW_API_PUBLIC dwStatus dwImage_setNvSIPLMetadata(dwImageNvSIPLMetadata const *const metadata, dwImageHandle_t const image)
Sets the SIPL metadata of a dwImageHandle_t.
nvsipl::NvSiplISPBadPixelStats NvMediaISPBadPixelStats
Definition: ImageSipl.h:54
#define DW_IMAGE_NUM_ISP_UNITS
Number of available ISP Units.
Definition: ImageSipl.h:66
nvsipl::NvSiplISPLocalAvgClipStatsData NvMediaISPLocalAvgClipStatsData
Definition: ImageSipl.h:57
nvsipl::NvSiplISPHistogramStats NvMediaISPHistogramStats
Definition: ImageSipl.h:59
SIPL meta information stored with each image.
Definition: ImageSipl.h:73
struct dwImageObject * dwImageHandle_t
Definition: Image.h:105
struct dwImageObject const * dwConstImageHandle_t
Definition: Image.h:106
#define DW_ISP_MAX_COLOR_COMPONENT
Definition: Image.h:90
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality