Repository navigation
fix(feature): refuse a second float_adm debug instance and file the twins' debug key unsuffixed - #2265
Merged
Conversation
…wins' debug key unsuffixed (#2265) * fix(feature): refuse a second float_adm debug instance and file the twins' debug key unsuffixed Two float_adm instances with debug=true both file the ratio under the key adm, which is never suffixed with the options because the Netflix tests read it, so the second failed the run at the first frame with "problem reading pictures". The CUDA, SYCL and HIP twins listed adm in provided_features and suffixed it, so their debug key differed from the CPU's under any option. feature_extractor_vector_append() now refuses a second context whose extractor declares the same unsuffixed_debug_key with debug set: vmaf_use_feature() returns -EINVAL and the log names the key and its holder. The CPU extractor and the four twins declare the key; the twins list adm_scale0 as the CPU does, and the twin parity cases compare the unsuffixed adm under every option. Closes T-FLOAT-ADM-DEBUG-KEY-UNSUFFIXED-2026-10-01.
lusoris
force-pushed
the
fix/float-adm-debug-key-refusal
branch
from
October 6, 2026 11:57
1c59bab to
75699f4
Compare
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
Closes
T-FLOAT-ADM-DEBUG-KEY-UNSUFFIXED-2026-10-01(maintainer decision Q-015: keep the unsuffixed key, refuse the second instance, align the twins).admkey stays: it is the Netflix golden contract andpython/test/is untouched.feature_extractor_vector_append()refuses a second context whose extractor declares the sameunsuffixed_debug_keywithdebugset.vmaf_use_feature()returns-EINVALand the log names the key and the holder.vmaf --feature float_adm=debug=true --feature float_adm=debug=true:adm_enhn_gain_limit=1.2now stops withproblem loading feature extractor: float_admafter that message, before any frame (it used to fail at frame 0 with "problem reading pictures"). New fieldVmafFeatureExtractor::unsuffixed_debug_key;debugis read from the parsed options (vmaf_feature_extractor_context_debug_key()).adm_scale0where they listedadm(as the CPU does), so they file the ratio unsuffixed. Every option case oftest_cuda_float_adm_parityand the sharedfloat_adm_twin_parity.hnow compares the unsuffixedadmtoo (18 keys instead of 17).Q: "Named refusal + align twins (Recommended)");docs/metrics/adm.mdand anAGENTS.dpage describe it.test_float_adm_debug_key_refusal(4 cases; fails without the refusal),test_cuda_float_adm_parity17 of 17 on the RTX 4090 (CUDA build in a scratch dir), fast suite of the CPU build.make test-netflix-golden's pytest set: 280 passed, 3 skipped (run againstcore/build-goldenof this tree).float_adm_twin_parity.his compiled by their parity tests, not by anything built here. tidy: cpu core/src/feature/float_adm.c core/src/fex_ctx_vector.cpp core/src/feature/feature_extractor.cpp core/test/test_float_adm_debug_key_refusal.c 0 findings; cuda float_adm_cuda.c + test_cuda_float_adm_parity.c 0; hip float_adm_hip.c 0; sycl float_adm_sycl.cpp 0.Reproducer
Deliverables (ADR-0108)
## Alternatives considered.AGENTS.mdinvariant note —core/src/feature/AGENTS.d/float-adm-debug-key.md.changelog.d/fixed/float-adm-debug-key-refusal.md.docs/rebase-notes.md.docs/metrics/adm.md.