FFmpeg Begins Integrating Intel oneVPL Support

Written by Michael Larabel in Multimedia on 12 August 2022 at 03:15 PM EDT. 2 Comments
Intel has contributed support for their oneVPL open-source video processing library to the upstream FFmpeg project for that widely-used, cross-platform multimedia library.

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.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week