Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/agents/pr-body-checker.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ the legacy single `CHANGELOG.md`); same for "Rebase note" →
## How to invoke

```bash
gh pr view <num> --repo lusoris/vmaf --json body -q .body \
| PR_BODY="$(gh pr view <num> --repo lusoris/vmaf --json body -q .body)" \
gh pr view <num> --repo VMAFx/vmafx --json body -q .body \
| PR_BODY="$(gh pr view <num> --repo VMAFx/vmafx --json body -q .body)" \
bash scripts/ci/validate-pr-body.sh
```

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability (private)
url: https://github.com/lusoris/vmaf/security/advisories/new
url: https://github.com/VMAFx/vmafx/security/advisories/new
about: Report a security issue privately. Do NOT file a public issue.
- name: Question / discussion
url: https://github.com/lusoris/vmaf/discussions
url: https://github.com/VMAFx/vmafx/discussions
about: Open-ended questions and design discussions.
- name: Upstream Netflix/vmaf
url: https://github.com/Netflix/vmaf/issues
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/docker-publish-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
# - workflow_dispatch for manual runs
#
# Produces:
# ghcr.io/lusoris/vmafx:<tag> (cpu, amd64+arm64)
# ghcr.io/lusoris/vmafx:latest (same)
# ghcr.io/lusoris/vmafx:<tag>-cuda12 (amd64 only — CUDA not portable to arm64)
# ghcr.io/lusoris/vmafx:<tag>-rocm6 (amd64 only)
# ghcr.io/lusoris/vmafx:<tag>-oneapi2026 (amd64 only)
# ghcr.io/lusoris/vmafx:<tag>-vulkan (amd64+arm64)
# ghcr.io/vmafx/vmafx:<tag> (cpu, amd64+arm64)
# ghcr.io/vmafx/vmafx:latest (same)
# ghcr.io/vmafx/vmafx:<tag>-cuda12 (amd64 only — CUDA not portable to arm64)
# ghcr.io/vmafx/vmafx:<tag>-rocm6 (amd64 only)
# ghcr.io/vmafx/vmafx:<tag>-oneapi2026 (amd64 only)
# ghcr.io/vmafx/vmafx:<tag>-vulkan (amd64+arm64)
#
# Post-push steps: cosign keyless sign + syft SBOM (CycloneDX JSON) via cosign attest.
# ADR-0698: vmafx-production-dockerfile
Expand All @@ -34,7 +34,7 @@ permissions:

env:
REGISTRY: ghcr.io
IMAGE_NAME: lusoris/vmafx
IMAGE_NAME: vmafx/vmafx

