Loading tests/cmp_stats_files.py +7 −7 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ def str2num(s): def cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=0.1, min_enc_stats_diff=0.1 ref_stats_file, dut_stats_file, max_enc_file_length_diff, max_enc_stats_diff ) -> (int, str): """ Compare two .stats files containing encoder statistics (extracted from binary files) Loading Loading @@ -60,7 +60,7 @@ def cmp_stats_files( if ( abs(ref_stats_dict["length"] - dut_stats_dict["length"]) / file_length > min_enc_file_length_diff > max_enc_file_length_diff ): result_len_check = 1 Loading Loading @@ -98,7 +98,7 @@ def cmp_stats_files( ) msg += f"the total number of differences is {total_num_diff} ({(total_num_diff_ratio*100):.2f}%)" if total_num_diff_ratio > min_enc_stats_diff: if total_num_diff_ratio > max_enc_stats_diff: result_diff_check = 1 msg += "! " else: Loading @@ -119,7 +119,7 @@ def cmp_stats_files( print(msg) if enc_test_result and max_total_num_diff > 0: msg = f"MAXIMUM ENC DIFF: {max_total_num_diff} ({(max_total_num_diff_ratio*100):.2f}%) MAX_ENC_DIFF_NAME: '{max_diff_name}'" msg = f"MAXIMUM ENC DIFF: {max_diff_name} {max_total_num_diff} ({(max_total_num_diff_ratio*100):.2f}%)" enc_test_result_msg += msg print(msg) Loading @@ -132,13 +132,13 @@ if __name__ == "__main__": parser.add_argument("ref_stats_file", type=str) parser.add_argument("dut_stats_file", type=str) parser.add_argument( "--min_enc_file_length_diff", "--max_enc_file_length_diff", type=float, default=0.1, dest="min_enc_file_length_diff", dest="max_enc_file_length_diff", ) parser.add_argument( "--min_enc_stats_diff", type=float, default=0.1, dest="min_enc_stats_diff" "--max_enc_stats_diff", type=float, default=0.1, dest="max_enc_stats_diff" ) args = parser.parse_args() Loading tests/codec_be_on_mr_nonselection/test_param_file.py +4 −4 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ from tests.cmp_stats_files import cmp_stats_files from tests.conftest import DecoderFrontend, EncoderFrontend, parse_properties from tests.testconfig import PARAM_FILE from tests.constants import ( MIN_ENC_FILE_LENGTH_DIFF, MIN_ENC_STATS_DIFF, MAX_ENC_FILE_LENGTH_DIFF, MAX_ENC_STATS_DIFF, SCRIPTS_DIR, MAX_ENC_DIFF, ) Loading Loading @@ -251,8 +251,8 @@ def test_param_file_tests( enc_test_result, enc_test_result_msg = cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=MIN_ENC_FILE_LENGTH_DIFF, min_enc_stats_diff=MIN_ENC_STATS_DIFF, max_enc_file_length_diff=MAX_ENC_FILE_LENGTH_DIFF, max_enc_stats_diff=MAX_ENC_STATS_DIFF, ) print("") Loading tests/codec_be_on_mr_nonselection/test_sba.py +3 −3 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend, EncoderFrontend from ..conftest import parse_properties from ..cmp_stats_files import cmp_stats_files from ..constants import TESTV_DIR, MIN_ENC_FILE_LENGTH_DIFF, MIN_ENC_STATS_DIFF from ..constants import TESTV_DIR, MAX_ENC_FILE_LENGTH_DIFF, MAX_ENC_STATS_DIFF from tests.testconfig import use_ltv Loading Loading @@ -309,8 +309,8 @@ def test_sba_enc_system( enc_test_result, enc_test_result_msg = cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=MIN_ENC_FILE_LENGTH_DIFF, min_enc_stats_diff=MIN_ENC_STATS_DIFF, max_enc_file_length_diff=MAX_ENC_FILE_LENGTH_DIFF, max_enc_stats_diff=MAX_ENC_STATS_DIFF, ) print("") Loading tests/conftest.py +5 −11 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ import tempfile from typing import Optional, Union import numpy as np from .constants import ( MAX_ENC_DIFF_NAME_PATTERN, # MAX_ENC_DIFF_NAME_PATTERN, MAX_ENC_DIFF_PARAM_NAME, MLD_PATTERN, MAX_DIFF_PATTERN, Loading Loading @@ -1115,17 +1115,11 @@ def parse_properties(text_to_parse: str, output_differs: bool, props_to_record: elif prop == MAX_ENC_DIFF: search_result = re.search(MAX_ENC_DIFF_PATTERN, text_to_parse) max_enc_diff_ratio = 0.0 name_result = "" max_enc_diff_param_name = "" if search_result: _, max_enc_diff_ratio = search_result.groups(0) if max_enc_diff_ratio: max_enc_diff_ratio = float(max_enc_diff_ratio) name_result = re.search( MAX_ENC_DIFF_NAME_PATTERN, text_to_parse ).groups(0)[0] props[MAX_ENC_DIFF] = max_enc_diff_ratio props[MAX_ENC_DIFF_PARAM_NAME] = name_result max_enc_diff_param_name, _, max_enc_diff_ratio = search_result.groups(0) props[MAX_ENC_DIFF] = float(max_enc_diff_ratio) props[MAX_ENC_DIFF_PARAM_NAME] = max_enc_diff_param_name return props Loading tests/constants.py +5 −7 Original line number Diff line number Diff line Loading @@ -23,18 +23,16 @@ MAX_DIFF_PATTERN = r"MAXIMUM ABS DIFF: (\d*)" ODG_PATTERN_PQEVALAUDIO = r"Objective Difference Grade: (-*\d*\.\d*)" ODG_PATTERN = r"ODG: (-*\d*\.\d*)" SSNR_PATTERN = r"Channel \d* SSNR: (nan|[+-]*inf|[-*\d\.]*)" MAX_ENC_DIFF_PATTERN = r"MAXIMUM ENC DIFF: (\d+) \((\d+\.\d+)%\)" MAX_ENC_DIFF_NAME_PATTERN = r"MAX_ENC_DIFF_NAME: '(.*)'" MAX_ENC_DIFF_PATTERN = r"MAXIMUM ENC DIFF: ([^ ]*) (\d+) \((\d+\.\d+)%\)" ENC_CORE_OVL_PATTERN = r"Core input overload detected: (\d+)" MAX_OVL_PATTERN = r"Max overload value: (\d+\.\d+)" MIN_OVL_PATTERN = r"Min overload value: (-*\d+\.\d+)" # maximum "relative" tolerable difference between ref and dut encoder file lengths MAX_ENC_FILE_LENGTH_DIFF = 0.1 # minimum difference between ref and dut encoder file lengths MIN_ENC_FILE_LENGTH_DIFF = 0.1 # minimum difference between the statistics of ref and dut encoder files MIN_ENC_STATS_DIFF = 0.1 # maximum "relative" tolerable difference between the statistics of ref and dut encoder files MAX_ENC_STATS_DIFF = 0.5 # list of encoder filename patterns with their data type and number of samples per frame # note: instead of specifying the number of samples per frame, you can use a formula incl. 'fs', e.g. 'fs/50' Loading Loading
tests/cmp_stats_files.py +7 −7 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ def str2num(s): def cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=0.1, min_enc_stats_diff=0.1 ref_stats_file, dut_stats_file, max_enc_file_length_diff, max_enc_stats_diff ) -> (int, str): """ Compare two .stats files containing encoder statistics (extracted from binary files) Loading Loading @@ -60,7 +60,7 @@ def cmp_stats_files( if ( abs(ref_stats_dict["length"] - dut_stats_dict["length"]) / file_length > min_enc_file_length_diff > max_enc_file_length_diff ): result_len_check = 1 Loading Loading @@ -98,7 +98,7 @@ def cmp_stats_files( ) msg += f"the total number of differences is {total_num_diff} ({(total_num_diff_ratio*100):.2f}%)" if total_num_diff_ratio > min_enc_stats_diff: if total_num_diff_ratio > max_enc_stats_diff: result_diff_check = 1 msg += "! " else: Loading @@ -119,7 +119,7 @@ def cmp_stats_files( print(msg) if enc_test_result and max_total_num_diff > 0: msg = f"MAXIMUM ENC DIFF: {max_total_num_diff} ({(max_total_num_diff_ratio*100):.2f}%) MAX_ENC_DIFF_NAME: '{max_diff_name}'" msg = f"MAXIMUM ENC DIFF: {max_diff_name} {max_total_num_diff} ({(max_total_num_diff_ratio*100):.2f}%)" enc_test_result_msg += msg print(msg) Loading @@ -132,13 +132,13 @@ if __name__ == "__main__": parser.add_argument("ref_stats_file", type=str) parser.add_argument("dut_stats_file", type=str) parser.add_argument( "--min_enc_file_length_diff", "--max_enc_file_length_diff", type=float, default=0.1, dest="min_enc_file_length_diff", dest="max_enc_file_length_diff", ) parser.add_argument( "--min_enc_stats_diff", type=float, default=0.1, dest="min_enc_stats_diff" "--max_enc_stats_diff", type=float, default=0.1, dest="max_enc_stats_diff" ) args = parser.parse_args() Loading
tests/codec_be_on_mr_nonselection/test_param_file.py +4 −4 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ from tests.cmp_stats_files import cmp_stats_files from tests.conftest import DecoderFrontend, EncoderFrontend, parse_properties from tests.testconfig import PARAM_FILE from tests.constants import ( MIN_ENC_FILE_LENGTH_DIFF, MIN_ENC_STATS_DIFF, MAX_ENC_FILE_LENGTH_DIFF, MAX_ENC_STATS_DIFF, SCRIPTS_DIR, MAX_ENC_DIFF, ) Loading Loading @@ -251,8 +251,8 @@ def test_param_file_tests( enc_test_result, enc_test_result_msg = cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=MIN_ENC_FILE_LENGTH_DIFF, min_enc_stats_diff=MIN_ENC_STATS_DIFF, max_enc_file_length_diff=MAX_ENC_FILE_LENGTH_DIFF, max_enc_stats_diff=MAX_ENC_STATS_DIFF, ) print("") Loading
tests/codec_be_on_mr_nonselection/test_sba.py +3 −3 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend, EncoderFrontend from ..conftest import parse_properties from ..cmp_stats_files import cmp_stats_files from ..constants import TESTV_DIR, MIN_ENC_FILE_LENGTH_DIFF, MIN_ENC_STATS_DIFF from ..constants import TESTV_DIR, MAX_ENC_FILE_LENGTH_DIFF, MAX_ENC_STATS_DIFF from tests.testconfig import use_ltv Loading Loading @@ -309,8 +309,8 @@ def test_sba_enc_system( enc_test_result, enc_test_result_msg = cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=MIN_ENC_FILE_LENGTH_DIFF, min_enc_stats_diff=MIN_ENC_STATS_DIFF, max_enc_file_length_diff=MAX_ENC_FILE_LENGTH_DIFF, max_enc_stats_diff=MAX_ENC_STATS_DIFF, ) print("") Loading
tests/conftest.py +5 −11 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ import tempfile from typing import Optional, Union import numpy as np from .constants import ( MAX_ENC_DIFF_NAME_PATTERN, # MAX_ENC_DIFF_NAME_PATTERN, MAX_ENC_DIFF_PARAM_NAME, MLD_PATTERN, MAX_DIFF_PATTERN, Loading Loading @@ -1115,17 +1115,11 @@ def parse_properties(text_to_parse: str, output_differs: bool, props_to_record: elif prop == MAX_ENC_DIFF: search_result = re.search(MAX_ENC_DIFF_PATTERN, text_to_parse) max_enc_diff_ratio = 0.0 name_result = "" max_enc_diff_param_name = "" if search_result: _, max_enc_diff_ratio = search_result.groups(0) if max_enc_diff_ratio: max_enc_diff_ratio = float(max_enc_diff_ratio) name_result = re.search( MAX_ENC_DIFF_NAME_PATTERN, text_to_parse ).groups(0)[0] props[MAX_ENC_DIFF] = max_enc_diff_ratio props[MAX_ENC_DIFF_PARAM_NAME] = name_result max_enc_diff_param_name, _, max_enc_diff_ratio = search_result.groups(0) props[MAX_ENC_DIFF] = float(max_enc_diff_ratio) props[MAX_ENC_DIFF_PARAM_NAME] = max_enc_diff_param_name return props Loading
tests/constants.py +5 −7 Original line number Diff line number Diff line Loading @@ -23,18 +23,16 @@ MAX_DIFF_PATTERN = r"MAXIMUM ABS DIFF: (\d*)" ODG_PATTERN_PQEVALAUDIO = r"Objective Difference Grade: (-*\d*\.\d*)" ODG_PATTERN = r"ODG: (-*\d*\.\d*)" SSNR_PATTERN = r"Channel \d* SSNR: (nan|[+-]*inf|[-*\d\.]*)" MAX_ENC_DIFF_PATTERN = r"MAXIMUM ENC DIFF: (\d+) \((\d+\.\d+)%\)" MAX_ENC_DIFF_NAME_PATTERN = r"MAX_ENC_DIFF_NAME: '(.*)'" MAX_ENC_DIFF_PATTERN = r"MAXIMUM ENC DIFF: ([^ ]*) (\d+) \((\d+\.\d+)%\)" ENC_CORE_OVL_PATTERN = r"Core input overload detected: (\d+)" MAX_OVL_PATTERN = r"Max overload value: (\d+\.\d+)" MIN_OVL_PATTERN = r"Min overload value: (-*\d+\.\d+)" # maximum "relative" tolerable difference between ref and dut encoder file lengths MAX_ENC_FILE_LENGTH_DIFF = 0.1 # minimum difference between ref and dut encoder file lengths MIN_ENC_FILE_LENGTH_DIFF = 0.1 # minimum difference between the statistics of ref and dut encoder files MIN_ENC_STATS_DIFF = 0.1 # maximum "relative" tolerable difference between the statistics of ref and dut encoder files MAX_ENC_STATS_DIFF = 0.5 # list of encoder filename patterns with their data type and number of samples per frame # note: instead of specifying the number of samples per frame, you can use a formula incl. 'fs', e.g. 'fs/50' Loading