Defines the image streamer function, enabling streaming images between different APIs.
|
DW_API_PUBLIC dwStatus | dwImageStreamer_getCUDAStream (cudaStream_t *stream, dwImageStreamerHandle_t streamer) |
| Get CUDA stream used by the image streamer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_getOutputProperties (dwImageProperties *props, dwImageStreamerHandle_t streamer) |
| Get image properties of the image received from the streamer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_initialize (dwImageStreamerHandle_t *streamer, const dwImageProperties *from, dwImageType to, dwContextHandle_t ctx) |
| Creates and initializes the image streamer capable of moving images between different API types. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_initializeCrossProcess (dwImageStreamerHandle_t *streamer, const dwImageProperties *from, dwImageType to, dwImageStreamerCrossProcessModeParams params, dwContextHandle_t ctx) |
| Creates and initializes the image streamer capable of moving images between different API types across processes. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_postCPU (dwImageCPU *image, dwImageStreamerHandle_t streamer) |
| Sends an image through the streamer acting as the producer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_postCUDA (dwImageCUDA *image, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_postCPU, but for dwImageCUDA. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_postGL (dwImageGL *image, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_postCPU, but for dwImageGL. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_receiveCPU (dwImageCPU **image, dwTime_t timeout_us, dwImageStreamerHandle_t streamer) |
| Receive a pointer to a dwImageCPU from the streamer, acting as a consumer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_receiveCUDA (dwImageCUDA **image, dwTime_t timeout_us, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_receiveCPU, but for dwImageCUDA. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_receiveGL (dwImageGL **image, dwTime_t timeout_us, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_receiveCPU, but for dwImageGL. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_release (dwImageStreamerHandle_t *streamer) |
| Releases the image streamer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_returnReceivedCPU (dwImageCPU *image, dwImageStreamerHandle_t streamer) |
| Return the received image back to the producer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_returnReceivedCUDA (dwImageCUDA *image, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_returnReceivedCPU, but for dwImageCUDA. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_returnReceivedGL (dwImageGL *image, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_returnReceivedCPU, but for dwImageGL. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_setCUDAStream (cudaStream_t stream, dwImageStreamerHandle_t streamer) |
| Sets the CUDA stream for CUDA related streaming operations such as post and receive. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_waitPostedCPU (dwImageCPU **image, dwTime_t timeout_us, dwImageStreamerHandle_t streamer) |
| The producer streamer waits for the image sent to be returned by the consumer. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_waitPostedCUDA (dwImageCUDA **image, dwTime_t timeout_us, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_waitPostedCPU, but for dwImageCUDA. More...
|
|
DW_API_PUBLIC dwStatus | dwImageStreamer_waitPostedGL (dwImageGL **image, dwTime_t timeout_us, dwImageStreamerHandle_t streamer) |
| Same as dwImageStreamer_waitPostedCPU, but for dwImageGL. More...
|
|
Creates and initializes the image streamer capable of moving images between different API types.
For example an image can be moved from NvMedia API (dwImageNvMedia
) into GL textured type (dwImagGL
) or from CPU memory (dwImageCPU
) to CUDA (dwImageCUDA
).
In general an image streamer does not perform any modifications on the format of the stored pixel data. However, in certain cases when going between APIs some meta information might be lost or transformed. Especially if an image contains embedded data lines, in some cases the embedded information is lost, while in others it became part of the image. To find all supported src/dst pairs as well as supported formats refer to the user guide. After successful streamer creation dwImageStreamer_getOutputProperties()
will return the expected properties of resulting images.
- Parameters
-
[out] | streamer | A handle to the image streamer (if succesfully initialized.) |
[in] | from | The properties of the source image for streaming. |
[in] | to | The type of the destination image. |
[in] | ctx | The DriveWorks context. |
- Returns
- DW_SUCCESS if the translator was created,
DW_INVALID_ARGUMENT if the given image types are invalid or the streamer pointer is null,
DW_INVALID_HANDLE if the given context handle is invalid,
DW_NOT_IMPLEMENTED if the desired streamer between given types is not implemented,
DW_NOT_AVAILABLE if the desired streamer between given two types is currently not available due to missing resources or non-initialized APIs,
or DW_NOT_SUPPORTED if the desired streamer cannot work with given pixel format or type.