VPI - Vision Programming Interface

0.2.0 Release

EGL Interoperability

Functions

VPIStatus vpiImageWrapEglImage (EGLImageKHR eglImage, uint32_t flags, VPIImage *img)
 Create an image object by wrapping around an EGLImage. More...
 
VPIStatus vpiEventWrapEglSync (EGLSyncKHR eglSync, VPIEvent *event)
 Create an event object by wrapping around an EGL sync object created from another client API. More...
 
VPIStatus vpiEventExportEglSync (VPIEvent event, EGLDisplay eglDpy, EGLSyncKHR *eglSync)
 Export a recorded VPI event to EGL sync object. More...
 

Detailed Description

EGL is our main vehicle for interoperability with multimedia, camera and graphics APIs.

We provide function to export VPIEvent objects to be consumed by other APIs, as well as function to import images and sync objects from them.

Function Documentation

◆ vpiEventExportEglSync()

VPIStatus vpiEventExportEglSync ( VPIEvent  event,
EGLDisplay  eglDpy,
EGLSyncKHR *  eglSync 
)

#include <vpi/EGL.h>

Export a recorded VPI event to EGL sync object.

The resulting object can be used to allow a command queue belonging to an external API to wait on a recorded VPI event.

The exported EGLSync must be destroyed using eglDestroySyncKHR before the VPI event object is destroyed.

Warning
This function is currently not implemented.
Parameters
event[in] event that is being exported
eglDpy[in] EGL display for which the sync object is being created.
eglSync[out] Exported EGL sync handle
Returns
Always returns VPI_ERROR_NOT_IMPLEMENTED.

◆ vpiEventWrapEglSync()

VPIStatus vpiEventWrapEglSync ( EGLSyncKHR  eglSync,
VPIEvent event 
)

#include <vpi/EGL.h>

Create an event object by wrapping around an EGL sync object created from another client API.

The created event can be used by vpiEventSync / vpiStreamWaitFor to synchronize VPI tasks with a command queue from an external API.

Warning
This function is currently not implemented.
Parameters
eglSync[in] EGL sync handle
event[out] pointer to an event handle
Returns
Always returns VPI_ERROR_NOT_IMPLEMENTED.

◆ vpiImageWrapEglImage()

VPIStatus vpiImageWrapEglImage ( EGLImageKHR  eglImage,
uint32_t  flags,
VPIImage img 
)

#include <vpi/EGL.h>

Create an image object by wrapping around an EGLImage.

The underlying image object does not own/claim the memory block.

Parameters
eglImage[in] EGL image created from another client API
flags[in] flags
img[out] pointer to an image handle
Returns