DriveWorks SDK Reference
4.0.0 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 
57 // dwStereoPVA
59 
63 typedef struct dwStereoPVAObject* dwStereoPVAHandle_t;
64 
68 typedef enum {
76 
80 typedef struct
81 {
91 
102 
117 dwStatus dwStereoPVA_initialize(dwStereoPVAHandle_t* obj, uint32_t width, uint32_t height,
118  const dwStereoPVAParams* stereoParams, dwContextHandle_t ctx);
119 
142  dwImageHandle_t confidenceMap,
143  const dwImageHandle_t leftImage,
144  const dwImageHandle_t rightImage,
145  dwStereoPVAHandle_t obj);
146 
157 
168 
179 dwStatus dwStereoPVA_setCUDAStream(cudaStream_t stream, dwStereoPVAHandle_t obj);
180 
191 dwStatus dwStereoPVA_getCUDAStream(cudaStream_t* stream, dwStereoPVAHandle_t obj);
192 
203 dwStatus dwStereoPVA_reset(dwStereoPVAHandle_t obj);
204 
219 dwStatus dwStereoPVA_release(dwStereoPVAHandle_t obj);
220 
221 #ifdef __cplusplus
222 }
223 #endif
224 
226 #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:70
NVIDIA DriveWorks API: Rig Configuration
struct dwImageObject * dwImageHandle_t
Definition: Image.h:100
High quality with low performance.
Definition: StereoPVA.h:74
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:180
Configuration parameters for a Stereo algorithm.
Definition: StereoPVA.h:80
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:68
dwStereoPVAMode estimationMode
Estimation mode that determines the speed and quality of stereo algorithm.
Definition: StereoPVA.h:83
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:89
dwProcessorType processorPVA
Specifies the processor type for the stages of the pipeline which run on PVA.
Definition: StereoPVA.h:86
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:79
struct dwStereoPVAObject * dwStereoPVAHandle_t
A pointer to the handle representing a stereo algorithm on PVA.
Definition: StereoPVA.h:63
DW_API_PUBLIC dwStatus dwStereoPVA_release(dwStereoPVAHandle_t obj)
Releases the stereo algorithm.
Ultra high performance with lowest quality.
Definition: StereoPVA.h:72
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:54
Defines the properties of the image.
Definition: Image.h:238
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.