| hide |
|
|---|
VMAFx measures perceptual video quality: it scores how a distorted video compares with its reference, the way a viewer would judge it. It is a fork of Netflix's VMAF that keeps Netflix's reference scores, adds CUDA, SYCL, HIP and Metal GPU backends and SIMD paths, and holds every GPU result to the CPU's.
Get VMAFx{ .md-button .md-button--primary } Score your first pair{ .md-button }
First score
build/tools/vmaf \
--reference testdata/ref_576x324_48f.yuv \
--distorted testdata/dis_576x324_48f.yuv \
--width 576 --height 324 --pixel_format 420 --bitdepth 8 \
--json --output scores.json- Get VMAFx: a container image, a release download or a source build.
- Score your first pair and read the output.
- Choose a backend for your hardware.
- Use it through the CLI, the C API or the FFmpeg filter.
- Look things up in the reference below, or contribute.
Found a problem? Open an issue. Have hardware the project does not own? Run the tester image and send the report.
-
Choose and build
-
AVX2 · AVX-512
-
NEON · SVE2
-
NVIDIA GPUs
-
Intel GPUs
-
AMD GPUs
-
Apple Silicon
-
Scores equal to the CPU's
{ .vx-chart__static width="452" height="591" }
{ .vx-chart__static width="452" height="591" }
Data table
| Feature | CUDA | SYCL | HIP | Metal |
|---|---|---|---|---|
adm |
exact | exact | exact | not declared |
cambi |
exact | exact | exact | not declared |
ciede |
libm bound (≤ 1e-09) | libm bound (≤ 1e-09) | libm bound (≤ 1e-09) | not declared |
float_adm |
exact | exact | exact | exact |
float_moment |
exact | exact | exact | exact |
float_motion |
exact | exact | exact | exact |
float_ms_ssim |
exact | exact | exact | exact |
float_ms_ssim_chroma |
exact | exact | exact | exact |
float_ms_ssim_lcs |
exact | exact | exact | exact |
float_psnr |
exact | exact | exact | exact |
float_ssim |
exact | exact | exact | exact |
float_ssim_lcs |
exact | exact | exact | exact |
float_vif |
exact | exact | exact | exact |
motion |
exact | exact | exact | exact |
motion_debug |
exact | exact | exact | exact |
motion_mffw |
exact | exact | exact | exact |
motion_v2 |
exact | exact | exact | exact |
motion_v2_mffw |
exact | exact | exact | exact |
psnr |
exact | exact | exact | exact |
psnr_hvs |
exact | exact | exact | not declared |
speed_chroma |
exact | exact | exact | not declared |
speed_temporal |
exact | exact | exact | not declared |
ssim |
exact | exact | exact | exact |
ssimulacra2 |
exact | exact | exact | exact |
vif |
exact | exact | exact | not declared |
| Topic | Pages |
|---|---|
| Install and build | Getting started, Building on Windows, Docker |
| Command line | CLI reference, --precision, environment variables, vmaf_bench |
| Integrations | FFmpeg, Python library, MATLAB, external resources |
| Encoding workflows | vmaf-tune (fast path, bitrate ladder, codec adapters, recommend, saliency-aware, resolution-aware, HDR and sampling, cache, bisect), per-shot scoring, ROI scoring, BD-rate utilities |
| Testing on your hardware | hardware we need, tester image and macOS bundle, build-from-source tester guide, hardware reports |
| Topic | Pages |
|---|---|
| Metrics | Feature reference: every extractor, its options and its GPU twins; CAMBI, SSIMULACRA 2, DISTS, confidence interval, bad cases, AOM CTC (AOM), NFLX CTC |
| Models | Overview, VMAF v1, datasets |
| Backends | Backend guide, x86 SIMD, ARM SIMD, CUDA, SYCL / oneAPI, HIP / ROCm, Metal |
| C API | API overview: contexts, pictures, models, features; GPU, DNN sessions, embedded MCP |
| MCP servers | Overview, tool reference, embedded server, release channel |
| Tiny AI | Tiny-AI docs, training, training data, MOS corpora, inference, LOSO evaluation, predictor, conformal VQA, ensemble training kit, ensemble v2 runbook, quantization, quant epsilon, model registry, roadmap |
| Other | FAQ, references, papers, presentations, benchmarks |
| Topic | Pages |
|---|---|
| Plan and releases | Roadmap and release candidates, release process |
| Contributing | Engineering principles, build flags, IDE setup, CI, CI runners, fuzzing |
| Correctness | Cross-backend gate, upstream parity guard, Python process execution |
| Upstream | Upstream watchers, FFmpeg patch refresh |
| Architecture | Repository layout, Python-harness workspace, ADR log |
| Security | Repository security, OpenSSF Scorecard, Scorecard and CodeQL audit, 2026-09-04 |