Collaboration diagram for X11 Window System Integration Layer:
![]() |
vdpau/vdpau
.hvdpau/vdpau_x11
.hlibvdpau.so.1
(runtime)libvdpau.so
(development)$moduledir/libvdpau_%s.so.1
For example:/usr/lib/vdpau/libvdpau_nvidia
.so.1/usr/lib/vdpau/libvdpau_intel
.so.1/usr/lib/vdpau/libvdpau_ati
.so.1The VDPAU wrapper library implements just one function; vdp_device_create_x11. The wrapper will implement this function by dynamically loading the appropriate back-end driver file mentioned above. Long-term, the wrapper will use a VDPAU-specific X extension to determine which back-end driver to load. Currently, the wrapper library hard-codes the driver name as "nvidia", although this can be overridden using the environment variable VDPAU_DRIVER.
The back-end driver is expected to implement a function named vdp_imp_device_create_x11. The wrapper will call this function to actually implement the vdp_device_create_x11 application call.
Note that it is theoretically possible for an application to create multiple VdpDevice objects. In this case, the wrapper library may load multiple back-end drivers into the same application, and/or invoke a specific back-end driver's VdpImpDeviceCreateX11 multiple times. The wrapper libray imposes no policy regarding whether the application may instantiate multiple VdpDevice objects for the same display and/or screen. However, back-end drivers are free to limit the number of VdpDevice objects as required by their implementation.
#define | VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_CREATE_X11 |
typedef VdpStatus | VdpDeviceCreateX11 (Display *display, int screen, VdpDevice *device, VdpGetProcAddress **get_proc_address) |
Create a VdpDevice object for use with X11. | |
typedef VdpStatus | VdpPresentationQueueTargetCreateX11 (VdpDevice device, Drawable drawable, VdpPresentationQueueTarget *target) |
Create a VdpPresentationQueueTarget for use with X11. | |
VdpDeviceCreateX11 | vdp_device_create_x11 |
Create a VdpDevice object for use with X11. This is an actual symbol of type VdpDeviceCreateX11. |
|
|
|
Create a VdpDevice object for use with X11.
|
|
Create a VdpPresentationQueueTarget for use with X11.
Applications may also create child-windows of the presentation queue target, which will cover any presented video in the normal fashion. VDPAU implementations will not manipulate such child windows in any fashion. |
|
Create a VdpDevice object for use with X11. This is an actual symbol of type VdpDeviceCreateX11.
|