Credits and acknowledgements¶
VMAFx stands on other people's work. This page names every third-party item the project ships, vendors, adapts, learns from or uses, says how it reaches the project, and states the licence the upstream gives it. If you want to know who to thank, what a vendored file's terms are, or where a model's weights came from, start here.
The licence texts of the code that ships are in LICENSES/; the terms per file are in REUSE.toml and explained in Licensing. VMAFx itself is a fork of Netflix VMAF; the history is in the references.
At a glance¶
226 entries. By kind: upstream 2, code 22, library 67, tool 45, action 33, image 7, font 2, model 7, dataset 11, paper 15, standard 7, text 8. By relation: shipped 44, vendored 20, adapted 22, inspired 13, used-by-CI 72, integrated 55.
30 entries have a licence this page could not verify upstream: Bampis, Gupta, Soundararajan and Bovik, SpEED-QA (IEEE SPL 2017), Contributor Covenant 2.1, Debian base image, Developer Certificate of Origin 1.1, Documenting Architecture Decisions (Michael Nygard), Doxygen, Go base image, Hadolint, Intel oneAPI Base Toolkit, Intel oneAPI Base Toolkit image, ITU-R BT.2022, general viewing conditions for subjective assessment, ITU-R BT.2100, image parameter values for HDR television, ITU-R BT.2124-0 (2019), potential visibility of colour differences in television, Li, Zhang, Ma and Ngan, Image quality assessment by separately evaluating detail losses and additive impairments (IEEE TMM 2011), Mantiuk and Azimi, PU21 (QoMEX and PCS 2021), MATLAB reference implementations (iCID, SpEED, STMAD, matlabPyrTools, colorspace), matplotlib (Python), Mittal, Moorthy and Bovik, No-reference image quality assessment in the spatial domain (IEEE TIP 2012), Mittal, Soundararajan and Bovik, Making a completely blind image quality analyzer (IEEE SPL 2013), NASA/JPL Power of 10 and the JPL C coding standard, Python base image, QEMU, ROCm development image, SEI CERT C Coding Standard, Sheikh and Bovik, Image information and visual quality (IEEE TIP 2006), SMPTE ST 2084:2014, Perceptual Quantizer EOTF, Swatinem/rust-cache, Toward a better quality metric for the video community (Netflix, 2020), Toward a practical perceptual video quality metric (Netflix, 2016), Ubuntu base image.
How to read the tables¶
Each row is one item. The relation says how much of it reaches the project:
| Relation | Meaning |
|---|---|
| shipped | Its code or data is in the release binaries, images or archives. |
| vendored | Upstream files are reproduced in this repository under their own licence. |
| adapted | Upstream code, rules or structure are rewritten for VMAFx, or an implementation follows a published method. |
| inspired | Only the idea is taken; nothing is copied or shipped. |
| used-by-CI | It runs in the build, the hooks or CI and ships nowhere. |
| integrated | VMAFx reads, writes or calls it, or needs it installed to build or run a feature. |
The licence is an SPDX expression exactly as the upstream states it, or one of three words: proprietary for a closed product, a service or custom terms used as their provider states them (the note says which), none when the upstream states no licence, and unknown when it could not be verified. An unknown is a gap to close, not a clearance: do not rely on it. GitHub-hosted licences were read from each repository on 2026-10-08.
Upstream projects and vendored or adapted code¶
Code that came from somewhere else. Files that carry a third-party copyright header keep the upstream terms (ADR-1250); the paths column lists them.
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| av-metrics (CIEDE2000) | adapted | MIT | core/src/feature/ciede.c, core/src/feature/ciede_ff_math.h, core/src/feature/cuda/integer_ciede/ciede_device.h, core/src/feature/cuda/integer_ciede/ciede_score.cu, and 11 more | Joshua Holmer; the CIEDE2000 maths of the ciede extractor and its twins. |
| cJSON | vendored | MIT | core/src/mcp/3rdparty/cJSON/ | Vendored for the embedded MCP server. |
| Daala video input code | vendored | BSD-2-Clause | core/tools/vidinput.c, core/tools/vidinput.h, core/tools/y4m_input.c | Y4M and video readers of the CLI. |
| dav1d CPU detection and atomics shim | vendored | BSD-2-Clause | core/src/compat/gcc/stdatomic.h, core/src/x86/cpu.c, core/src/x86/cpuid.asm, tools/rc1-tester/image/published-rc/scans/v1.0.0-rc.1/cpu.json, and 7 more | VideoLAN and dav1d authors, Two Orioles, LLC. |
| FFmpeg | integrated | LGPL-2.1-or-later AND GPL-2.0-or-later | ffmpeg-patches/ | The patch series adds libvmaf filters; patch 0019 also touches GPL units. Upstream states most files LGPL v2.1 or later and some GPL. |
| HACL* | shipped | MIT | tools/rc1-tester/image/licenses/hacl-star.txt | Linked into the interpreter of the tester artifacts; the licence text is reproduced for their notices (ADR-1503). |
| interfig (from hindsight) | vendored | MIT | tools/figures/third_party/interfig/ | Figure engine vendored for interactive figures (ADR-0015). |
| IQA by Tom Distler | vendored | BSD-3-Clause | core/src/feature/arm64/convolve_neon.c, core/src/feature/arm64/convolve_neon.h, core/src/feature/arm64/ms_ssim_decimate_neon.c, core/src/feature/arm64/ms_ssim_decimate_neon.h, and 62 more | Image-quality library behind the SSIM and MS-SSIM extractors; SIMD and GPU twins keep its header. |
| Kubernetes OpenAPI v3 specification | vendored | Apache-2.0 | deploy/helm/vmafx/values.schema.json, deploy/helm/vmafx/THIRD-PARTY-NOTICES.txt, api/kubernetes/openapi-subset.json, scripts/codegen/k8s_openapi.py, and 1 more | Type schemas of the Helm chart's values schema, from the release build-config.env pins (K8S_SCHEMA_VERSION); attributed in the chart's THIRD-PARTY-NOTICES.txt (ADR-2350 D13, ADR-2673). |
| libjxl SSIMULACRA 2 reference | adapted | BSD-3-Clause | core/src/feature/arm64/ssimulacra2_arm64_common.h, core/src/feature/arm64/ssimulacra2_host_neon.c, core/src/feature/arm64/ssimulacra2_host_neon.h, core/src/feature/arm64/ssimulacra2_neon.c, and 29 more | The JPEG XL Project Authors tools/ssimulacra2.cc is the reference the SSIMULACRA 2 port follows. |
| libsvm | vendored | BSD-3-Clause | core/src/svm.cpp, core/src/svm.h | Chih-Chung Chang and Chih-Jen Lin; SVM model evaluation for VMAF models. |
| LIME local explainer | vendored | BSD-2-Clause | compat/python-vmaf/core/local_explainer.py | Marco Tulio Correia Ribeiro, 2016. |
| MATLAB reference implementations (iCID, SpEED, STMAD, matlabPyrTools, colorspace) | vendored | unknown | compat/python-vmaf/matlab/ | Inherited from Netflix/vmaf; most files state no licence. iCID is supplementary material of Preiss, Fernandes and Urban (IEEE TIP 2014); the colorspace code is by Pascal Getreuer. |
| mkdirp.c by Stephen Mathieson | adapted | MIT | core/src/feature/mkdirp.cpp, core/src/feature/mkdirp.h | C++ conversion of the original C implementation. |
| Netflix VMAF | vendored | BSD-2-Clause-Patent AND BSD-3-Clause-Clear (the inherited Python harness files are tagged BSD-3-Clause-Clear) | NOTICE, core/, compat/python-vmaf/, python/, and 2 more | The project VMAFx is forked from. Inherited files keep Netflix terms (ADR-1250). |
| nv-codec-headers | shipped | MIT | tools/rc1-tester/image/licenses/nv-codec-headers.txt | Notice reproduced for the CUDA images published before ADR-1513 (ADR-1578). |
| NVIDIA's CUDA backend in Netflix VMAF | vendored | BSD-2-Clause-Patent | core/src/cuda/common.c, core/src/cuda/common.h, core/src/cuda/cuda_helper.cuh, core/src/cuda/picture_cuda.c, and 32 more | Files that carry NVIDIA Corporation copyright, from the CUDA backend NVIDIA contributed to Netflix/vmaf. |
| pdjson | vendored | Unlicense | core/src/pdjson.c, core/src/pdjson.h | Streaming JSON parser for model files. |
| pelorus | vendored | BSD-2-Clause-Patent | core/src/interop/ | Interop headers vendored from the VMAFx/pelorus repository. |
| PU21 reference implementation (gfxdisp/pu21) | adapted | BSD-3-Clause | docs/metrics/pu21.md | Encoder coefficients, formula and range for the pu21 extractor. |
| scanf.py by Danny Yoo | vendored | BSD-2-Clause | compat/python-vmaf/tools/scanf.py | Copied into Netflix/vmaf; the file header names the author and carries the SPDX tag. |
| STRRED MATLAB code (LIVE, University of Texas at Austin) | vendored | proprietary (header: educational and research use without fee; not to be used as the basis of a commercial product without permission) | compat/python-vmaf/matlab/strred/strred/ | Inherited from Netflix/vmaf. |
| x264 x86inc.asm | vendored | ISC | core/src/ext/x86/x86inc.asm | x264 project assembler macros. |
| Xiph.Org Daala code (PSNR-HVS and helpers) | vendored | BSD-2-Clause | core/src/feature/arm64/psnr_hvs_neon.c, core/src/feature/arm64/psnr_hvs_neon.h, core/src/feature/cuda/float_ssim_cuda.h, core/src/feature/cuda/integer_psnr_hvs/psnr_hvs_score.cu, and 45 more | Xiph.Org code behind the PSNR-HVS extractor and its twins. |
Libraries¶
Dependencies that are compiled into the binaries (Go modules) or imported by the Python tools. Only direct dependencies are listed; the release images carry the full notices (Licensing).
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| aiohttp (Python) | integrated | Apache-2.0 AND MIT | mcp-server/vmaf-mcp/pyproject.toml | |
| anyio (Python) | integrated | MIT | mcp-server/vmaf-mcp/pyproject.toml | |
| api (Go) | shipped | Apache-2.0 | go.mod | Go module k8s.io/api. |
| apimachinery (Go) | shipped | Apache-2.0 | go.mod | Go module k8s.io/apimachinery. |
| chi (Go) | shipped | MIT | go.mod | Go module github.com/go-chi/chi. |
| cilium/ebpf | shipped | MIT | cmd/vmafx-node/bpf/, go.mod | Loads and generates the rclone-bypass eBPF object of the node daemon. |
| client-go (Go) | shipped | Apache-2.0 | go.mod | Go module k8s.io/client-go. |
| client_golang (Go) | shipped | Apache-2.0 | go.mod | Go module github.com/prometheus/client_golang. |
| client_model (Go) | shipped | Apache-2.0 | go.mod | Go module github.com/prometheus/client_model. |
| cobra (Go) | shipped | Apache-2.0 | go.mod | Go module github.com/spf13/cobra. |
| controller-runtime (Go) | shipped | Apache-2.0 | go.mod | Go module sigs.k8s.io/controller-runtime. |
| D3 | shipped | ISC | docs/javascripts/vendor/vega/ | Reached through the Vega bundle. |
| defusedxml (Python) | integrated | PSF-2.0 | python/pyproject.toml | |
| dill (Python) | integrated | BSD-3-Clause | python/pyproject.toml | |
| fx (Go) | shipped | MIT | go.mod | Go module go.uber.org/fx. |
| ginkgo (Go) | shipped | MIT | go.mod | Go module github.com/onsi/ginkgo. |
| golusoris | shipped | EUPL-1.2 | go.mod | Go framework of the services. |
| gomega (Go) | shipped | MIT | go.mod | Go module github.com/onsi/gomega. |
| goptuna (Go) | shipped | MIT | go.mod | Go module github.com/c-bata/goptuna. |
| grafana-foundation-sdk (Go) | shipped | Apache-2.0 | go.mod | Go module github.com/grafana/grafana-foundation-sdk. |
| grpc-go (Go) | shipped | Apache-2.0 | go.mod | Go module google.golang.org/grpc. |
| h5py (Python) | integrated | BSD-3-Clause | python/pyproject.toml | |
| joblib (Python) | integrated | BSD-3-Clause | python/pyproject.toml | |
| jsonschema (Python) | integrated | MIT | ai/pyproject.toml, tools/rc1-tester/pyproject.toml | |
| KaTeX | shipped | MIT | docs/javascripts/vendor/katex/ | Formula renderer of the documentation site (ADR-2705); also compiles every formula in the docs build check. |
| kin-openapi (Go) | shipped | MIT | go.mod | Go module github.com/getkin/kin-openapi. |
| libsvm-official (Python) | integrated | BSD-3-Clause | python/pyproject.toml | |
| logr (Go) | shipped | Apache-2.0 | go.mod | Go module github.com/go-logr/logr. |
| matplotlib (Python) | integrated | unknown | ai/pyproject.toml, python/pyproject.toml, tools/ensemble-training-kit/pyproject.toml, tools/vmaf-tune/pyproject.toml | |
| mcp (Python) | integrated | MIT | mcp-server/vmaf-mcp/pyproject.toml | |
| MCP Go SDK | shipped | Apache-2.0 AND MIT (upstream is moving from MIT to Apache-2.0; both apply) | go.mod | Go module github.com/modelcontextprotocol/go-sdk. |
| modernc.org/sqlite | shipped | BSD-3-Clause (from its LICENSE file; the repository is not on GitHub) | go.mod | Pure Go SQLite driver. |
| numpy (Python) | integrated | BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0 | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml, python/pyproject.toml, and 2 more | |
| onnx (Python) | integrated | Apache-2.0 | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml, tools/ensemble-training-kit/pyproject.toml, and 1 more | |
| onnxruntime (Python) | integrated | MIT | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml, tools/ensemble-training-kit/pyproject.toml, and 2 more | |
| onnxscript (Python) | integrated | MIT | ai/pyproject.toml | |
| opentelemetry-go (Go) | shipped | Apache-2.0 | go.mod | Go module go.opentelemetry.io/otel. |
| opentelemetry-go-contrib (Go) | shipped | Apache-2.0 | go.mod | Go module go.opentelemetry.io/contrib. |
| optuna (Python) | integrated | MIT | ai/pyproject.toml, tools/ensemble-training-kit/pyproject.toml, tools/vmaf-tune/pyproject.toml | |
| pandas (Python) | integrated | BSD-3-Clause | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml, python/pyproject.toml, and 1 more | |
| parquet-go (Go) | shipped | Apache-2.0 | go.mod | Go module github.com/parquet-go/parquet-go. |
| pflag (Go) | shipped | BSD-3-Clause | go.mod | Go module github.com/spf13/pflag. |
| Prometheus Pushgateway Helm chart | vendored | Apache-2.0 | deploy/helm/vmafx/charts/ | Chart dependency fetched by helm dependency build. |
| prometheus-client (Python) | integrated | Apache-2.0 AND BSD-2-Clause | mcp-server/vmaf-mcp/pyproject.toml | |
| protobuf-go (Go) | shipped | BSD-3-Clause | go.mod | Go module google.golang.org/protobuf. |
| pyarrow (Python) | integrated | Apache-2.0 | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml | |
| pydantic (Python) | integrated | MIT | ai/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml | |
| python-slugify (Python) | integrated | MIT | python/pyproject.toml | |
| pytorch-lightning (Python) | integrated | Apache-2.0 | ai/pyproject.toml | |
| PyWavelets (Python) | integrated | MIT AND BSD-3-Clause | python/pyproject.toml | |
| pyyaml (Python) | integrated | MIT | ai/pyproject.toml, dev-llm/pyproject.toml, tools/ensemble-training-kit/pyproject.toml | |
| React, react-dom and scheduler (Meta) | shipped | MIT | tools/figures/dist/ | Bundled in the figure player; texts in dist/THIRD-PARTY-LICENSES.txt. |
| rich (Python) | integrated | MIT | ai/pyproject.toml, dev-llm/pyproject.toml | |
| scikit-image (Python) | integrated | BSD-3-Clause | python/pyproject.toml | |
| scikit-learn (Python) | integrated | BSD-3-Clause | ai/pyproject.toml, python/pyproject.toml, tools/ensemble-training-kit/pyproject.toml | |
| scipy (Python) | integrated | BSD-3-Clause | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml, python/pyproject.toml, and 1 more | |
| seaborn (Python) | integrated | BSD-3-Clause | ai/pyproject.toml | |
| sureal (Python) | integrated | Apache-2.0 | python/pyproject.toml | |
| sync (Go) | shipped | BSD-3-Clause | go.mod | Go module golang.org/x/sync. |
| torch (Python) | integrated | Apache-2.0 AND Apache-2.0 WITH LLVM-exception AND BSD-2-Clause AND BSD-3-Clause AND BSL-1.0 AND MIT | ai/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml, tools/ensemble-training-kit/pyproject.toml, tools/vmaf-tune/pyproject.toml | |
| torchvision | integrated | BSD-3-Clause | ai/lpips_export.py, ai/pyproject.toml | SqueezeNet 1.1 features under LPIPS. |
| tqdm (Python) | integrated | MPL-2.0 AND MIT | ai/pyproject.toml | |
| typer (Python) | integrated | MIT | ai/pyproject.toml, dev-llm/pyproject.toml, mcp-server/vmaf-mcp/pyproject.toml | |
| uuid (Go) | shipped | BSD-3-Clause | go.mod | Go module github.com/google/uuid. |
| Vega | shipped | BSD-3-Clause | docs/javascripts/vendor/vega/ | Chart runtime in the documentation; the bundle lists its dependencies in THIRD-PARTY-LICENSES.txt. |
| vega-embed | shipped | BSD-3-Clause | docs/javascripts/vendor/vega/ | |
| Vega-Lite | shipped | BSD-3-Clause | docs/javascripts/vendor/vega/ |
Models¶
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| BRISQUE model (LIVE, University of Texas at Austin) | shipped | LicenseRef-LIVE-BRISQUE | model/other_models/brisque_live.model, model/other_models/NOTICE-brisque | Used under the release notice as written; publications reporting research with it acknowledge and cite it (ADR-1507). |
| DISTS (Ding et al.) | inspired | MIT | docs/metrics/dists.md, docs/ai/models/dists_sq.md | The shipped checkpoint is a smoke placeholder, not the authors production weights. |
| FastDVDnet weights (m-tassano/fastdvdnet) | shipped | MIT | model/tiny/fastdvdnet_pre.*, ai/scripts/export_fastdvdnet_pre.py | Matias Tassano; the temporal pre-filter model. |
| LPIPS (richzhang/PerceptualSimilarity) | shipped | BSD-2-Clause AND BSD-3-Clause | model/tiny/lpips_sq.*, ai/lpips_export.py | LPIPS linear layers on torchvision SqueezeNet 1.1 ImageNet features. |
| MobileSal | inspired | CC-BY-NC-SA-4.0 | docs/ai/models/mobilesal.md | Not shipped: the upstream weights are incompatible with the project licence; the shipped placeholder and the fork-trained students are not derived from them. |
| TransNet V2 weights (soCzech/TransNetV2) | shipped | MIT | model/tiny/transnet_v2.*, ai/scripts/export_transnet_v2.py | Tomas Soucek; shot-boundary model. |
| U-2-Net (u2netp) | integrated | LicenseRef-Apache-2.0-u2netp | docs/ai/u2netp-mirror.md, docs/ai/models/u2netp_mirror_card.md | Checkpoint mirrored as a release asset, not committed; the upstream weights are Apache-2.0. |
Datasets¶
Training and evaluation data. Several datasets forbid redistribution or commercial use; VMAFx ships no dataset file. The terms are quoted from the dataset pages in Training data.
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| BVI-DVC | integrated | proprietary (all rights stay with the originators of each sequence; one source is for academic research only) | ai/scripts/bvi_dvc_to_corpus_jsonl.py, docs/ai/bvi-dvc-corpus-ingestion.md | Ma, Zhang and Bull. Not redistributed. |
| CHUG UGC-HDR | integrated | CC-BY-NC-SA-4.0 (the README badge says CC BY-NC 4.0 while license.txt holds the NC-SA text) | ai/scripts/chug_to_corpus_jsonl.py, docs/ai/chug-ingestion.md | Saini, Bovik, Birkbeck, Wang and Adsumilli, ICIP 2025. |
| DUTS-TR | integrated | proprietary (all rights reserved by the original authors; images come from ImageNet) | docs/ai/models/saliency_student_v1.md | Training input of the saliency students; no file is redistributed. |
| ImageNet | integrated | proprietary (non-commercial research and education only) | docs/ai/models/saliency_student_v1.md | Source of the DUTS-TR images. |
| KonViD-150k | integrated | proprietary (research-only per ADR-0325) | ai/scripts/konvid_150k_to_corpus_jsonl.py, docs/ai/konvid-150k-ingestion.md | Not redistributed. |
| KoNViD-1k | integrated | none (the page names no licence and offers the database to the research community) | ai/scripts/konvid_1k_to_corpus_jsonl.py, docs/ai/konvid-1k-ingestion.md | Not redistributed. Clips keep the Creative Commons licence of their YFCC100M upload. |
| LIVE-VQC | integrated | proprietary (research use with attribution) | ai/scripts/live_vqc_to_corpus_jsonl.py, docs/ai/live-vqc-ingestion.md | Sinno and Bovik, IEEE TIP 2019. |
| LSVQ (Patch-VQ) | integrated | CC-BY-4.0 (as the Hugging Face mirror states it) | ai/scripts/lsvq_to_corpus_jsonl.py, docs/ai/lsvq-ingestion.md | Ying, Mandal, Ghadiyaram and Bovik, CVPR 2021. |
| Netflix Public Dataset | integrated | none (the page states no terms beyond requesting access) | docs/models/datasets.md | Access on request. Trained on it: fr_regressor v1 to v3 and the vmaf_tiny models. |
| Waterloo IVC 4K-VQA | integrated | proprietary (permissive academic licence, attribution required) | ai/scripts/waterloo_ivc_to_corpus_jsonl.py, docs/ai/waterloo-ivc-4k-ingestion.md | Li, Duanmu, Liu and Wang, ICIAR 2019. |
| YouTube UGC Dataset | integrated | CC-BY-4.0 (the ATTRIBUTION file of the dataset states CC BY 4.0 for the listed clips) | ai/scripts/youtube_ugc_to_corpus_jsonl.py, docs/ai/youtube-ugc-ingestion.md | Wang, Inguva and Adsumilli, MMSP 2019. |
Papers and standards¶
Methods that VMAFx implements from the published description. Where an author's code exists, it is listed above under its own licence. The note of each row names the repository page that cites it.
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| Bampis, Gupta, Soundararajan and Bovik, SpEED-QA (IEEE SPL 2017) | adapted | unknown | see the note | SpEED extractors. |
| CAMBI banding detector (Tandon et al., PCS 2021) | adapted | BSD-2-Clause-Patent | see the note | The paper is mirrored in docs/reference/papers; REUSE.toml records BSD-2-Clause-Patent for the PDF. |
| Ding, Ma, Wang and Simoncelli, Image Quality Assessment: Unifying Structure and Texture Similarity (arXiv:2004.07728) | inspired | proprietary (arXiv non-exclusive distribution licence) | see the note | DISTS. |
| ITU-R BT.2022, general viewing conditions for subjective assessment | adapted | unknown | see the note | Viewing distance of the VMAF training experiments. |
| ITU-R BT.2100, image parameter values for HDR television | adapted | unknown | see the note | RGB to LMS matrix, PQ transfer function, ICtCp. |
| ITU-R BT.2124-0 (2019), potential visibility of colour differences in television | adapted | unknown | see the note | Annex 1 pipeline and Annex 4 worked example behind delta_e_itp. |
| Li, Zhang, Ma and Ngan, Image quality assessment by separately evaluating detail losses and additive impairments (IEEE TMM 2011) | adapted | unknown | see the note | The detail-loss measure behind ADM. |
| Mantiuk and Azimi, PU21 (QoMEX and PCS 2021) | adapted | unknown | see the note | PU21 HDR adapter; the official code is credited separately. |
| MISRA C:2012 | inspired | proprietary | docs/principles.md | Informative subset only. |
| Mittal, Moorthy and Bovik, No-reference image quality assessment in the spatial domain (IEEE TIP 2012) | adapted | unknown | see the note | BRISQUE extractor. |
| Mittal, Soundararajan and Bovik, Making a completely blind image quality analyzer (IEEE SPL 2013) | adapted | unknown | see the note | NIQE extractor. |
| NASA/JPL Power of 10 and the JPL C coding standard | adapted | unknown | docs/principles.md | Coding rules enforced through .clang-tidy and the praetor HISS invariants. |
| SEI CERT C Coding Standard | adapted | unknown | docs/principles.md | Mandatory rules of the C coding standard. |
| Sheikh and Bovik, Image information and visual quality (IEEE TIP 2006) | adapted | unknown | see the note | VIF; luma only by design. |
| SMPTE ST 2084:2014, Perceptual Quantizer EOTF | adapted | unknown | see the note | PQ code values to absolute luminance. |
| Soucek and Lokoc, TransNet V2 (arXiv:2008.04838) | adapted | proprietary (arXiv non-exclusive distribution licence) | see the note | Shot-boundary detector. |
| Tassano, Delon and Veit, FastDVDnet (arXiv:1907.01361) | inspired | proprietary (arXiv non-exclusive distribution licence) | see the note | Temporal pre-filter. |
| Toward a better quality metric for the video community (Netflix, 2020) | inspired | unknown | see the note | Speed work, the API and the NEG mode. |
| Toward a practical perceptual video quality metric (Netflix, 2016) | inspired | unknown | see the note | The tech blog that open sourced VMAF. |
| Venkataramanan, Stejerean, Katsavounidis and Bovik, One Transform To Compute Them All (arXiv:2304.03412) | adapted | CC-BY-4.0 (the arXiv listing names it) | see the note | Y-FUNQUE+ atom features. |
| Wu, Liu, Cheng, Lu and Cheng, MobileSal (arXiv:2012.13095) | inspired | CC-BY-NC-SA-4.0 (the arXiv listing names it) | see the note | Saliency extractor design. |
| Zhang, Isola, Efros, Shechtman and Wang, The Unreasonable Effectiveness of Deep Features as a Perceptual Metric (arXiv:1801.03924) | inspired | proprietary (arXiv non-exclusive distribution licence) | see the note | LPIPS. |
Adapted texts and inspirations¶
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| Caveman | adapted | MIT (terms at adaptation; upstream relicensed to Apache-2.0 on 2026-09-24) | see the note | Julius Brussee and contributors; the internal text register skill is adapted from it. |
| Contributor Covenant 2.1 | adapted | unknown (the page states no licence for the text) | CODE_OF_CONDUCT.md | Our code of conduct, with the enforcement guidelines of the same version. |
| Conventional Commits | inspired | CC-BY-3.0 (as the specification page states it) | CONTRIBUTING.md | Commit subjects and release automation. |
| Developer Certificate of Origin 1.1 | integrated | unknown (the text allows verbatim copies only) | CONTRIBUTING.md | The sign-off certifies it; the text is referenced, not copied. |
| Documenting Architecture Decisions (Michael Nygard) | inspired | unknown | docs/adr/0000-template.md | The ADR template follows this format. |
| i-have-adhd | adapted | MIT | see the note | Source of the adhd-format and social-text skills. |
| Keep a Changelog | inspired | MIT | changelog.d/README.md | Section names of the changelog fragments. |
| Mozilla community enforcement ladder | inspired | MPL-2.0 | CODE_OF_CONDUCT.md | The Community Impact Guidelines of the Covenant were inspired by it. |
Build and CI tools, actions and images¶
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| actionlint | used-by-CI | MIT | .github/AGENTS.d/required-aggregator.md, .github/actionlint.yaml, .github/workflows/ffmpeg-integration.yml, .pre-commit-config.yaml, and 2 more | |
| actions/attest | used-by-CI | MIT | .github/actions/image-licence-artifacts/action.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, .github/workflows/docker-publish-tester.yml, and 3 more | |
| actions/attest-build-provenance | used-by-CI | MIT | .github/actions/image-licence-artifacts/action.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, .github/workflows/docker-publish-tester.yml, and 3 more | |
| actions/cache | used-by-CI | MIT | .github/workflows/build.yml, .github/workflows/e2e-k8s.yml, .github/workflows/libvmaf-build-matrix.yml, .github/workflows/lint-and-format.yml, and 3 more | |
| actions/checkout | used-by-CI | MIT | .github/workflows/build.yml, .github/workflows/ci-escalate.yml, .github/workflows/ci-tier.yml, .github/workflows/dev-container-build.yml, and 4 more | |
| actions/create-github-app-token | used-by-CI | MIT | .github/workflows/macos-tester-bundle.yml, .github/workflows/release-please.yml, .github/workflows/windows-tester-bundle.yml | |
| actions/dependency-review-action | used-by-CI | MIT | .github/workflows/security-scans.yml | |
| actions/deploy-pages | used-by-CI | MIT | .github/workflows/docs.yml | |
| actions/download-artifact | used-by-CI | MIT | .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-tester.yml, .github/workflows/e2e-k8s.yml, .github/workflows/macos-tester-bundle.yml, and 4 more | |
| actions/github-script | used-by-CI | MIT | .github/workflows/required-aggregator.yml | |
| actions/setup-go | used-by-CI | MIT | .github/workflows/go-ci.yml, .github/workflows/praetor-api.yml, .github/workflows/published-rc-licence-companions.yml, .github/workflows/standards-gate.yml | |
| actions/setup-node | used-by-CI | MIT | .github/workflows/lint-and-format.yml, .github/workflows/praetor-docs.yml | |
| actions/setup-python | used-by-CI | MIT | .github/workflows/build.yml, .github/workflows/docs.yml, .github/workflows/ffmpeg-integration.yml, .github/workflows/libvmaf-build-matrix.yml, and 4 more | |
| actions/upload-artifact | used-by-CI | MIT | .github/actions/image-licence-artifacts/action.yml, .github/workflows/build.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, and 4 more | |
| actions/upload-pages-artifact | used-by-CI | MIT | .github/workflows/docs.yml | |
| anchore/sbom-action | used-by-CI | Apache-2.0 | .github/actions/image-licence-artifacts/action.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, .github/workflows/docker-publish-tester.yml, and 4 more | |
| Black | used-by-CI | MIT | .github/copilot-instructions.md, .github/workflows/lint-and-format.yml, .pre-commit-config.yaml, Makefile, and 4 more | |
| cargo-deny | used-by-CI | Apache-2.0 | .github/workflows/required-aggregator.yml, .github/workflows/rust-ci.yml, mkdocs.yml, scripts/ci/tests/test_ci_impact.py, and 2 more | |
| Cppcheck | used-by-CI | GPL-3.0-or-later | .github/AGENTS.d/cppcheck-posix-model.md, .github/AGENTS.md, .github/agents/c-reviewer.md, .github/ci-impact.json, and 4 more | |
| Cython | used-by-CI | Apache-2.0 | .github/test-suites.json, .github/workflows/lint-and-format.yml, docker/Dockerfile.tester, noxfile.py, and 4 more | Builds the Python harness extension. |
| Debian base image | shipped | unknown | build-config.env, docker/AGENTS.md, docker/Dockerfile.controller, docker/Dockerfile.node, and 4 more | Image of many packages under their own licences; the per-image notices list them (docs/licensing.md). |
| Distroless base images | shipped | Apache-2.0 | build-config.env, docker/AGENTS.md, docker/Dockerfile.controller, docker/Dockerfile.node, and 2 more | |
| docker/build-push-action | used-by-CI | Apache-2.0 | .github/actions/image-licence-artifacts/action.yml, .github/workflows/dev-container-publish.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, and 3 more | |
| docker/login-action | used-by-CI | Apache-2.0 | .github/workflows/dev-container-publish.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, .github/workflows/docker-publish-tester.yml, and 1 more | |
| docker/metadata-action | used-by-CI | Apache-2.0 | .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml | |
| docker/setup-buildx-action | used-by-CI | Apache-2.0 | .github/workflows/dev-container-publish.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, .github/workflows/docker-publish-tester.yml, and 3 more | |
| docker/setup-qemu-action | used-by-CI | Apache-2.0 | .github/workflows/docker-publish-production.yml | |
| Doxygen | used-by-CI | unknown | .github/agents/hip-reviewer.md, .github/agents/metal-reviewer.md, .github/ci-impact.json, .github/codeql-config.yml, and 4 more | |
| dtolnay/rust-toolchain | used-by-CI | MIT | .github/workflows/rust-ci.yml | |
| EmbarkStudios/cargo-deny-action | used-by-CI | Apache-2.0 | .github/workflows/rust-ci.yml | |
| EnricoMi/publish-unit-test-result-action | used-by-CI | Apache-2.0 | .github/workflows/e2e-k8s.yml | |
| gcovr | used-by-CI | BSD-3-Clause | .github/workflows/tests-and-quality-gates.yml, Makefile, requirements/locks/gcovr.in, requirements/locks/gcovr.txt, and 4 more | |
| github/codeql-action | used-by-CI | MIT | .github/workflows/scorecard.yml, .github/workflows/security-scans.yml | |
| Gitleaks | used-by-CI | MIT | .github/ci-impact.json, .github/workflows/required-aggregator.yml, .github/workflows/security-scans.yml, .pre-commit-config.yaml, and 2 more | |
| Go base image | used-by-CI | unknown | build-config.env, docker/Dockerfile.controller, docker/Dockerfile.node, docker/Dockerfile.operator | Same note as the Debian image. |
| googleapis/release-please-action | used-by-CI | Apache-2.0 | .github/workflows/release-please.yml | |
| Hadolint | used-by-CI | unknown | Dockerfile, Dockerfile.ffmpeg, Dockerfile.go-server, dev/AGENTS.d/shell-contract.md, and 4 more | |
| Helm | used-by-CI | Apache-2.0 | .github/AGENTS.d/helm-and-e2e.md, .github/AGENTS.md, .github/ci-impact.json, .github/copilot-instructions.md, and 4 more | Chart packaging and tests. |
| Intel compute-runtime (NEO) | integrated | MIT | build-config.env, dev/AGENTS.d/runtime-dependencies.md, dev/AGENTS.d/uapi-version-pins.md, dev/AGENTS.md, and 4 more | Intel GPU compute stack in the dev image. |
| Intel oneAPI Base Toolkit | integrated | unknown | Dockerfile, build-config.env, dev/AGENTS.d/gpu-backend-exposure.md, dev/AGENTS.d/package-names.md, and 4 more | Toolkit packages installed in the SYCL images. |
| Intel oneAPI Base Toolkit image | used-by-CI | unknown | .github/workflows/docker-publish-production.yml, docker/AGENTS.md, docker/dev/ubuntu-26.04-sycl.Dockerfile | |
| Intel oneAPI DPC++ (intel/llvm) | integrated | Apache-2.0 WITH LLVM-exception | build-config.env, dev/AGENTS.d/uapi-version-pins.md, dev/Containerfile, dev/scripts/fetch-intel-neo.py, and 2 more | SYCL compiler. |
| kind | used-by-CI | Apache-2.0 | .github/AGENTS.d/build-matrix-record.md, .github/AGENTS.d/helm-and-e2e.md, .github/copilot-instructions.md, .github/workflows/e2e-k8s.yml, and 4 more | Cluster for the end-to-end tests. |
| Lefthook | used-by-CI | MIT | .github/ci-impact.json, .github/copilot-instructions.md, .github/workflows/standards-gate.yml, .pre-commit-config.yaml, and 4 more | |
| LLVM (clang, clang-tidy, clang-format) | used-by-CI | Apache-2.0 WITH LLVM-exception | .github/AGENTS.d/hosted-runner-packages.md, .github/AGENTS.md, .github/agents/c-reviewer.md, .github/ci-impact.json, and 4 more | Lint and format gates, and the CUDA clang driver. |
| markdownlint-cli2 | used-by-CI | MIT | .github/AGENTS.d/dev-image-private-guard.md, .github/PULL_REQUEST_TEMPLATE.md, .github/agents/c-reviewer.md, .github/agents/cuda-reviewer.md, and 4 more | |
| Material for MkDocs | used-by-CI | MIT | mkdocs.yml | |
| Meson | used-by-CI | Apache-2.0 | .github/AGENTS.d/build-matrix-record.md, .github/AGENTS.d/hosted-runner-packages.md, .github/AGENTS.d/meson-sanitization.md, .github/AGENTS.d/release-fan-out.md, and 4 more | Build system of libvmaf. |
| MkDocs | used-by-CI | BSD-2-Clause | .github/PULL_REQUEST_TEMPLATE.md, .github/agents/doc-reviewer.md, .github/ci-impact.json, .github/workflows/docs.yml, and 4 more | Documentation site generator. |
| msys2/setup-msys2 | used-by-CI | MIT | .github/workflows/libvmaf-build-matrix.yml | |
| mxschmitt/action-tmate | used-by-CI | MIT | .github/AGENTS.d/macos-tmate.md, .github/workflows/libvmaf-build-matrix.yml | |
| mypy | used-by-CI | MIT | .github/workflows/lint-and-format.yml, .github/workflows/tests-and-quality-gates.yml, .pre-commit-config.yaml, Makefile, and 4 more | |
| NASM | used-by-CI | BSD-2-Clause | .github/AGENTS.d/windows-runners.md, .github/workflows/build.yml, .github/workflows/ffmpeg-integration.yml, .github/workflows/fuzz.yml, and 4 more | Assembler of the x86 SIMD code. |
| Ninja | used-by-CI | Apache-2.0 | .github/AGENTS.d/meson-sanitization.md, .github/AGENTS.d/security-scans.md, .github/AGENTS.d/windows-runners.md, .github/AGENTS.md, and 4 more | |
| nox | used-by-CI | Apache-2.0 | .github/workflows/tests-and-quality-gates.yml, noxfile.py, requirements/AGENTS.md, requirements/locks/manifest.json, and 4 more | |
| NVIDIA CUDA Toolkit | integrated | proprietary | Dockerfile, build-config.env, dev/AGENTS.d/ffmpeg-encoders.md, dev/AGENTS.d/package-names.md, and 4 more | Compiler and headers; the CUDA kernels contain NVIDIA code from the toolkit headers and libdevice (docs/licensing.md). |
| oneAPI Level Zero | integrated | MIT | Dockerfile, dev/AGENTS.d/gpu-backend-exposure.md, dev/AGENTS.d/uapi-version-pins.md, dev/Containerfile, and 4 more | Device runtime of the SYCL backend. |
| ONNX Runtime (C library) | integrated | MIT | docker/Dockerfile.production, docs/ai/inference.md | Inference engine of the tiny-AI surface. |
| ossf/scorecard-action | used-by-CI | Apache-2.0 | .github/workflows/scorecard-policy.yml, .github/workflows/scorecard.yml | |
| OSV-Scanner | used-by-CI | Apache-2.0 | .github/ci-impact.json, scripts/ci/tests/test_ci_impact.py | |
| praetor | used-by-CI | EUPL-1.2 | .standards.yaml, .github/workflows/standards-gate.yml | Standards engine, hooks and skills; installed by praetorctl adopt. |
| pre-commit | used-by-CI | MIT | .github/AGENTS.d/pelorus-mirror.md, .github/AGENTS.md, .github/ci-impact.json, .github/copilot-instructions.md, and 4 more | |
| pypa/gh-action-pypi-publish | used-by-CI | BSD-3-Clause | .github/workflows/supply-chain.yml | |
| pytest | used-by-CI | MIT | .github/test-suites.json, .github/workflows/build.yml, .github/workflows/mini-retrain.yml, .github/workflows/tests-and-quality-gates.yml, and 4 more | |
| Python base image | shipped | unknown | Dockerfile, build-config.env, docker/Dockerfile.controller, docker/Dockerfile.node, and 4 more | Same note as the Debian image. |
| QEMU | used-by-CI | unknown | .github/copilot-instructions.md, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, Dockerfile.go-server, and 4 more | User-mode emulation for the Arm and SVE2 runs. |
| rclone | integrated | MIT | .github/workflows/docker-publish-operator-node.yml, .github/workflows/go-ci.yml, build-config.env, deploy/helm/vmafx/AGENTS.md, and 4 more | Mover in the node image; the eBPF program bypasses its reads. |
| release-please | used-by-CI | Apache-2.0 | .github/AGENTS.d/release-fan-out.md, .github/AGENTS.d/required-aggregator.md, .github/AGENTS.md, .github/CODEOWNERS, and 4 more | Release pull requests and tags. |
| Renovate | used-by-CI | AGPL-3.0-only | .github/AGENTS.d/build-matrix-record.md, .github/AGENTS.d/container-signing.md, .github/AGENTS.d/macos-tmate.md, .github/AGENTS.d/python-requirement.md, and 4 more | Dependency updates. |
| REUSE tool | used-by-CI | Apache-2.0 AND CC0-1.0 AND CC-BY-SA-4.0 AND GPL-3.0-or-later | .github/ci-impact.json, .github/copilot-instructions.md, .github/test-suites.json, .github/workflows/docker-publish-tester.yml, and 4 more | Licence metadata checks. |
| ROCm | integrated | MIT | dev/Containerfile, dev/docker-compose.yml | HIP compiler stack. |
| ROCm development image | shipped | unknown | build-config.env, docker/Dockerfile.node, docker/Dockerfile.production-gpu, docker/Dockerfile.tester | |
| Ruff | used-by-CI | MIT | .github/copilot-instructions.md, .github/workflows/lint-and-format.yml, .github/workflows/tests-and-quality-gates.yml, .pre-commit-config.yaml, and 4 more | |
| Semgrep | used-by-CI | LGPL-2.1-or-later | .github/AGENTS.d/security-scans.md, .github/AGENTS.md, .github/ci-impact.json, .github/copilot-instructions.md, and 4 more | |
| ShellCheck | used-by-CI | GPL-3.0-only | .github/workflows/ffmpeg-integration.yml, .github/workflows/go-ci.yml, .github/workflows/libvmaf-build-matrix.yml, .github/workflows/lint-and-format.yml, and 4 more | |
| shfmt (mvdan/sh) | used-by-CI | BSD-3-Clause | .github/workflows/lint-and-format.yml, .github/workflows/required-aggregator.yml, .pre-commit-config.yaml, Makefile, and 3 more | |
| Sigstore cosign | used-by-CI | Apache-2.0 | .github/AGENTS.d/container-signing.md, .github/AGENTS.md, .github/actions/image-licence-artifacts/action.yml, .github/workflows/dev-container-publish.yml, and 4 more | Keyless signing of release artifacts. |
| sigstore/cosign-installer | used-by-CI | Apache-2.0 | .github/workflows/dev-container-publish.yml, .github/workflows/docker-publish-operator-node.yml, .github/workflows/docker-publish-production.yml, .github/workflows/docker-publish-tester.yml, and 4 more | |
| softprops/action-gh-release | used-by-CI | MIT | .github/workflows/supply-chain.yml | |
| Swatinem/rust-cache | used-by-CI | unknown | .github/workflows/rust-ci.yml | |
| Syft | used-by-CI | Apache-2.0 | .github/AGENTS.d/container-signing.md, .github/actions/image-licence-artifacts/action.yml, .github/actions/image-licence-artifacts/sbom.sh, .github/workflows/docker-publish-operator-node.yml, and 4 more | SBOM generation. |
| TheMrMilchmann/setup-msvc-dev | used-by-CI | MIT | .github/workflows/build.yml, .github/workflows/libvmaf-build-matrix.yml, .github/workflows/windows-tester-bundle.yml | |
| tox | used-by-CI | MIT | .github/test-suites.json, .github/workflows/build.yml, .github/workflows/libvmaf-build-matrix.yml, .github/workflows/tests-and-quality-gates.yml, and 4 more | |
| Ubuntu base image | shipped | unknown | Dockerfile, build-config.env, dev/AGENTS.d/entrypoint-unprivileged.md, dev/AGENTS.d/ffmpeg-encoders.md, and 4 more | Same note as the Debian image. |
| vl-convert | used-by-CI | BSD-3-Clause | scripts/docs/generate-charts.py | Renders the documentation charts and writes the Vega bundle. |
Fonts¶
| Item | Relation | Licence | Where it is used | Note |
|---|---|---|---|---|
| Inter | vendored | OFL-1.1 | docs/assets/fonts/inter/ | Subset served by the documentation site (ADR-1508). |
| JetBrains Mono | vendored | OFL-1.1 | docs/assets/fonts/jetbrains-mono/ | Subset served by the documentation site (ADR-1508). |
Add an entry¶
You added, copied or learned from something that is not VMAFx's own work. To credit it:
- Open
docs/credits.yamland add one entry. The fields areid(lower-case kebab),name,url(the upstream,https),kind(upstream,code,library,tool,action,image,font,model,dataset,paper,standardortext),relation(the table above),license, and optionallylicense_note,paths(repository paths or globs that use it),evidence(repository files that state the facts you wrote, required in spirit for models, datasets and papers) andnote. - Copy the licence from the upstream. If it names none, write
none; if you cannot tell, writeunknown. Never guess. - Run
make docs-fragments-writeto render the tables, thenmake docs-fragments-check.
make docs-fragments-check runs scripts/docs/generate-credits.py --check and scripts/docs/check-credits.py. The second fails when:
- the tables differ from the list (page drift);
- a vendored or inherited third-party path has no entry: any non-project licence in
REUSE.toml, anythird_party,3rdpartyorvendordirectory, notice and licence files, font files, and source files whose copyright header names someone other than the project and its contributors; - a
LICENSES/*.txttext is used by no entry and no project code; - a skill or agent file says it was derived from an upstream (
derived_from, or "Adapted from name") and no entry has that URL, which is how files thatpraetorctl adoptinstalls are held to their credit; - an entry names a path or an evidence file that is not in the checkout.
Each check has a planted-defect test in scripts/docs/tests/test_credits.py that the gate must fail on. The decision is ADR-2485.