chore(dnn): T7-12 — remove VMAF_MAX_MODEL_BYTES env override#193
Merged
chore(dnn): T7-12 — remove VMAF_MAX_MODEL_BYTES env override#193
Conversation
Two release cycles passed without a shipped tiny-AI model approaching the 50 MB cap, so the historical `VMAF_MAX_MODEL_BYTES` env override is retired. The compile-time `VMAF_DNN_DEFAULT_MAX_BYTES` constant in `libvmaf/src/dnn/model_loader.h` becomes the single source of truth; callers that genuinely need a larger envelope must bump the constant and rebuild. Code: - `vmaf_dnn_session_open()` and `vmaf_use_tiny_model()` no longer read the env var; both now hard-pin `max_bytes` to `VMAF_DNN_DEFAULT_MAX_BYTES` before calling `vmaf_dnn_validate_onnx()`. Reduces branch count and shaves a few lines off `vmaf_use_tiny_model`'s function-size warning. - The two env-driven unit tests (`test_session_open_respects_max_bytes_env`, `test_session_open_ignores_invalid_max_bytes_env`) and their Windows `_putenv_s` shim are removed. All other size-cap coverage (oversize fixture rejection, `S_ISREG` check, allowlist) stays intact via `test_model_loader.c`. Docs touched: `libvmaf/include/libvmaf/dnn.h`, `libvmaf/src/dnn/model_loader.h`, `libvmaf/src/dnn/README.md`, `docs/ai/security.md`, `docs/ai/benchmarks.md`, `docs/ai/roadmap.md`, `docs/api/dnn.md`. Each one now points at the compile-time constant and notes that the env override was retired in T7-12. CHANGELOG: new "Removed" entry under the lusoris-fork unreleased section. Verification: - `meson test -C build-cpu` → 37/37 pass. - `pre-commit run --files <touched>` → all hooks pass. - `clang-tidy -p build-cpu` on the three touched C files: no new warnings introduced (function-size warning on `vmaf_use_tiny_model` shrank from 68 to 62 lines; remaining pre-existing debt is scoped to T7-5). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Apr 29, 2026
lusoris
pushed a commit
that referenced
this pull request
May 1, 2026
…-1a Netflix Public dataset row) Update docs/state.md `_Updated:` stamp to 2026-04-29 and rewrite the "Tiny-AI C1 baseline `fr_regressor_v1.onnx`" deferral row's reopen-trigger to TRIGGERED — the Netflix Public training corpus that gated C1 is now locally available at `.workingdir2/netflix/` (9 ref + 70 dis YUVs, ~37 GB, gitignored; provided by lawrence 2026-04-27), unblocking BACKLOG T6-1a. Verified the rest of state.md against the 2026-04-29-session merged PR set (#193–#205, #209). Every merged PR was feature / chore / docs / perf with no bug-status delta to record per CLAUDE §12 rule 13: - #193 chore(dnn) T7-12 env override removal — chore. - #194 docs(research) T7-9 NPU digest — research. - #195 feat(mcp) T5-2 embedded scaffold — feature. - #196 feat(vulkan) T7-36 cambi integration — feature. - #197 feat(motion) Netflix b949ceb port — upstream port. - #198 chore(backlog) T7-32 micro-investigations — verify-only. - #199 feat(ai) T6-9 model registry — feature. - #200 feat(hip) T7-10 HIP scaffold — feature. - #201 feat(simd) T7-38 SVE2 ports — feature. - #202 feat(ci) T6-8 parity matrix — feature. - #203 feat(ai) T6-7 FastDVDnet — feature. - #205 docs(audit) T7-4 quarterly audit — explicitly notes "no state.md changes (no upstream commit ruled in/out a fork bug)". - #209 perf(sycl) T7-17 fp64-less device — perf. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 1, 2026
lusoris
pushed a commit
that referenced
this pull request
May 1, 2026
…-1a Netflix Public dataset row) Update docs/state.md `_Updated:` stamp to 2026-04-29 and rewrite the "Tiny-AI C1 baseline `fr_regressor_v1.onnx`" deferral row's reopen-trigger to TRIGGERED — the Netflix Public training corpus that gated C1 is now locally available at `.workingdir2/netflix/` (9 ref + 70 dis YUVs, ~37 GB, gitignored; provided by lawrence 2026-04-27), unblocking BACKLOG T6-1a. Verified the rest of state.md against the 2026-04-29-session merged PR set (#193–#205, #209). Every merged PR was feature / chore / docs / perf with no bug-status delta to record per CLAUDE §12 rule 13: - #193 chore(dnn) T7-12 env override removal — chore. - #194 docs(research) T7-9 NPU digest — research. - #195 feat(mcp) T5-2 embedded scaffold — feature. - #196 feat(vulkan) T7-36 cambi integration — feature. - #197 feat(motion) Netflix b949ceb port — upstream port. - #198 chore(backlog) T7-32 micro-investigations — verify-only. - #199 feat(ai) T6-9 model registry — feature. - #200 feat(hip) T7-10 HIP scaffold — feature. - #201 feat(simd) T7-38 SVE2 ports — feature. - #202 feat(ci) T6-8 parity matrix — feature. - #203 feat(ai) T6-7 FastDVDnet — feature. - #205 docs(audit) T7-4 quarterly audit — explicitly notes "no state.md changes (no upstream commit ruled in/out a fork bug)". - #209 perf(sycl) T7-17 fp64-less device — perf. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
lusoris
pushed a commit
that referenced
this pull request
May 1, 2026
…-1a Netflix Public dataset row) Update docs/state.md `_Updated:` stamp to 2026-04-29 and rewrite the "Tiny-AI C1 baseline `fr_regressor_v1.onnx`" deferral row's reopen-trigger to TRIGGERED — the Netflix Public training corpus that gated C1 is now locally available at `.workingdir2/netflix/` (9 ref + 70 dis YUVs, ~37 GB, gitignored; provided by lawrence 2026-04-27), unblocking BACKLOG T6-1a. Verified the rest of state.md against the 2026-04-29-session merged PR set (#193–#205, #209). Every merged PR was feature / chore / docs / perf with no bug-status delta to record per CLAUDE §12 rule 13: - #193 chore(dnn) T7-12 env override removal — chore. - #194 docs(research) T7-9 NPU digest — research. - #195 feat(mcp) T5-2 embedded scaffold — feature. - #196 feat(vulkan) T7-36 cambi integration — feature. - #197 feat(motion) Netflix b949ceb port — upstream port. - #198 chore(backlog) T7-32 micro-investigations — verify-only. - #199 feat(ai) T6-9 model registry — feature. - #200 feat(hip) T7-10 HIP scaffold — feature. - #201 feat(simd) T7-38 SVE2 ports — feature. - #202 feat(ci) T6-8 parity matrix — feature. - #203 feat(ai) T6-7 FastDVDnet — feature. - #205 docs(audit) T7-4 quarterly audit — explicitly notes "no state.md changes (no upstream commit ruled in/out a fork bug)". - #209 perf(sycl) T7-17 fp64-less device — perf. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
lusoris
added a commit
that referenced
this pull request
May 1, 2026
…-1a Netflix Public dataset row) (#245) Update docs/state.md `_Updated:` stamp to 2026-04-29 and rewrite the "Tiny-AI C1 baseline `fr_regressor_v1.onnx`" deferral row's reopen-trigger to TRIGGERED — the Netflix Public training corpus that gated C1 is now locally available at `.workingdir2/netflix/` (9 ref + 70 dis YUVs, ~37 GB, gitignored; provided by lawrence 2026-04-27), unblocking BACKLOG T6-1a. Verified the rest of state.md against the 2026-04-29-session merged PR set (#193–#205, #209). Every merged PR was feature / chore / docs / perf with no bug-status delta to record per CLAUDE §12 rule 13: - #193 chore(dnn) T7-12 env override removal — chore. - #194 docs(research) T7-9 NPU digest — research. - #195 feat(mcp) T5-2 embedded scaffold — feature. - #196 feat(vulkan) T7-36 cambi integration — feature. - #197 feat(motion) Netflix b949ceb port — upstream port. - #198 chore(backlog) T7-32 micro-investigations — verify-only. - #199 feat(ai) T6-9 model registry — feature. - #200 feat(hip) T7-10 HIP scaffold — feature. - #201 feat(simd) T7-38 SVE2 ports — feature. - #202 feat(ci) T6-8 parity matrix — feature. - #203 feat(ai) T6-7 FastDVDnet — feature. - #205 docs(audit) T7-4 quarterly audit — explicitly notes "no state.md changes (no upstream commit ruled in/out a fork bug)". - #209 perf(sycl) T7-17 fp64-less device — perf. Co-authored-by: Lusoris <lusoris@pm.me> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backlog item T7-12: remove the historical
VMAF_MAX_MODEL_BYTESenvironment-variable override that let callers raise (or, for tests,
lower) the tiny-AI ONNX file-size cap. Two release cycles have passed
without a shipped model approaching the 50 MB cap, so the testing-hatch
is retired in favour of the compile-time
VMAF_DNN_DEFAULT_MAX_BYTESconstant in
libvmaf/src/dnn/model_loader.has the single source of truth.
Code changes:
vmaf_dnn_session_open()andvmaf_use_tiny_model()no longerread the env var; both pin
max_bytestoVMAF_DNN_DEFAULT_MAX_BYTES.test_session_open_respects_max_bytes_env,test_session_open_ignores_invalid_max_bytes_env) and their Windows_putenv_sshim are removed. Other size-cap coverage (oversize fixturerejection,
S_ISREG, allowlist) stays intact.Docs (every prose mention of the env knob updated to the compile-time
constant + a "retired in T7-12" pointer):
libvmaf/include/libvmaf/dnn.h,libvmaf/src/dnn/model_loader.h,libvmaf/src/dnn/README.md,docs/ai/security.md,docs/ai/benchmarks.md,docs/ai/roadmap.md,docs/api/dnn.md.Deep-dive deliverables (ADR-0108)
dnn_api.c,dnn_attach_api.c, andmodel_loader.hare not in upstream Netflix/vmaf, so no upstream-merge conflict surface exists.Test plan
🤖 Generated with Claude Code