Use PowerShell as an administrator:
powershell -ExecutionPolicy Bypass -File scripts\setup\windows.ps1The 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
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:
cd core
meson setup ..\build --buildtype=release
ninja -C ..\buildDownload the installer from the
NVIDIA CUDA Toolkit page.
Re-run meson with -Denable_cuda=true after install.
Install the Intel oneAPI Base Toolkit, then initialize in the shell via:
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat"Re-run meson with -Denable_sycl=true.
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.
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.
- 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.