Video Processing Library
Intel® oneAPI Video Processing Library (oneVPL) supports AI visual inference, media delivery, cloud gaming, and virtual desktop infrastructure use cases by providing access to hardware accelerated video decode, encode, and frame processing capabilities on Intel® GPUs.
See the oneVPL Specification for additional information. This is part of the oneAPI specification.
This repository contains the following components:
- Copies of the oneVPL Specification API header files. The version of the oneVPL API is listed in the mfxdefs.h file.
- oneVPL Dispatcher
- Examples demonstrating API usage
- oneVPL command line tools
To use oneVPL for video processing you need to install at least one implementation. Here is a list:
- oneVPL-intel-gpu for use on Intel® Iris® Xe graphics and newer
- Media SDK for use on legacy Intel® graphics
oneVPL Architecture
graph TD;
VPL[oneVPL Dispatcher]-->oneVPL-intel-gpu;
VPL[oneVPL Dispatcher]-->MediaSDK;
As shown in this diagram, the oneVPL Dispatcher forwards function calls from the application to use the selected runtime.
oneVPL Dispatcher behavior when targeting Intel® GPUs
Runtime loaded by oneVPL Dispatcher and their Microsoft* DirectX* support:
GPU | Media SDK | oneVPL | Microsoft* DirectX* Support |
---|---|---|---|
Earlier platforms, back to BDW (Broadwell) | DX9/DX11 | ||
ICL (Ice Lake) | DX9/DX11 | ||
JSL (Jasper Lake) | DX9/DX11 | ||
EHL (Elkhart Lake) | DX9/DX11 | ||
SG1 | DX9/DX11 | ||
TGL (Tiger Lake) | DX9/DX11* | ||
DG1 (Intel® Iris® Xe MAX) | DX11* | ||
RKL (Rocket Lake) | DX11 | ||
ADL-S (Alder Lake S) | DX11 | ||
ADL-P (Alder Lake P) | DX11 | ||
DG2 (Intel® Arc™ A-Series Graphics) | DX11 | ||
ATSM (Intel® Data Center GPU Flex Series) | DX11 | ||
Future platforms... | DX11 |
For TGL and DG1, if both oneVPL and Intel® Media SDK runtime are installed then the oneVPL Dispatcher will prefer oneVPL runtime unless the application requests D3D9 by setting the oneVPL Dispatcher filter property "mfxImplDescription.AccelerationMode" to MFX_ACCEL_MODE_VIA_D3D9.
Installation and Usage
Installation options
oneVPL may be installed:
- from source code. See install and use instructions at INSTALL.md.
- from Linux packages. See Intel® software for general purpose GPU capabilities
How to Contribute
See CONTRIBUTING.md for more information.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Security
See the Intel® Security Center for information on how to report a potential security issue or vulnerability.