The main entry-point to the API is the VPIStream object. More...
Typedefs | |
| typedef struct VPIStreamImpl * | VPIStream |
| A handle to a stream. | |
Enumerations | |
| enum | VPIDeviceType { VPI_DEVICE_TYPE_INVALID, VPI_DEVICE_TYPE_CPU, VPI_DEVICE_TYPE_CUDA, VPI_DEVICE_TYPE_PVA } |
| Device types. More... | |
Functions | |
| VPIStatus | vpiStreamCreate (VPIDeviceType devType, VPIStream *stream) |
| Create a stream instance. More... | |
| VPIStatus | vpiStreamWrapCuda (CUstream cudaStream, VPIStream *stream) |
| Wraps an existing CUDA stream in a VPI stream for CUDA backend. More... | |
| void | vpiStreamDestroy (VPIStream stream) |
| Destroy a stream instance and deallocate all HW resources. More... | |
| VPIStatus | vpiStreamGetDeviceType (VPIStream stream, VPIDeviceType *deviceType) |
| Returns the backend type associated with the given stream. More... | |
| VPIStatus | vpiStreamSync (VPIStream stream) |
| Blocks the calling thread until all submitted commands in this stream queue are done (queue is empty). More... | |
| VPIStatus | vpiStreamWaitFor (VPIStream stream, VPIEvent event) |
| Pushes a command that blocks the processing of all future commands by the backend until the event is completed. More... | |
| VPIStatus | vpiStreamGetThreadHandle (VPIStream stream, VPINativeThreadHandle *handle) |
| Returns OS-specific handle of the background stream processing thread. More... | |
The main entry-point to the API is the VPIStream object.
This object represents:
| enum VPIDeviceType |
#include <vpi/Types.h>
Device types.
| Enumerator | |
|---|---|
| VPI_DEVICE_TYPE_INVALID | Invalid backend. |
| VPI_DEVICE_TYPE_CPU | CPU backend. |
| VPI_DEVICE_TYPE_CUDA | CUDA backend. |
| VPI_DEVICE_TYPE_PVA | PVA backend. |
| VPIStatus vpiStreamCreate | ( | VPIDeviceType | devType, |
| VPIStream * | stream | ||
| ) |
#include <vpi/Stream.h>
Create a stream instance.
| devType | [in] device type |
| stream | [out] pointer to stream handle |
| void vpiStreamDestroy | ( | VPIStream | stream | ) |
#include <vpi/Stream.h>
Destroy a stream instance and deallocate all HW resources.
| stream | [in] stream handle |
| VPIStatus vpiStreamGetDeviceType | ( | VPIStream | stream, |
| VPIDeviceType * | deviceType | ||
| ) |
#include <vpi/Stream.h>
Returns the backend type associated with the given stream.
| stream | [in] stream handle |
| deviceType | [out] pointer to where the device type will be stored. It can't be NULL. |
| VPIStatus vpiStreamGetThreadHandle | ( | VPIStream | stream, |
| VPINativeThreadHandle * | handle | ||
| ) |
#include <vpi/Stream.h>
Returns OS-specific handle of the background stream processing thread.
| stream | [in] stream handle |
| handle | [out] stream processing thread handle |
#include <vpi/Stream.h>
Blocks the calling thread until all submitted commands in this stream queue are done (queue is empty).
This function call is equivalent to atomically calling vpiEventRecord followed by vpiStreamWaitFor.
| stream | [in] stream handle |
#include <vpi/Stream.h>
Pushes a command that blocks the processing of all future commands by the backend until the event is completed.
| stream | [in] Stream handle |
| event | [in] event handle |
#include <vpi/Stream.h>
Wraps an existing CUDA stream in a VPI stream for CUDA backend.
This allows interleaving user-defined and vpi processing in the same CUDA stream.
| cudaStream | [in] The CUDA stream handle to be wrapped |
| stream | [out] Pointer that will receive the newly created VPIStream. |