FS#77760 - [ffmpeg] Add oneVPL support

Attached to Project: Arch Linux
Opened by Guido Iodice (guiodic) - Tuesday, 07 March 2023, 13:58 GMT
Last edited by Maxime Gauduin (Alucryd) - Tuesday, 19 September 2023, 14:06 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Maxime Gauduin (Alucryd)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 8
Private No


According ffmpeg 6.0 changelog, the new version supports oneVPL.

This should require a change to the ffmpeg build flag file, but it would also be useful to have a separate package for oneVPL, which is currently included in the oneAPI mega-package on Arch.
This task depends upon

Closed by  Maxime Gauduin (Alucryd)
Tuesday, 19 September 2023, 14:06 GMT
Reason for closing:  Implemented
Additional comments about closing:  2-6.0-11
Comment by Toolybird (Toolybird) - Tuesday, 07 March 2023, 21:04 GMT
> the oneAPI mega-package on Arch

Silly question time. Could you please point to this pkg? Thanks.
Comment by loqs (loqs) - Tuesday, 07 March 2023, 21:37 GMT
> Could you please point to this pkg?
intel-oneapi-basekit /opt/intel/oneapi/vpl/
There is also https://aur.archlinux.org/packages/onevpl in AUR
Comment by Toolybird (Toolybird) - Wednesday, 08 March 2023, 06:56 GMT
Thanks @loqs. Right, so this would require some possibly largish changes on the oneapi side. I've also notified the oneapi PM (cannot jointly assign as @kgizdov is not listed in this bug section despite being a Developer IIUC).
Comment by Balló György (City-busz) - Wednesday, 08 March 2023, 12:27 GMT Comment by nyanmisaka (nyanmisaka) - Thursday, 09 March 2023, 21:28 GMT
Actually the oneVPL packages exist in AUR. Someone should adopt them as official.
—enable-libmfx and —enable-libvpl are mutually exclusive in FFmpeg.

header and loader:



Comment by Daniel Bermond (Bermond) - Friday, 10 March 2023, 04:04 GMT
I've pushed onevpl to the official repos. I'm the AUR maintainer of onevpl packages, and was just waiting for them to get more votes to push, since they seem to be low in usage.
Comment by Daniel Bermond (Bermond) - Friday, 10 March 2023, 04:22 GMT
@Toolybird As far as I know, this does not require any changes on the oneapi side. Since onevpl packages are now pushed to the official repositories, it will only require to switch ffmpeg from libmfx to onevpl.
Comment by nyanmisaka (nyanmisaka) - Friday, 10 March 2023, 04:25 GMT
Thanks @Bermond. Been using them with Tiger Lake and Arc GPU for long time and so for so good.

All that remains is to toggle on libvpl in ffmpeg, which can load libmfx-gen.so* and libmfxhw64.so* depending on the platforms.
Comment by Cvlc12 (Cvlc) - Sunday, 09 April 2023, 01:20 GMT
Hi, is it still planned to switch ffmpeg from libmfx to onevpl ?
Comment by Chen Yufei (cyfdecyf) - Friday, 18 August 2023, 00:25 GMT
I've changed the latest PKGBUILD to build with onevpl. Transcoding now works with Intel Arc A380 GPU.

As I'm new to Arch Linux bug tracker and didn't find a place to submit my change or send PR, I've pushed my change on github.


Note: there's compilation error of ffmpeg on the latest Arch Linux. The inline assembly is causing error as following:

libavcodec/x86/mathops.h:125: Error: operand type mismatch for ` shr'

Details here https://trac.ffmpeg.org/ticket/10405

The problem is already fixed in ffmpeg master, so I also added a patch to fix this compile error.
Comment by Sam Van Hecken (marnux) - Sunday, 17 September 2023, 14:10 GMT
I would really appreciate switching to onevpl. As far as i understood from the intel documentation it can support old and new libraries and will therefore replace the libmfx dependency.
For now, i'll have to build my own i guess.