NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
SoftISP.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2015-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
42 #ifndef DW_SOFTISP_H_
43 #define DW_SOFTISP_H_
44 
45 #include <dw/core/base/Config.h>
46 #include <dw/core/context/Context.h>
47 #include <dw/core/base/Exports.h>
48 #include <dw/core/base/Types.h>
49 #include <dw/image/Image.h>
50 #include <dw/sensors/camera/Camera.h>
51 #include <dw/isp/Tonemap.h>
52 #include <stdint.h>
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
58 /************************************************************************
59  NOTE THAT THIS API HAS DEPRECATED AND IS NOT PUBLIC ANYMORE, DO NOT USE
60 ************************************************************************/
61 
64 typedef struct dwSoftISPObject* dwSoftISPHandle_t;
65 
72 
73 typedef enum dwSoftISPDenoiseMethod {
79 
80 typedef enum dwSoftISPProcessType {
88 
95 
96 typedef struct dwSoftISPParams
97 {
99  uint32_t width;
100 
102  uint32_t height;
103 
106 
107  // Camera RAW format
109 
110  // Camera Revision number
111  uint32_t cameraRevision;
112 
115 
116  const char* cameraModuleName;
118 
131  const dwCameraProperties* cameraProps);
132 
147  const dwSoftISPParams* params,
148  const dwContextHandle_t ctx);
149 
162 
179 
194 
210 
229 
248 
273 
290 
304 
317 
330 
343 
357 
370 
383 
396 
410 
424 
439 
453 
467 
480 dwStatus dwSoftISP_setProcessType(const int32_t processType, dwSoftISPHandle_t obj);
481 
482 // DEPRECATED APIS
483 
484 // /**
485 // * Runs the Software ISP to convert the bound raw image into whatever output was bound beforehand.
486 // * The command will process as explained in the table at the beginning of the page (DW_SOFTISP_ is omitted).
487 // *
488 // * @param[in] type A bitwise mask of the process output chosen (must match or be a subset of the bound images).
489 // * @param[in] obj A pointer to the Software ISP handle.
490 // *
491 // * @return DW_SUCCESS, DW_INVALID_HANDLE
492 // * \ingroup soft_ISP
493 // *
494 // */
495 //DW_API_PUBLIC
496 //dwStatus dwSoftISP_processDeviceAsync(const uint32_t processType, dwSoftISPHandle_t obj);
497 
498 #ifdef __cplusplus
499 }
500 #endif
501 
503 #endif // DW_soft_ISP_H_
dwSoftISPParams::cameraType
dwCameraType cameraType
Camera Type.
Definition: SoftISP.h:105
dwSoftISP_getDemosaicImageProperties
DW_API_PUBLIC dwStatus dwSoftISP_getDemosaicImageProperties(dwImageProperties *imageProperties, dwSoftISPHandle_t obj)
Gets the image properties for the produced demosaiced images.
dwSoftISP_setProcessType
DW_API_PUBLIC dwStatus dwSoftISP_setProcessType(const int32_t processType, dwSoftISPHandle_t obj)
Sets the proceesed output type that will be computed.
dwSoftISP_bindOutputDemosaic
DW_API_PUBLIC dwStatus dwSoftISP_bindOutputDemosaic(dwImageCUDA *demosaicImage, dwSoftISPHandle_t obj)
Binds a demosaic image to the softISP.
dwSoftISP_bindOutputTonemap
DW_API_PUBLIC dwStatus dwSoftISP_bindOutputTonemap(dwImageCUDA *tonemappedImage, dwSoftISPHandle_t obj)
Binds a tone-mapped image to the softISP.
dwSoftISP_getDenoiseMethod
DW_API_PUBLIC dwStatus dwSoftISP_getDenoiseMethod(dwSoftISPDenoiseMethod *method, dwSoftISPHandle_t obj)
Gets the method used for denoising.
dwSoftISPParams
Definition: SoftISP.h:96
dwSoftISPParams::width
uint32_t width
Input Image Width.
Definition: SoftISP.h:99
dwSoftISP_getBayerImageProperties
DW_API_PUBLIC dwStatus dwSoftISP_getBayerImageProperties(dwImageProperties *imageProperties, dwSoftISPHandle_t obj)
Gets the image properties for the produced Bayer images.
DW_SOFTISP_DEMOSAIC_METHOD_INTERPOLATION
@ DW_SOFTISP_DEMOSAIC_METHOD_INTERPOLATION
Full camera resolution using interpolation.
Definition: SoftISP.h:68
dwSoftISP_getTonemapType
DW_API_PUBLIC dwStatus dwSoftISP_getTonemapType(dwTonemapMethod *type, dwSoftISPHandle_t obj)
Gets the tonemap type.
DW_SOFTISP_DENOISE_METHOD_NONE
@ DW_SOFTISP_DENOISE_METHOD_NONE
No denoising.
Definition: SoftISP.h:75
dwSoftISPParams::cameraModuleName
const char * cameraModuleName
Definition: SoftISP.h:116
ctx
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
Definition: PointCloudRangeImageCreator.h:293
dwSoftISP_getWhiteBalanceMode
DW_API_PUBLIC dwStatus dwSoftISP_getWhiteBalanceMode(dwSoftISPWhiteBalanceMode *mode, dwSoftISPHandle_t obj)
Gets the whitebalance mode.
DW_SOFTISP_PROCESS_TYPE_BAYER
@ DW_SOFTISP_PROCESS_TYPE_BAYER
Compute Bayer.
Definition: SoftISP.h:82
DW_SOFTISP_DEMOSAIC_METHOD_DOWNSAMPLE
@ DW_SOFTISP_DEMOSAIC_METHOD_DOWNSAMPLE
Half camera resolution combining a 2x2 Bayer cell into one output pixel.
Definition: SoftISP.h:70
mode
dwGPSMode mode
Definition: GPS.h:285
DW_SOFTISP_PROCESS_TYPE_TONEMAP
@ DW_SOFTISP_PROCESS_TYPE_TONEMAP
Compute tone map.
Definition: SoftISP.h:86
dwCameraRawFormat
dwCameraRawFormat
Raw encoding formats pixel-order.
Definition: Camera.h:107
dwSoftISP_reset
DW_API_PUBLIC dwStatus dwSoftISP_reset(dwSoftISPHandle_t obj)
Resets the softISP pipeline.
dwSoftISP_initialize
DW_API_PUBLIC dwStatus dwSoftISP_initialize(dwSoftISPHandle_t *obj, const dwSoftISPParams *params, const dwContextHandle_t ctx)
Creates and initializes the software ISP pipeline.
dwSoftISPDenoiseMethod
dwSoftISPDenoiseMethod
Definition: SoftISP.h:73
DW_SOFTISP_WHITEBALANCE_MODE_FIXED
@ DW_SOFTISP_WHITEBALANCE_MODE_FIXED
Image is white-balanced according to fixed parameters from the sensor.
Definition: SoftISP.h:91
dwSoftISP_setTonemapType
DW_API_PUBLIC dwStatus dwSoftISP_setTonemapType(dwTonemapMethod type, dwSoftISPHandle_t obj)
Sets the tonemap type.
dwSoftISP_setWhiteBalanceMode
DW_API_PUBLIC dwStatus dwSoftISP_setWhiteBalanceMode(dwSoftISPWhiteBalanceMode mode, dwSoftISPHandle_t obj)
Sets the whitebalance mode.
dwSoftISP_processDeviceAsync
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.
dwSoftISPProcessType
dwSoftISPProcessType
Definition: SoftISP.h:80
dwImageCUDA
Defines a CUDA image.
Definition: Image.h:508
dwSoftISP_setCUDAStream
DW_API_PUBLIC dwStatus dwSoftISP_setCUDAStream(cudaStream_t stream, dwSoftISPHandle_t obj)
Sets the CUDA stream for the softISP pipeline.
dwRect
Defines a rectangle.
Definition: GeometricTypes.h:47
dwSoftISP_getDemosaicROI
DW_API_PUBLIC dwStatus dwSoftISP_getDemosaicROI(dwRect *cropRegion, dwSoftISPHandle_t obj)
Gets the cropping region in the Bayer image used for demosaicing.
dwTonemapMethod
dwTonemapMethod
Definition: Tonemap.h:31
dwSoftISP_setDemosaicROI
DW_API_PUBLIC dwStatus dwSoftISP_setDemosaicROI(dwRect cropRegion, dwSoftISPHandle_t obj)
Sets the cropping region in the Bayer image used for demosaicing.
dwSoftISPParams::height
uint32_t height
Input Image Height.
Definition: SoftISP.h:102
dwSoftISPParams
struct dwSoftISPParams dwSoftISPParams
DW_SOFTISP_PROCESS_TYPE_DEMOSAIC
@ DW_SOFTISP_PROCESS_TYPE_DEMOSAIC
Compute demosaic.
Definition: SoftISP.h:84
WFDCommitType
WFDCommitType
Definition: wfd.h:112
dwSoftISPWhiteBalanceMode
dwSoftISPWhiteBalanceMode
Definition: SoftISP.h:89
dwSoftISP_release
DW_API_PUBLIC dwStatus dwSoftISP_release(dwSoftISPHandle_t obj)
Releases the softISP pipeline object.
dwImageProperties
Defines the properties of the image.
Definition: Image.h:477
dwCameraType
dwCameraType
Enum of available camera sensors.
Definition: Camera.h:156
dwSoftISP_getDemosaicMethod
DW_API_PUBLIC dwStatus dwSoftISP_getDemosaicMethod(dwSoftISPDemosaicMethod *method, dwSoftISPHandle_t obj)
Gets the method used for demosaic.
dwSoftISP_setDemosaicMethod
DW_API_PUBLIC dwStatus dwSoftISP_setDemosaicMethod(dwSoftISPDemosaicMethod method, dwSoftISPHandle_t obj)
Sets the method used to demosaic.
dwContextHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:74
dwCameraProperties
Camera Properties.
Definition: Camera.h:237
DW_SOFTISP_WHITEBALANCE_MODE_AUTO
@ DW_SOFTISP_WHITEBALANCE_MODE_AUTO
Image is automatically white-balanced.
Definition: SoftISP.h:93
dwSoftISP_getCUDAStream
DW_API_PUBLIC dwStatus dwSoftISP_getCUDAStream(cudaStream_t *stream, dwSoftISPHandle_t obj)
Gets the CUDA stream for the softISP pipeline.
dwSoftISPParams::cameraRawFormat
dwCameraRawFormat cameraRawFormat
Definition: SoftISP.h:108
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
dwSoftISPHandle_t
struct dwSoftISPObject * dwSoftISPHandle_t
Handle representing the Software ISP.
Definition: SoftISP.h:64
dwSoftISPParams::method
dwTonemapMethod method
Tonemapper type (select UNKNOWN for default/no tonemapping)
Definition: SoftISP.h:114
DW_SOFTISP_DENOISE_METHOD_BILATERAL
@ DW_SOFTISP_DENOISE_METHOD_BILATERAL
Bilateral denoising.
Definition: SoftISP.h:77
params
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
Definition: PointCloudRangeImageCreator.h:292
DW_API_PUBLIC
#define DW_API_PUBLIC
Definition: Exports.h:38
dwSoftISPDemosaicMethod
dwSoftISPDemosaicMethod
Definition: SoftISP.h:66
obj
const NvSciSyncObj *const obj
Definition: wfdext.h:120
dwSoftISP_initParamsFromCamera
DW_API_PUBLIC dwStatus dwSoftISP_initParamsFromCamera(dwSoftISPParams *params, const dwCameraProperties *cameraProps)
Initializes the parameters for the softISP using dwCameraProperties.
dwSoftISP_setDenoiseMethod
DW_API_PUBLIC dwStatus dwSoftISP_setDenoiseMethod(dwSoftISPDenoiseMethod method, dwSoftISPHandle_t obj)
Sets the method used to denoise.
dwSoftISP_bindOutputBayer
DW_API_PUBLIC dwStatus dwSoftISP_bindOutputBayer(dwImageCUDA *bayerImage, dwSoftISPHandle_t obj)
Binds a Bayer image to the softISP.
dwSoftISPParams::cameraRevision
uint32_t cameraRevision
Definition: SoftISP.h:111
dwSoftISP_bindInputRaw
DW_API_PUBLIC dwStatus dwSoftISP_bindInputRaw(const dwImageCUDA *rawImage, dwSoftISPHandle_t obj)
Binds the input image to the softISP.