FFmpeg Begins Integrating Intel oneVPL Support
Given the widespread use of the FFmpeg multimedia library, over the years Intel engineers have contributed Vulkan filters, VA-API AV1 decode, OpenVINO integration, and numerous other features overtime to this open-source project where it benefits their hardware support. The latest achievement is now adding Intel oneVPL support to FFmpeg.
The oneVPL library is part of their leading oneAPI toolkit. This is a complete Video Processing Library with integration for both video encode and decode as well as post-processing. The oneVPL library allows building portable media pipelines that can execute on CPUs, GPUs, or technically other accelerators as well if supporting the oneVPL interface. The project's GitHub further sums up oneVPL as:
It provides device discovery and selection in media centric and video analytics workloads and API primitives for zero-copy buffer sharing. oneVPL is backwards and cross-architecture compatible to ensure optimal execution on current and next generation hardware without source code changes.
Currently Intel offers a CPU-based oneVPL back-end and a native oneVPL implementation for Gen12 / Xe Graphics and newer. Meanwhile for older Intel hardware they have Intel Media SDK integration to be able to use software supporting the modern oneVPL interface but for older driver use.
Intel documentation highlighting their multi-backend support for oneVPL with this open standard being able to accommodate both new and old drivers, accelerators, and even potentially other hardware vendor video interfaces.
The oneVPL software is still new so is of limited use thus far but that is immediately broadened now that Intel has contributed oneVPL integration into FFmpeg. As of yesterday the initial oneVPL commits have landed into FFmpeg. The oneVPL 2.0 library or newer is required. The "--enable-libvpl" option must be set at FFmpeg's build-time for enabling this oneVPL support and will not work in conjunction with FFmpeg's older Intel Media SDK / Quick Sync Video (QSV) as part of the same build.
This is great news for the next FFmpeg release and hopefully we'll continue seeing more open-source project adoption of oneVPL and for oneAPI at large.