jobs:
# -----------------------------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@
[`docs/research/0006-tinyai-ptq-accuracy-targets.md`](docs/research/0006-tinyai-ptq-accuracy-targets.md)
§4 now references the actual shipped `vmaf_tiny_v1_medium.onnx`
checkpoint (landed by [PR
#158](https://github.com/lusoris/vmaf/pull/158)) instead of the
#158](https://github.com/VMAFx/vmafx/pull/158)) instead of the
fictional `tiny-vmaf-v2` prototype name; the digest's QAT
cost/budget framing is unchanged. (c)
[`python/vmaf/routine.py`](python/vmaf/routine.py) — both
Expand Down Expand Up @@ -2055,7 +2055,7 @@
SIMD coverage matrix and `float_ms_ssim` <176×176 minimum
documented in [`docs/metrics/features.md`](docs/metrics/features.md).
- **Tracked `docs/state.md` + bug-status hygiene rule** (fork-local):
closes [Issue #20](https://github.com/lusoris/vmaf/issues/20) and
closes [Issue #20](https://github.com/VMAFx/vmafx/issues/20) and
backlog item T7-1. New tracked file [`docs/state.md`](docs/state.md)
is the canonical in-tree register of bug status (Open / Recently
closed / Confirmed not-affected / Deferred). New CLAUDE.md §12
Expand Down
6 changes: 3 additions & 3 deletions LICENSES/Apache-2.0-u2netp.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Third-party license bundle for the fork-local mirror of U-2-Net's
Per ADR-0325 (`docs/adr/0325-u2netp-fork-mirror-scaffold.md`),
the fork redistributes the upstream `xuebinqin/U-2-Net` `u2netp`
checkpoint (and/or its ONNX rewrap) as a GitHub Release asset
attached to the lusoris/vmaf repository. This file is the
attached to the VMAFx/vmafx repository. This file is the
Apache-2.0 §4 (a) + (c) compliance receipt — it travels with the
binary in the same release.

Expand Down Expand Up @@ -261,8 +261,8 @@ END OF APACHE-2.0 LICENSE TEXT
The above licence text is the canonical Apache-2.0 from
<https://www.apache.org/licenses/LICENSE-2.0.txt> and applies to
the redistributed `u2netp` checkpoint and any ONNX rewrap thereof
attached to lusoris/vmaf GitHub Releases. The fork's own code
under <https://github.com/lusoris/vmaf> is BSD-3-Clause-Plus-Patent
attached to VMAFx/vmafx GitHub Releases. The fork's own code
under <https://github.com/VMAFx/vmafx> is BSD-3-Clause-Plus-Patent
(see the top-level `LICENSE` file); the two licences co-exist
because the fork redistributes the upstream Apache-2.0 weights as
a separately-attached release artefact, not as bundled fork
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# VMAF — Lusoris Fork

[![Tests & Quality Gates](https://github.com/lusoris/vmaf/actions/workflows/tests-and-quality-gates.yml/badge.svg)](https://github.com/lusoris/vmaf/actions/workflows/tests-and-quality-gates.yml)
[![Lint & Format](https://github.com/lusoris/vmaf/actions/workflows/lint-and-format.yml/badge.svg)](https://github.com/lusoris/vmaf/actions/workflows/lint-and-format.yml)
[![Security Scans](https://github.com/lusoris/vmaf/actions/workflows/security-scans.yml/badge.svg)](https://github.com/lusoris/vmaf/actions/workflows/security-scans.yml)
[![libvmaf Build Matrix](https://github.com/lusoris/vmaf/actions/workflows/libvmaf-build-matrix.yml/badge.svg)](https://github.com/lusoris/vmaf/actions/workflows/libvmaf-build-matrix.yml)
[![FFmpeg Integration](https://github.com/lusoris/vmaf/actions/workflows/ffmpeg-integration.yml/badge.svg)](https://github.com/lusoris/vmaf/actions/workflows/ffmpeg-integration.yml)
[![Tests & Quality Gates](https://github.com/VMAFx/vmafx/actions/workflows/tests-and-quality-gates.yml/badge.svg)](https://github.com/VMAFx/vmafx/actions/workflows/tests-and-quality-gates.yml)
[![Lint & Format](https://github.com/VMAFx/vmafx/actions/workflows/lint-and-format.yml/badge.svg)](https://github.com/VMAFx/vmafx/actions/workflows/lint-and-format.yml)
[![Security Scans](https://github.com/VMAFx/vmafx/actions/workflows/security-scans.yml/badge.svg)](https://github.com/VMAFx/vmafx/actions/workflows/security-scans.yml)
[![libvmaf Build Matrix](https://github.com/VMAFx/vmafx/actions/workflows/libvmaf-build-matrix.yml/badge.svg)](https://github.com/VMAFx/vmafx/actions/workflows/libvmaf-build-matrix.yml)
[![FFmpeg Integration](https://github.com/VMAFx/vmafx/actions/workflows/ffmpeg-integration.yml/badge.svg)](https://github.com/VMAFx/vmafx/actions/workflows/ffmpeg-integration.yml)
[![License: BSD-3-Clause+Patent](https://img.shields.io/badge/License-BSD--3--Clause--Plus--Patent-blue.svg)](LICENSE)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits)](https://www.conventionalcommits.org)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/lusoris/vmaf/badge)](https://securityscorecards.dev/viewer/?uri=github.com/lusoris/vmaf)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/VMAFx/vmafx/badge)](https://securityscorecards.dev/viewer/?uri=github.com/VMAFx/vmafx)
[![ko-fi](https://img.shields.io/badge/ko--fi-support%20lusoris-ff5e5b?logo=kofi&logoColor=white)](https://ko-fi.com/lusoris)

**A GPU-accelerated, full-precision, signed-release fork of
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ the current `master` and the latest two tagged releases.
**Please do not open a public issue for security problems.**

Use GitHub's private vulnerability-reporting flow:
`https://github.com/lusoris/vmaf/security/advisories/new`
`https://github.com/VMAFx/vmafx/security/advisories/new`

If the issue is in code inherited from upstream, we will coordinate
disclosure with Netflix/vmaf maintainers.
Expand Down
4 changes: 2 additions & 2 deletions SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ We track upstream but don't duplicate its discussion threads.
## Is it about this fork specifically?

- **GPU backends (CUDA / SYCL / Vulkan; HIP planned)** —
[open a bug report](https://github.com/lusoris/vmaf/issues/new/choose)
[open a bug report](https://github.com/VMAFx/vmafx/issues/new/choose)
- **SIMD paths (AVX2 / AVX-512 / NEON)** — same
- **`--precision` flag / IEEE-754 output** — same
- **Tiny-AI surface / ONNX Runtime integration** — same
Expand Down Expand Up @@ -42,7 +42,7 @@ Questions that include all five usually get triaged within a few days.
## Chat / real-time

None currently. If there's demand we'll open a Discord. Watch
[the repo](https://github.com/lusoris/vmaf) for announcements.
[the repo](https://github.com/VMAFx/vmafx) for announcements.

## Sponsoring

Expand Down
4 changes: 2 additions & 2 deletions changelog.d/_pre_fragment_legacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@
[`docs/research/0006-tinyai-ptq-accuracy-targets.md`](docs/research/0006-tinyai-ptq-accuracy-targets.md)
§4 now references the actual shipped `vmaf_tiny_v1_medium.onnx`
checkpoint (landed by [PR
#158](https://github.com/lusoris/vmaf/pull/158)) instead of the
#158](https://github.com/VMAFx/vmafx/pull/158)) instead of the
fictional `tiny-vmaf-v2` prototype name; the digest's QAT
cost/budget framing is unchanged. (c)
[`python/vmaf/routine.py`](python/vmaf/routine.py) — both
Expand Down Expand Up @@ -1945,7 +1945,7 @@
SIMD coverage matrix and `float_ms_ssim` <176×176 minimum
documented in [`docs/metrics/features.md`](docs/metrics/features.md).
- **Tracked `docs/state.md` + bug-status hygiene rule** (fork-local):
closes [Issue #20](https://github.com/lusoris/vmaf/issues/20) and
closes [Issue #20](https://github.com/VMAFx/vmafx/issues/20) and
backlog item T7-1. New tracked file [`docs/state.md`](docs/state.md)
is the canonical in-tree register of bug status (Open / Recently
closed / Confirmed not-affected / Deferred). New CLAUDE.md §12
Expand Down
5 changes: 5 additions & 0 deletions changelog.d/changed/post-cutover-url-sweep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- All in-tree references to `lusoris/vmaf` (GitHub URLs, repository slugs, GHCR
registry paths, OCI labels) updated to `VMAFx/vmafx` following the GitHub
organization cutover. GHCR image paths use lowercase `vmafx/vmafx` per OCI
registry convention. 113 files updated, 279 occurrences replaced. PR:
chore/post-cutover-url-sweep.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- **CRITICAL**: AVX-512 float convolution dispatch from [#1261](https://github.com/lusoris/vmaf/pull/1261) (ADR-0504) reads past the row buffer when row width isn't a multiple of 16 floats (64 bytes). Surfaces as `munmap_chunk(): invalid pointer` / SIGABRT in `speed_temporal` which calls `vif_filter1d_s` at downscaled widths like 45 (= 360 >> 3) on portrait sources. Guard the three AVX-512 dispatch sites in `core/src/feature/vif_tools.c` with `(w % 16) == 0` — narrower rows fall through to the AVX2 8-wide path. Caught by the CHUG re-extract failing with SIGABRT on every portrait clip after the dispatch landed in master.
- **CRITICAL**: AVX-512 float convolution dispatch from [#1261](https://github.com/VMAFx/vmafx/pull/1261) (ADR-0504) reads past the row buffer when row width isn't a multiple of 16 floats (64 bytes). Surfaces as `munmap_chunk(): invalid pointer` / SIGABRT in `speed_temporal` which calls `vif_filter1d_s` at downscaled widths like 45 (= 360 >> 3) on portrait sources. Guard the three AVX-512 dispatch sites in `core/src/feature/vif_tools.c` with `(w % 16) == 0` — narrower rows fall through to the AVX2 8-wide path. Caught by the CHUG re-extract failing with SIGABRT on every portrait clip after the dispatch landed in master.
2 changes: 1 addition & 1 deletion changelog.d/fixed/cambi-cuda-host-preprocessing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
`integer_cambi_cuda.c::submit_fex_cuda` called `vmaf_cambi_preprocessing(dist_pic, ...)`
directly on the CUDA picture. The CUDA picture's `data[0]` is a device pointer; reading
it on the host caused a segfault (SIGSEGV, exit code 139) on every `--feature cambi_cuda`
invocation. Fixes [Issue #857](https://github.com/lusoris/vmaf/issues/857).
invocation. Fixes [Issue #857](https://github.com/VMAFx/vmafx/issues/857).

**Root cause:** `vmaf_cambi_preprocessing` internally calls
`decimate_generic_uint8_and_convert_to_10b` which dereferences `pic->data[0]` row-by-row
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
- The K150K/CHUG feature extractor (`ai/scripts/extract_k150k_features.py`)
now passes HDR-aware and HFR-aware per-feature options to libvmaf
([ADR-0446](../docs/adr/0446-extractor-hdr-and-hfr-feature-options.md)),
closing [Issue #837](https://github.com/lusoris/vmaf/issues/837) +
closing [Issue #837](https://github.com/VMAFx/vmafx/issues/837) +
the parallel CAMBI HDR-EOTF gap surfaced by lawrence's review of the
in-flight CHUG extraction. Per-clip ffprobe now surfaces
`color_primaries`/`color_transfer`/`color_space`; HDR sources
Expand Down
2 changes: 1 addition & 1 deletion changelog.d/fixed/test-yuv-fixtures-md5.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- Test YUV fixture provisioner: `scripts/test/fetch-test-yuvs.sh` downloads `src01_hrc0[0-1]_576x324.yuv` from `Netflix/vmaf_resource` and md5-verifies them. Reverts the [#1237](https://github.com/lusoris/vmaf/pull/1237) ADM2 golden override, which was based on output from stale local fixture content. See [ADR-0493](docs/adr/0493-test-yuv-fixture-md5-verification.md) and [docs/development/test-fixtures.md](docs/development/test-fixtures.md).
- Test YUV fixture provisioner: `scripts/test/fetch-test-yuvs.sh` downloads `src01_hrc0[0-1]_576x324.yuv` from `Netflix/vmaf_resource` and md5-verifies them. Reverts the [#1237](https://github.com/VMAFx/vmafx/pull/1237) ADM2 golden override, which was based on output from stale local fixture content. See [ADR-0493](docs/adr/0493-test-yuv-fixture-md5-verification.md) and [docs/development/test-fixtures.md](docs/development/test-fixtures.md).
2 changes: 1 addition & 1 deletion changelog.d/fixed/tiny-registry-sha256-after-1226.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
- `model/tiny/registry.json`: refresh `vmaf_tiny_v1_medium` sha256 to match the inlined-external-data file shipped by [#1226](https://github.com/lusoris/vmaf/pull/1226). The repack changed the file's bytes (and therefore its sha) but the registry entry was not updated in the same PR, so `meson test --suite=dnn` failed locally and would fail in CI on `test_registry`.
- `model/tiny/registry.json`: refresh `vmaf_tiny_v1_medium` sha256 to match the inlined-external-data file shipped by [#1226](https://github.com/VMAFx/vmafx/pull/1226). The repack changed the file's bytes (and therefore its sha) but the registry entry was not updated in the same PR, so `meson test --suite=dnn` failed locally and would fail in CI on `test_registry`.
4 changes: 2 additions & 2 deletions core/src/dnn/model_loader.c
Original file line number Diff line number Diff line change
Expand Up @@ -1094,13 +1094,13 @@ int vmaf_dnn_verify_signature(const char *onnx_path, const char *registry_path)

/* posix_spawnp argv. The certificate-identity-regexp + oidc-issuer
* mirror docs/ai/security.md; they pin verification to
* lusoris/vmaf's supply-chain workflow identity. */
* VMAFx/vmafx's supply-chain workflow identity. */
char *argv[] = {
(char *)"cosign",
(char *)"verify-blob",
bundle_arg,
(char *)"--certificate-identity-regexp",
(char *)"https://github.com/lusoris/vmaf/.github/workflows/.+",
(char *)"https://github.com/VMAFx/vmafx/.github/workflows/.+",
(char *)"--certificate-oidc-issuer",
(char *)"https://token.actions.githubusercontent.com",
(char *)onnx_path,
Expand Down
4 changes: 2 additions & 2 deletions deploy/helm/vmafx/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ description: >
type: application
version: 0.1.0
appVersion: "3.0.0"
home: https://github.com/lusoris/vmaf
home: https://github.com/VMAFx/vmafx
sources:
- https://github.com/lusoris/vmaf
- https://github.com/VMAFx/vmafx
keywords:
- vmaf
- video-quality
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm/vmafx/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ To scale:

To roll out a new image:
kubectl set image -n {{ .Release.Namespace }} deployment/{{ include "vmafx.fullname" . }} \
{{ include "vmafx.name" . }}=ghcr.io/lusoris/vmafx:<new-tag>
{{ include "vmafx.name" . }}=ghcr.io/vmafx/vmafx:<new-tag>

{{- else if eq .Values.workload "Job" }}
----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm/vmafx/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# Image
# ---------------------------------------------------------------------------
image:
repository: ghcr.io/lusoris/vmafx
repository: ghcr.io/vmafx/vmafx
tag: "" # Defaults to .Chart.AppVersion when empty.
pullPolicy: IfNotPresent

Expand Down
2 changes: 1 addition & 1 deletion dev/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ FROM ubuntu:26.04@sha256:f3d28607ddd78734bb7f71f117f3c6706c666b8b76cbff7c9ff6e57

LABEL org.opencontainers.image.title="vmaf-dev-mcp-build-deps"
LABEL org.opencontainers.image.description="Base build tools for VMAF fork dev-MCP container"
LABEL org.opencontainers.image.source="https://github.com/lusoris/vmaf"
LABEL org.opencontainers.image.source="https://github.com/VMAFx/vmafx"
LABEL org.opencontainers.image.licenses="BSD-3-Clause-Plus-Patent"

ARG DEBIAN_FRONTEND=noninteractive
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile.production
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ARG DEBIAN_FRONTEND=noninteractive

LABEL org.opencontainers.image.title="vmafx-builder"
LABEL org.opencontainers.image.description="Build stage: libvmaf + vmaf CLI (release/stripped)"
LABEL org.opencontainers.image.source="https://github.com/lusoris/vmaf"
LABEL org.opencontainers.image.source="https://github.com/VMAFx/vmafx"
LABEL org.opencontainers.image.licenses="BSD-3-Clause-Plus-Patent"

# Install only build-time deps; nothing carried into the runtime stage
Expand Down Expand Up @@ -102,7 +102,7 @@ FROM gcr.io/distroless/cc-debian12@sha256:aa0b7af67fa8211751ea6e00baa8373ba56cc1
# placeholders here so local builds still produce labelled images.
LABEL org.opencontainers.image.title="vmafx"
LABEL org.opencontainers.image.description="VMAFX production runtime — libvmaf + vmaf CLI / MCP server"
LABEL org.opencontainers.image.source="https://github.com/lusoris/vmaf"
LABEL org.opencontainers.image.source="https://github.com/VMAFx/vmafx"
LABEL org.opencontainers.image.licenses="BSD-3-Clause-Plus-Patent"
LABEL org.opencontainers.image.vendor="Lusoris"

Expand Down
12 changes: 6 additions & 6 deletions docker/Dockerfile.production-gpu
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
# vulkan — adds Vulkan runtime ICD loader (libvulkan.so + lavapipe ICD JSON)
#
# Tag matrix (built by CI):
# ghcr.io/lusoris/vmafx:<tag> (cpu default, same as Dockerfile.production)
# ghcr.io/lusoris/vmafx:<tag>-cuda12
# ghcr.io/lusoris/vmafx:<tag>-rocm6
# ghcr.io/lusoris/vmafx:<tag>-oneapi2026
# ghcr.io/lusoris/vmafx:<tag>-vulkan
# ghcr.io/vmafx/vmafx:<tag> (cpu default, same as Dockerfile.production)
# ghcr.io/vmafx/vmafx:<tag>-cuda12
# ghcr.io/vmafx/vmafx:<tag>-rocm6
# ghcr.io/vmafx/vmafx:<tag>-oneapi2026
# ghcr.io/vmafx/vmafx:<tag>-vulkan
#
# ADR-0698: vmafx-production-dockerfile

Expand Down Expand Up @@ -164,7 +164,7 @@ FROM gcr.io/distroless/cc-debian12@sha256:aa0b7af67fa8211751ea6e00baa8373ba56cc1

LABEL org.opencontainers.image.title="vmafx"
LABEL org.opencontainers.image.description="VMAFX production GPU runtime"
LABEL org.opencontainers.image.source="https://github.com/lusoris/vmaf"
LABEL org.opencontainers.image.source="https://github.com/VMAFx/vmafx"
LABEL org.opencontainers.image.licenses="BSD-3-Clause-Plus-Patent"
LABEL org.opencontainers.image.vendor="Lusoris"

Expand Down
2 changes: 1 addition & 1 deletion docs/adr/0002-merge-path-master-default.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The fork carried multiple long-lived branches (`gpu-opt`, `sycl`, `master`) with

## Decision

We will integrate via `gpu-opt → sycl → master`, make `master` the fork default on `origin` (`gh api -X PATCH repos/lusoris/vmaf -f default_branch=master`), and keep `upstream/master` fetchable via `git fetch upstream` for periodic syncs.
We will integrate via `gpu-opt → sycl → master`, make `master` the fork default on `origin` (`gh api -X PATCH repos/VMAFx/vmafx -f default_branch=master`), and keep `upstream/master` fetchable via `git fetch upstream` for periodic syncs.

## Alternatives considered

Expand Down
4 changes: 2 additions & 2 deletions docs/adr/0102-dnn-ep-selection-and-fp16-io.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ accepted at the public surface and then silently dropped by the backend:
`ROCM` enum values existed but had no wiring at all.
- `fp16_io` was a documented `bool` with no code path ever reading it.

Issue [#30](https://github.com/lusoris/vmaf/issues/30) flagged this as
Issue [#30](https://github.com/VMAFx/vmafx/issues/30) flagged this as
an API correctness bug: callers that set `device = VMAF_DNN_DEVICE_CUDA`
or `fp16_io = true` got a CPU fp32 session, with no log, no error, and
no way to detect the silent downgrade. The same applies to
Expand Down Expand Up @@ -109,7 +109,7 @@ hosts without hardware fp16.

## References

- Issue [#30 — VmafDnnDevice OPENVINO/ROCM + fp16_io accepted-but-ignored](https://github.com/lusoris/vmaf/issues/30)
- Issue [#30 — VmafDnnDevice OPENVINO/ROCM + fp16_io accepted-but-ignored](https://github.com/VMAFx/vmafx/issues/30)
- [ONNX Runtime C API — execution providers](https://onnxruntime.ai/docs/execution-providers/)
- [ADR-0040](decisions-log.md) — multi-input DNN session API (the same `VmafDnnConfig` this ADR extends)
- [ADR-0042 / ADR-0100](decisions-log.md) — docs-in-same-PR rules (this PR updates `docs/api/dnn.md` accordingly)
Loading
Loading