DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

StereoPVA.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2015-2019 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
38 #ifndef DW_IMAGEPROCESSING_STEREO_STEREO_PVA_H_
39 #define DW_IMAGEPROCESSING_STEREO_STEREO_PVA_H_
40 
41 #include <dw/image/Image.h>
42 #include <dw/rig/Rig.h>
44 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
59 // dwStereoPVA
61 
65 typedef struct dwStereoPVAObject* dwStereoPVAHandle_t;
66 
70 typedef enum {
78 
82 typedef struct
83 {
93 
104 
119 dwStatus dwStereoPVA_initialize(dwStereoPVAHandle_t* obj, uint32_t width, uint32_t height,
120  const dwStereoPVAParams* stereoParams, dwContextHandle_t ctx);
121 
144  dwImageHandle_t confidenceMap,
145  const dwImageHandle_t leftImage,
146  const dwImageHandle_t rightImage,
147  dwStereoPVAHandle_t obj);
148 
159 
170 
181 dwStatus dwStereoPVA_setCUDAStream(cudaStream_t stream, dwStereoPVAHandle_t obj);
182 
193 dwStatus dwStereoPVA_getCUDAStream(cudaStream_t* stream, dwStereoPVAHandle_t obj);
194 
205 dwStatus dwStereoPVA_reset(dwStereoPVAHandle_t obj);
206 
221 dwStatus dwStereoPVA_release(dwStereoPVAHandle_t obj);
222 
223 #ifdef __cplusplus
224 }
225 #endif
226 
228 #endif // DW_IMAGEPROCESSING_STEREO_STEREO_PVA_H_
DW_API_PUBLIC dwStatus dwStereoPVA_computeDisparity(dwImageHandle_t disparityMap, dwImageHandle_t confidenceMap, const dwImageHandle_t leftImage, const dwImageHandle_t rightImage, dwStereoPVAHandle_t obj)
Executes the full pipeline and computes disparity map.
High performance with medium quality.
Definition: StereoPVA.h:72
NVIDIA DriveWorks API: Rig Configuration
struct dwImageObject * dwImageHandle_t
Definition: Image.h:99
High quality with low performance.
Definition: StereoPVA.h:76
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
DW_API_PUBLIC dwStatus dwStereoPVA_setCUDAStream(cudaStream_t stream, dwStereoPVAHandle_t obj)
Sets CUDA stream used by the stereo algorithm.
NVIDIA DriveWorks API: Stereo Methods
dwStatus
Status definition.
Definition: Status.h:178
Configuration parameters for a Stereo algorithm.
Definition: StereoPVA.h:82
DW_API_PUBLIC dwStatus dwStereoPVA_getDisparityImageProperties(dwImageProperties *props, dwStereoPVAHandle_t obj)
Get output disparity image properties.
dwProcessorType
Processor type definitions.
Definition: Types.h:159
dwStereoPVAMode
Stereo computation modes.
Definition: StereoPVA.h:70
dwStereoPVAMode estimationMode
Estimation mode that determines the speed and quality of stereo algorithm.
Definition: StereoPVA.h:85
DW_API_PUBLIC dwStatus dwStereoPVA_getCUDAStream(cudaStream_t *stream, dwStereoPVAHandle_t obj)
Gets CUDA stream used by the stereo algorithm.
dwProcessorType processorNVENC
Specifies the processor type for the stages of the pipeline which run on NVENC.
Definition: StereoPVA.h:91
dwProcessorType processorPVA
Specifies the processor type for the stages of the pipeline which run on PVA.
Definition: StereoPVA.h:88
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
struct dwStereoPVAObject * dwStereoPVAHandle_t
A pointer to the handle representing a stereo algorithm on PVA.
Definition: StereoPVA.h:65
DW_API_PUBLIC dwStatus dwStereoPVA_release(dwStereoPVAHandle_t obj)
Releases the stereo algorithm.
Ultra high performance with lowest quality.
Definition: StereoPVA.h:74
DW_API_PUBLIC dwStatus dwStereoPVA_reset(dwStereoPVAHandle_t obj)
Resets the Stereo module.
DW_API_PUBLIC dwStatus dwStereoPVA_getConfidenceImageProperties(dwImageProperties *props, dwStereoPVAHandle_t obj)
Get output confidence image properties.
#define DW_API_PUBLIC
Definition: Exports.h:56
Defines the properties of the image.
Definition: Image.h:236
DW_API_PUBLIC dwStatus dwStereoPVA_initialize(dwStereoPVAHandle_t *obj, uint32_t width, uint32_t height, const dwStereoPVAParams *stereoParams, dwContextHandle_t ctx)
Initializes the stereo algorithm with the parameters.
DW_API_PUBLIC dwStatus dwStereoPVA_initParams(dwStereoPVAParams *stereoParams)
Initializes the StereoPVA parameters.