Loading scripts/ivas_conformance/runConformance.py +23 −18 Original line number Diff line number Diff line Loading @@ -316,7 +316,7 @@ ReferenceMasaMDFiles = { "REND": "masa_ref_REND.csv", } PROGRAM_VERSION = "4.0" PROGRAM_VERSION = "3.1" @dataclass Loading Loading @@ -1566,7 +1566,7 @@ class MLDConformance: if not row: continue # vlad: MASA MD CSV columns are: frame index, then per-frame diff metrics. # MASA MD CSV columns are: frame index, then per-frame diff metrics. # We Use a single scalar per frame (max abs over all diff columns) # so corridor handling is the same as MLD's one-value-per-frame pipeline. metric_values = [] Loading Loading @@ -1651,7 +1651,7 @@ class MLDConformance: ) return None, (command_str, err_msg) # vlad: a Non-zero return code from masaDiffTool can indicate detected differences, # A Non-zero return code from masaDiffTool can indicate detected differences, # but which is valid for non-BE analysis. Treat missing/invalid CSV as failure. if frame_scores.size == 0: self.appendFailed( Loading Loading @@ -2193,11 +2193,11 @@ if __name__ == "__main__": " --filter LEVEL1 Run LEVEL1 ENC+DEC (≤80 kbps).\n" " --filter LEVEL2 Run LEVEL2 ENC+DEC (≤192 kbps).\n" " --filter LEVEL1 DEC MONO Restrict to DEC MONO tests at LEVEL1.\n" " --filter +REND +ISAR Add REND and ISAR to baseline ENC+DEC.\n" " --filter LEVEL1 +REND +ISAR Add REND and ISAR to LEVEL1 baseline ENC+DEC.\n" " --filter DEC HOA Run DEC tests with HOA2/HOA3 outputs.\n" " --filter DEC -voip Run DEC tests except those matching 'voip'.\n" " --filter ISAR* Add ISAR and ISAR_ENC (wildcard expansion).\n" " --filter DEC +BINAURAL* Run LEVEL3 DEC + all BINAURAL variant outputs.\n" " --filter DEC +BINAURAL* Run LEVEL3 DEC + all BINAURAL output formats.\n" " --filter +ISAR* -voip Add ISAR/ISAR_ENC groups then remove 'voip' tests.\n" ), ) Loading Loading @@ -2253,10 +2253,6 @@ if __name__ == "__main__": unescaped_filter.append(tok) args.filter = unescaped_filter # Explicit LEVEL3 means default level behavior (same as no explicit level token). if args.filter and len(args.filter) == 1 and args.filter[0].upper() == "LEVEL3": args.filter = None if not os.path.isdir(args.testvecDir): parser.error( f"--testvecDir does not exist or is not a directory: {os.path.abspath(args.testvecDir)}" Loading Loading @@ -2368,13 +2364,15 @@ if __name__ == "__main__": tag_remove_tokens = list(dict.fromkeys(tag_remove_tokens)) decoder_format_tokens = list(dict.fromkeys(decoder_format_tokens)) # All levels share the same default tag baseline: ENC + DEC. # REND/ISAR/ISAR_ENC are optional and must be explicitly selected or added. # Plain tag_tokens restrict the baseline; +tag_tokens add beyond it. # Default with no --filter: run all tags. # LEVEL1 default baseline: ENC + DEC (REND/ISAR optional unless explicitly selected/added). # For other filter cases, plain tag_tokens restrict selected tags and +tag_tokens add tags. if tag_tokens: selected_tag_set = set(tag_tokens) else: elif filter_tokens and filter_level == "LEVEL1": selected_tag_set = {"ENC", "DEC"} else: selected_tag_set = set(IVAS_Bins.keys()) for tag in tag_add_tokens: selected_tag_set.add(tag) for tag in tag_remove_tokens: Loading @@ -2394,17 +2392,24 @@ if __name__ == "__main__": if args.filter_display: print(f"Applying filter: {args.filter_display}") print() print("No of tests:") for tag in IVAS_Bins.keys(): n = len(conformance.getSelectedTestsForTag(tag)) if tag in testTags else 0 print(f" {tag} : {n}") print() if args.regenerate_enc_refs: print() print("Reference regeneration targets:") print(f" ISAR_ENC : {len(conformance.TestDesc['ISAR_ENC'])}") print(f" ENC : {len(conformance.TestDesc['ENC'])}") print() conformance.runReferenceGeneration(encTag="ISAR_ENC") conformance.runReferenceGeneration(encTag="ENC") sys.exit(0) print() print("No of tests:") for tag in IVAS_Bins.keys(): n = len(conformance.getSelectedTestsForTag(tag)) if tag in testTags else 0 print(f" {tag} : {n}") print() # If --regenerate-mld-ref is set, treat as --analyse if args.regenerate_mld_ref: args.analyse = True Loading Loading
scripts/ivas_conformance/runConformance.py +23 −18 Original line number Diff line number Diff line Loading @@ -316,7 +316,7 @@ ReferenceMasaMDFiles = { "REND": "masa_ref_REND.csv", } PROGRAM_VERSION = "4.0" PROGRAM_VERSION = "3.1" @dataclass Loading Loading @@ -1566,7 +1566,7 @@ class MLDConformance: if not row: continue # vlad: MASA MD CSV columns are: frame index, then per-frame diff metrics. # MASA MD CSV columns are: frame index, then per-frame diff metrics. # We Use a single scalar per frame (max abs over all diff columns) # so corridor handling is the same as MLD's one-value-per-frame pipeline. metric_values = [] Loading Loading @@ -1651,7 +1651,7 @@ class MLDConformance: ) return None, (command_str, err_msg) # vlad: a Non-zero return code from masaDiffTool can indicate detected differences, # A Non-zero return code from masaDiffTool can indicate detected differences, # but which is valid for non-BE analysis. Treat missing/invalid CSV as failure. if frame_scores.size == 0: self.appendFailed( Loading Loading @@ -2193,11 +2193,11 @@ if __name__ == "__main__": " --filter LEVEL1 Run LEVEL1 ENC+DEC (≤80 kbps).\n" " --filter LEVEL2 Run LEVEL2 ENC+DEC (≤192 kbps).\n" " --filter LEVEL1 DEC MONO Restrict to DEC MONO tests at LEVEL1.\n" " --filter +REND +ISAR Add REND and ISAR to baseline ENC+DEC.\n" " --filter LEVEL1 +REND +ISAR Add REND and ISAR to LEVEL1 baseline ENC+DEC.\n" " --filter DEC HOA Run DEC tests with HOA2/HOA3 outputs.\n" " --filter DEC -voip Run DEC tests except those matching 'voip'.\n" " --filter ISAR* Add ISAR and ISAR_ENC (wildcard expansion).\n" " --filter DEC +BINAURAL* Run LEVEL3 DEC + all BINAURAL variant outputs.\n" " --filter DEC +BINAURAL* Run LEVEL3 DEC + all BINAURAL output formats.\n" " --filter +ISAR* -voip Add ISAR/ISAR_ENC groups then remove 'voip' tests.\n" ), ) Loading Loading @@ -2253,10 +2253,6 @@ if __name__ == "__main__": unescaped_filter.append(tok) args.filter = unescaped_filter # Explicit LEVEL3 means default level behavior (same as no explicit level token). if args.filter and len(args.filter) == 1 and args.filter[0].upper() == "LEVEL3": args.filter = None if not os.path.isdir(args.testvecDir): parser.error( f"--testvecDir does not exist or is not a directory: {os.path.abspath(args.testvecDir)}" Loading Loading @@ -2368,13 +2364,15 @@ if __name__ == "__main__": tag_remove_tokens = list(dict.fromkeys(tag_remove_tokens)) decoder_format_tokens = list(dict.fromkeys(decoder_format_tokens)) # All levels share the same default tag baseline: ENC + DEC. # REND/ISAR/ISAR_ENC are optional and must be explicitly selected or added. # Plain tag_tokens restrict the baseline; +tag_tokens add beyond it. # Default with no --filter: run all tags. # LEVEL1 default baseline: ENC + DEC (REND/ISAR optional unless explicitly selected/added). # For other filter cases, plain tag_tokens restrict selected tags and +tag_tokens add tags. if tag_tokens: selected_tag_set = set(tag_tokens) else: elif filter_tokens and filter_level == "LEVEL1": selected_tag_set = {"ENC", "DEC"} else: selected_tag_set = set(IVAS_Bins.keys()) for tag in tag_add_tokens: selected_tag_set.add(tag) for tag in tag_remove_tokens: Loading @@ -2394,17 +2392,24 @@ if __name__ == "__main__": if args.filter_display: print(f"Applying filter: {args.filter_display}") print() print("No of tests:") for tag in IVAS_Bins.keys(): n = len(conformance.getSelectedTestsForTag(tag)) if tag in testTags else 0 print(f" {tag} : {n}") print() if args.regenerate_enc_refs: print() print("Reference regeneration targets:") print(f" ISAR_ENC : {len(conformance.TestDesc['ISAR_ENC'])}") print(f" ENC : {len(conformance.TestDesc['ENC'])}") print() conformance.runReferenceGeneration(encTag="ISAR_ENC") conformance.runReferenceGeneration(encTag="ENC") sys.exit(0) print() print("No of tests:") for tag in IVAS_Bins.keys(): n = len(conformance.getSelectedTestsForTag(tag)) if tag in testTags else 0 print(f" {tag} : {n}") print() # If --regenerate-mld-ref is set, treat as --analyse if args.regenerate_mld_ref: args.analyse = True Loading