Profiles filtering - #378
Open
ahresse wants to merge 11 commits into
Open
Conversation
ylatuya
reviewed
Jul 9, 2026
ahresse
force-pushed
the
profiles-filtering
branch
from
July 9, 2026 14:27
15538ff to
75782a9
Compare
Contributor
Author
|
@ylatuya I implemented your proposition in last commit. Quite useful to be able to list profiles indeed. |
ahresse
force-pushed
the
profiles-filtering
branch
2 times, most recently
from
July 10, 2026 09:44
27c11b9 to
f8f6c0f
Compare
ylatuya
approved these changes
Jul 16, 2026
mdimopoulos
reviewed
Jul 16, 2026
ylatuya
requested changes
Jul 16, 2026
ahresse
force-pushed
the
profiles-filtering
branch
from
August 4, 2026 10:47
f8f6c0f to
339ae09
Compare
Contributor
Author
|
@ylatuya and @mdimopoulos: Last commit might fulfil your previous comments. |
profile 0: color depth: 8 bit/sample, chroma subsampling: 4:2:0 profile 1: color depth: 8 bit, chroma subsampling: 4:2:2, 4:2:0, 4:4:4 profile 2: color depth: 10–12 bit, chroma subsampling: 4:2:0 profile 3: color depth: 10–12 bit, chroma subsampling: 4:2:2, 4:2:0, 4:4:4 Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
to filter test vectors by codec profile
Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
- Add codec attribute to Profile enum - Profile members now carry a codec attribute via tuple values with a custom __new__ - list command shows profiles grouped by codec (filterable with -d/--codec) - TestVector stores/serializes codec alongside profile Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
Redefine each Profile member to carry a list of codecs instead of a single one, so profiles common to several codec families can be shared, e.g. "Main" (H.264, H.265, AV1, MPEG2) and "Main 10" (H.265, H.266). Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
ahresse
force-pushed
the
profiles-filtering
branch
from
August 17, 2026 13:05
dbe9c53 to
83a80f1
Compare
The codec field was only serialized next to the profile and never read back as a Codec enum, causing a type mismatch on reload. Remove it entirely since the test suite already carries the codec. Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
AV1 defines Main, High and Professional profiles. Main already maps to Codec.AV1, so add AV1 to the shared High profile for a complete profile listing. Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
Add the -p/--profiles option to the reference subcommand so reference runs can be restricted to specific codec profiles, mirroring run. Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
Match the test_vector_names pattern by storing the profiles to filter as a Set instead of a List. Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
Sort codecs and their profiles alphabetically in list_profiles for a deterministic listing. Signed-off-by: Alexandre Esse <alexandre.esse@canonical.com>
Contributor
Author
|
I suspect CI to fail because of network failures. (Github is experiencing degraded performance right now. (https://www.githubstatus.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.
This pull request adds support for filtering test vectors by codec profile, allowing users to specify which profiles to run via a new
-p/--profilescommand-line option. The feature is fully documented, supports multiple profiles, is case-insensitive, and includes automatic inference of VP9 profiles from test vector names. The implementation also introduces new profile values for VP9 in theProfileenum and ensures that only matching test vectors are executed when filtering is active.Profile Filtering Feature:
-p/--profilesargument to the CLI, enabling users to run only test vectors matching specified codec profiles; the option supports multiple, case-insensitive profile names and is documented inREADME.md[1] [2] [3] [4].fluster/fluster.pyto parse, validate, and store user-supplied profile names, mapping them to the new or existingProfileenum values; errors are reported for unknown profiles [1] [2] [3] [4] [5].VP9 Profile Support:
VP9 Profile 0throughVP9 Profile 3) to theProfileenum influster/codec.py.vp90-prefix → Profile 0) inTestSuite, and assigned inferred profiles to test vectors when loading VP9 test suites from JSON [1] [2].Test Vector Filtering Logic:
TestSuite.generate_teststo filter out test vectors whose profiles do not match the requested profiles, ensuring only relevant vectors are run.Interface and Internal Consistency:
fluster/fluster.pyandfluster/test_suite.py, ensuring consistent handling across the codebase [1] [2] [3].