Installing on Windows¶
Use PowerShell as an administrator:
The script uses winget (falling back to Chocolatey) to install:
- Visual Studio 2022 Build Tools (with the Desktop C++ workload)
meson,ninja,nasm,python(3.11+ for core use; 3.14.5+ required forai/),llvm- Optional:
CUDA 12.6,Intel oneAPI Base Toolkit
Environment¶
After install, open a x64 Native Tools Command Prompt for VS 2022 so that cl.exe and the Windows SDK are on PATH. From there:
CUDA¶
Download the installer from the NVIDIA CUDA Toolkit page. Re-run meson with -Denable_cuda=true after install.
oneAPI / SYCL¶
Install the Intel oneAPI Base Toolkit, then initialize in the shell via:
Re-run meson with -Denable_sycl=true.
Intel QSV (optional, for h264_qsv / hevc_qsv / av1_qsv)¶
The fork's three QSV codec adapters in tools/vmaf-tune/ require an FFmpeg built with the Intel oneVPL dispatcher (libvpl) — Intel archived Media SDK / libmfx in May 2023.
On Windows, the oneVPL runtime is bundled with Intel's standard graphics drivers — install the latest driver for your iGPU / Arc card from the Intel Driver & Support Assistant or grab the Arc & Iris Xe Graphics driver package directly. No additional SDK install is needed for runtime use.
To build FFmpeg yourself with QSV support, install the oneVPL development headers and pass --enable-libvpl (FFmpeg n6.0+ — the "oneVPL support for QSV" line in the FFmpeg 6.0 changelog) or the legacy --enable-libmfx for older FFmpeg builds. Pre-built FFmpeg binaries from BtbN's gyan.dev / FFmpeg Builds ship with --enable-libvpl enabled.
Intel Quick Sync hardware capability matrix¶
Verified 2026-05-08 against Wikipedia: Intel Quick Sync Video — Hardware decoding and encoding.
| CPU / GPU generation | H.264 enc/dec | HEVC 8-bit enc/dec | HEVC 10-bit enc/dec | AV1 decode | AV1 encode |
|---|---|---|---|---|---|
| Skylake / Kaby Lake / Coffee Lake (Gen 9) | yes | yes | decode only | no | no |
| Ice Lake (Gen 11) | yes | yes | yes | no | no |
| Tiger Lake / Alder Lake / Raptor Lake (Xe LP) | yes | yes | yes | yes | no |
| Arc Alchemist (Xe HPG, A-series, 2022) | yes | yes | yes | yes | yes |
| Arc Battlemage (Xe2, B-series) | yes | yes | yes | yes | yes |
av1_qsv therefore requires Arc Alchemist or newer; hevc_qsv 10-bit requires Ice Lake or newer.
Notes¶
- Windows CI is Linux's canary for MSVC quirks (forbidden VLAs, different 64-bit typedefs, narrowing-conversion strictness). If your change builds on Linux but fails on Windows, look for one of those first.