Loading ci/ivas_voip_be_test.sh +2 −2 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ done # Assert BE between non-VoIP and VoIP modes all_be=1 cmp_custom_path=$(pwd)/tests/cmp_custom.py cmp_tool_path=$(pwd)/tests/cmp_pcm.py for ref in "$output_dir_default_dec_pcm"/*; do cut=${ref/$output_dir_default_dec_pcm/$output_dir_voip_dec_trimmed} Loading @@ -96,7 +96,7 @@ for ref in "$output_dir_default_dec_pcm"/*; do # Print paths of compared files, since the script doesn't do it printf "\nComparing %s and %s\n" "$ref" "$cut" | tee -a voip_be_test_output.txt printout=$($cmp_custom_path "$ref" "$cut" 2 0) printout=$($cmp_tool_path "$ref" "$cut") if [ $? -ne 0 ]; then all_be=0 fi Loading tests/cmp_pcm.py +20 −8 Original line number Diff line number Diff line import os import sys import argparse THIS_PATH = os.path.join(os.getcwd(), __file__) sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) Loading @@ -8,20 +9,20 @@ import pyaudio3dtools import pyivastest def cmp_pcm(file1, file2, oc, fs) -> (int, str): def cmp_pcm(file1, file2, out_config, fs) -> (int, str): """ Compare 2 PCM files for bitexactness """ print("Cmp PCM Report") print("=====================") oc = "MONO" if oc == "" else oc if oc.upper() not in pyivastest.constants.OC_TO_NCHANNELS: oc_in_file_names = os.path.splitext(os.path.basename(oc))[0] nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(oc) out_config = "MONO" if out_config == "" else out_config if out_config.upper() not in pyivastest.constants.OC_TO_NCHANNELS: out_config_in_file_names = os.path.splitext(os.path.basename(out_config))[0] nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(out_config) else: oc_in_file_names = oc nchannels = pyivastest.constants.OC_TO_NCHANNELS[oc.upper()] out_config_in_file_names = out_config nchannels = pyivastest.constants.OC_TO_NCHANNELS[out_config.upper()] s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs) s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs) Loading @@ -38,6 +39,17 @@ def cmp_pcm(file1, file2, oc, fs) -> (int, str): if cmp_result["bitexact"]: return 0, "SUCCESS: Files are bitexact" else: diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']}" diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']} (assuming {nchannels} channels)" print(diff_msg) return 1, "FAIL: Files have different content" if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("file1", type=str) parser.add_argument("file2", type=str) parser.add_argument("-o", "--out_config", type=str.upper, default="MONO", choices=pyivastest.constants.OC_TO_NCHANNELS.keys()) parser.add_argument("-s", "--sampling_rate", type=int, default=48000, dest="fs") args = parser.parse_args() sys.exit(cmp_pcm(**vars(args))) Loading
ci/ivas_voip_be_test.sh +2 −2 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ done # Assert BE between non-VoIP and VoIP modes all_be=1 cmp_custom_path=$(pwd)/tests/cmp_custom.py cmp_tool_path=$(pwd)/tests/cmp_pcm.py for ref in "$output_dir_default_dec_pcm"/*; do cut=${ref/$output_dir_default_dec_pcm/$output_dir_voip_dec_trimmed} Loading @@ -96,7 +96,7 @@ for ref in "$output_dir_default_dec_pcm"/*; do # Print paths of compared files, since the script doesn't do it printf "\nComparing %s and %s\n" "$ref" "$cut" | tee -a voip_be_test_output.txt printout=$($cmp_custom_path "$ref" "$cut" 2 0) printout=$($cmp_tool_path "$ref" "$cut") if [ $? -ne 0 ]; then all_be=0 fi Loading
tests/cmp_pcm.py +20 −8 Original line number Diff line number Diff line import os import sys import argparse THIS_PATH = os.path.join(os.getcwd(), __file__) sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) Loading @@ -8,20 +9,20 @@ import pyaudio3dtools import pyivastest def cmp_pcm(file1, file2, oc, fs) -> (int, str): def cmp_pcm(file1, file2, out_config, fs) -> (int, str): """ Compare 2 PCM files for bitexactness """ print("Cmp PCM Report") print("=====================") oc = "MONO" if oc == "" else oc if oc.upper() not in pyivastest.constants.OC_TO_NCHANNELS: oc_in_file_names = os.path.splitext(os.path.basename(oc))[0] nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(oc) out_config = "MONO" if out_config == "" else out_config if out_config.upper() not in pyivastest.constants.OC_TO_NCHANNELS: out_config_in_file_names = os.path.splitext(os.path.basename(out_config))[0] nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(out_config) else: oc_in_file_names = oc nchannels = pyivastest.constants.OC_TO_NCHANNELS[oc.upper()] out_config_in_file_names = out_config nchannels = pyivastest.constants.OC_TO_NCHANNELS[out_config.upper()] s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs) s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs) Loading @@ -38,6 +39,17 @@ def cmp_pcm(file1, file2, oc, fs) -> (int, str): if cmp_result["bitexact"]: return 0, "SUCCESS: Files are bitexact" else: diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']}" diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']} (assuming {nchannels} channels)" print(diff_msg) return 1, "FAIL: Files have different content" if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("file1", type=str) parser.add_argument("file2", type=str) parser.add_argument("-o", "--out_config", type=str.upper, default="MONO", choices=pyivastest.constants.OC_TO_NCHANNELS.keys()) parser.add_argument("-s", "--sampling_rate", type=int, default=48000, dest="fs") args = parser.parse_args() sys.exit(cmp_pcm(**vars(args)))