DriveWorks SDK Reference
5.10.90 Release
For Test and Development only

SoftISP.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) 2015-2022 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
59#ifndef DW_SOFTISP_H_
60#define DW_SOFTISP_H_
61
62#include <dw/core/base/Config.h>
65#include <dw/core/base/Types.h>
66#include <dw/image/Image.h>
68#include <dw/isp/Tonemap.h>
69#include <stdint.h>
70
71#ifdef __cplusplus
72extern "C" {
73#endif
74
75/************************************************************************
76 NOTE THAT THIS API HAS DEPRECATED AND IS NOT PUBLIC ANYMORE, DO NOT USE
77************************************************************************/
78
81typedef struct dwSoftISPObject* dwSoftISPHandle_t;
82
89
96
105
112
113typedef struct dwSoftISPParams
114{
116 uint32_t width;
117
119 uint32_t height;
120
123
124 // Camera RAW format
126
127 // Camera Revision number
129
132
133 const char* cameraModuleName;
135
148 const dwCameraProperties* cameraProps);
149
164 const dwSoftISPParams* params,
165 const dwContextHandle_t ctx);
166
179
196
211
227
246
265
290
307
321
334
347
360
374
387
400
413
427
441
456
470
484
498
499// DEPRECATED APIS
500
501// /**
502// * Runs the Software ISP to convert the bound raw image into whatever output was bound beforehand.
503// * The command will process as explained in the table at the beginning of the page (DW_SOFTISP_ is omitted).
504// *
505// * @param[in] type A bitwise mask of the process output chosen (must match or be a subset of the bound images).
506// * @param[in] obj A pointer to the Software ISP handle.
507// *
508// * @return DW_SUCCESS, DW_INVALID_HANDLE
509// * \ingroup soft_ISP
510// *
511// */
512//DW_API_PUBLIC
513//dwStatus dwSoftISP_processDeviceAsync(const uint32_t processType, dwSoftISPHandle_t obj);
514
515#ifdef __cplusplus
516}
517#endif
518
520#endif // DW_soft_ISP_H_
NVIDIA DriveWorks API: Cameras
NVIDIA DriveWorks API: Core Methods
Defines a rectangle.
NVIDIA DriveWorks API: Tonemap Types
dwTonemapMethod
Definition: Tonemap.h:49
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Core Exports
dwCameraType
Enum of available camera sensors.
Definition: Camera.h:144
dwCameraRawFormat
Raw encoding formats pixel-order.
Definition: Camera.h:105
Camera Properties.
Definition: Camera.h:225
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:83
#define DW_API_PUBLIC
Definition: Exports.h:54
dwStatus
Status definition.
Definition: Status.h:173
Defines a CUDA image.
Definition: Image.h:420
Defines the properties of the image.
Definition: Image.h:390
uint32_t width
Input Image Width.
Definition: SoftISP.h:116
dwTonemapMethod method
Tonemapper type (select UNKNOWN for default/no tonemapping)
Definition: SoftISP.h:131
uint32_t cameraRevision
Definition: SoftISP.h:128
dwCameraRawFormat cameraRawFormat
Definition: SoftISP.h:125
dwCameraType cameraType
Camera Type.
Definition: SoftISP.h:122
const char * cameraModuleName
Definition: SoftISP.h:133
uint32_t height
Input Image Height.
Definition: SoftISP.h:119
DW_API_PUBLIC dwStatus dwSoftISP_initParamsFromCamera(dwSoftISPParams *params, const dwCameraProperties *cameraProps)
Initializes the parameters for the softISP using dwCameraProperties.
DW_API_PUBLIC dwStatus dwSoftISP_release(dwSoftISPHandle_t obj)
Releases the softISP pipeline object.
DW_API_PUBLIC dwStatus dwSoftISP_setTonemapType(dwTonemapMethod type, dwSoftISPHandle_t obj)
Sets the tonemap type.
DW_API_PUBLIC dwStatus dwSoftISP_setDenoiseMethod(dwSoftISPDenoiseMethod method, dwSoftISPHandle_t obj)
Sets the method used to denoise.
DW_API_PUBLIC dwStatus dwSoftISP_processDeviceAsync(dwSoftISPHandle_t obj)
Runs the Software ISP to convert the bound raw image into whatever output was bound beforehand.
DW_API_PUBLIC dwStatus dwSoftISP_setProcessType(const int32_t processType, dwSoftISPHandle_t obj)
Sets the proceesed output type that will be computed.
DW_API_PUBLIC dwStatus dwSoftISP_bindOutputBayer(dwImageCUDA *bayerImage, dwSoftISPHandle_t obj)
Binds a Bayer image to the softISP.
dwSoftISPProcessType
Definition: SoftISP.h:97
DW_API_PUBLIC dwStatus dwSoftISP_getDemosaicImageProperties(dwImageProperties *imageProperties, dwSoftISPHandle_t obj)
Gets the image properties for the produced demosaiced images.
DW_API_PUBLIC dwStatus dwSoftISP_setDemosaicMethod(dwSoftISPDemosaicMethod method, dwSoftISPHandle_t obj)
Sets the method used to demosaic.
DW_API_PUBLIC dwStatus dwSoftISP_bindOutputTonemap(dwImageCUDA *tonemappedImage, dwSoftISPHandle_t obj)
Binds a tone-mapped image to the softISP.
DW_API_PUBLIC dwStatus dwSoftISP_setDemosaicROI(dwRect cropRegion, dwSoftISPHandle_t obj)
Sets the cropping region in the Bayer image used for demosaicing.
DW_API_PUBLIC dwStatus dwSoftISP_bindInputRaw(const dwImageCUDA *rawImage, dwSoftISPHandle_t obj)
Binds the input image to the softISP.
DW_API_PUBLIC dwStatus dwSoftISP_getCUDAStream(cudaStream_t *stream, dwSoftISPHandle_t obj)
Gets the CUDA stream for the softISP pipeline.
DW_API_PUBLIC dwStatus dwSoftISP_setCUDAStream(cudaStream_t stream, dwSoftISPHandle_t obj)
Sets the CUDA stream for the softISP pipeline.
DW_API_PUBLIC dwStatus dwSoftISP_getDemosaicMethod(dwSoftISPDemosaicMethod *method, dwSoftISPHandle_t obj)
Gets the method used for demosaic.
DW_API_PUBLIC dwStatus dwSoftISP_getDenoiseMethod(dwSoftISPDenoiseMethod *method, dwSoftISPHandle_t obj)
Gets the method used for denoising.
DW_API_PUBLIC dwStatus dwSoftISP_getTonemapType(dwTonemapMethod *type, dwSoftISPHandle_t obj)
Gets the tonemap type.
DW_API_PUBLIC dwStatus dwSoftISP_reset(dwSoftISPHandle_t obj)
Resets the softISP pipeline.
DW_API_PUBLIC dwStatus dwSoftISP_setWhiteBalanceMode(dwSoftISPWhiteBalanceMode mode, dwSoftISPHandle_t obj)
Sets the whitebalance mode.
DW_API_PUBLIC dwStatus dwSoftISP_initialize(dwSoftISPHandle_t *obj, const dwSoftISPParams *params, const dwContextHandle_t ctx)
Creates and initializes the software ISP pipeline.
DW_API_PUBLIC dwStatus dwSoftISP_bindOutputDemosaic(dwImageCUDA *demosaicImage, dwSoftISPHandle_t obj)
Binds a demosaic image to the softISP.
DW_API_PUBLIC dwStatus dwSoftISP_getWhiteBalanceMode(dwSoftISPWhiteBalanceMode *mode, dwSoftISPHandle_t obj)
Gets the whitebalance mode.
dwSoftISPDemosaicMethod
Definition: SoftISP.h:83
struct dwSoftISPObject * dwSoftISPHandle_t
Handle representing the Software ISP.
Definition: SoftISP.h:81
DW_API_PUBLIC dwStatus dwSoftISP_getDemosaicROI(dwRect *cropRegion, dwSoftISPHandle_t obj)
Gets the cropping region in the Bayer image used for demosaicing.
dwSoftISPWhiteBalanceMode
Definition: SoftISP.h:106
dwSoftISPDenoiseMethod
Definition: SoftISP.h:90
DW_API_PUBLIC dwStatus dwSoftISP_getBayerImageProperties(dwImageProperties *imageProperties, dwSoftISPHandle_t obj)
Gets the image properties for the produced Bayer images.
@ DW_SOFTISP_PROCESS_TYPE_BAYER
Compute Bayer.
Definition: SoftISP.h:99
@ DW_SOFTISP_PROCESS_TYPE_TONEMAP
Compute tone map.
Definition: SoftISP.h:103
@ DW_SOFTISP_PROCESS_TYPE_DEMOSAIC
Compute demosaic.
Definition: SoftISP.h:101
@ DW_SOFTISP_DEMOSAIC_METHOD_INTERPOLATION
Full camera resolution using interpolation.
Definition: SoftISP.h:85
@ DW_SOFTISP_DEMOSAIC_METHOD_DOWNSAMPLE
Half camera resolution combining a 2x2 Bayer cell into one output pixel.
Definition: SoftISP.h:87
@ DW_SOFTISP_WHITEBALANCE_MODE_AUTO
Image is automatically white-balanced.
Definition: SoftISP.h:110
@ DW_SOFTISP_WHITEBALANCE_MODE_FIXED
Image is white-balanced according to fixed parameters from the sensor.
Definition: SoftISP.h:108
@ DW_SOFTISP_DENOISE_METHOD_NONE
No denoising.
Definition: SoftISP.h:92
@ DW_SOFTISP_DENOISE_METHOD_BILATERAL
Bilateral denoising.
Definition: SoftISP.h:94
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality