Skip to content

Documentation

This is an overview of the available documentation in the VMAF repository.

Getting started

  • Installation – per-OS install scripts (Ubuntu, Fedora, Arch, Alpine, macOS, Windows)
  • Building on Windows – build VMAF from source on Windows (upstream guide)

Usage

C API

  • API overview – core libvmaf.h + picture.h + model.h + feature.h: context lifecycle, scoring, pictures, models, ABI-stability tiers, thread-safety, runnable example
  • DNN sessions – tiny-AI dnn.h: standalone ONNX sessions (luma filter + multi-input named binding), device config, error codes
  • GPU (CUDA / SYCL)libvmaf_cuda.h + libvmaf_sycl.h: zero-copy frame buffers, dmabuf / VA / D3D11 import, profiling
  • MCP C APIlibvmaf_mcp.h: embedded in-process MCP server (stdio / UDS / SSE transports)

Metrics

  • Features – VMAF's core features (metrics)
  • CAMBI – contrast-aware multiscale banding index
  • SSIMULACRA 2 – fork-added structural similarity metric (modern-codec quality)
  • DISTS-Sq – fork-added deep image structure & texture similarity extractor (FR; smoke checkpoint)
  • Confidence Interval – bootstrapping for CI estimates of VMAF scores
  • Bad Cases – how to report cases of VMAF not working well
  • AOM CTC – running VMAF under AOM common test conditions
  • NFLX CTC – running VMAF under NFLX common test conditions

Models

  • Overview – summary of the available pre-trained models
  • Datasets – the two publicly available datasets for training custom models

Backends

GPU / SIMD backend notes under backends/:

Backend Status Page
x86 SIMD (AVX2 / AVX-512) Production avx512.md
ARM NEON / SVE2 Production arm/overview.md
CUDA Production cuda/overview.md + NVTX profiling
SYCL / oneAPI Production sycl/overview.md + bundling
Vulkan Removed (ADR-0726, 2026-05-28)
HIP (AMD ROCm) 7 of 10 real kernels (psnr, integer_psnr, float_motion, float_moment, float_ssim, ciede, integer_motion_v2); 3 stubs (adm/vif/integer_motion). float_ansnr_hip removed per ADR-0720. hip/overview.md
Metal (Apple Silicon) Scaffold — 4 of 17 extractors registered metal/index.md

Architecture

MCP

  • MCP server overview – install, security model (path allowlist), env vars, Claude Desktop / Cursor config
  • Tool reference – per-tool request/response schemas + error codes for vmaf_score, list_models, list_backends, run_benchmark, eval_model_on_split, compare_models
  • Embedded server – in-process libvmaf_mcp.h server (stdio / UDS / SSE); compute_vmaf + list_features tools live
  • Release channel – PyPI packaging and versioning for the standalone Python server

Tiny-AI

Development

Reference