Loading tests/conftest.py +6 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,12 @@ def pytest_addoption(parser): default=False, ) parser.addoption( "--use_ltv", action="store_true", default=False, ) parser.addoption( "--dut_fr", help="Render frame size for the DUT output.", Loading tests/create_short_testvectors.py +29 −7 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ from cut_pcm import cut_samples HERE = Path(__file__).parent.resolve() TEST_VECTOR_DIR = HERE.joinpath("../scripts/testv").resolve() LTV_DIR = HERE.joinpath("../../ivas-pc-testfiles").resolve() SCRIPTS_DIR = HERE.joinpath("../scripts").resolve() sys.path.append(SCRIPTS_DIR) Loading @@ -59,24 +60,45 @@ FILE_IDS = [ "ISM", "MASA", ] FILE_IDS_LTV = [ "ltv48_STEREO", "ltv48_MC51", "ltv48_MC71", "ltv48_MC512", "ltv48_MC514", "ltv48_MC714", "ltv48_ISM", "ltv48_MASA", ] def collect_files(): def collect_files(use_ltv: bool = False): if use_ltv: IDS = FILE_IDS_LTV else: IDS = FILE_IDS files = [ f.absolute() for f in TEST_VECTOR_DIR.iterdir() if f.suffix == ".wav" and any([id in f.name for id in FILE_IDS]) and any([id in f.name for id in IDS]) and "_cut" not in f.name ] return files def create_short_testvectors(cut_len=5.0): files = collect_files() def create_short_testvectors(cut_len=5.0, use_ltv: bool = False): files = collect_files(use_ltv) for f in files: suffix = "_cut" if use_ltv: out_file = ( HERE.joinpath("../scripts/testv") .resolve() .joinpath(f.stem + suffix + f.suffix) ) else: out_file = f.parent.joinpath(f.stem + suffix + f.suffix) num_channels = audiofile.get_wav_file_info(f)["channels"] cut_samples(f, out_file, num_channels, CUT_FROM, f"{cut_len}", GAIN) Loading @@ -92,6 +114,6 @@ if __name__ == "__main__": return x parser.add_argument("--cut_len", type=positive_float, default=5.0) parser.add_argument("--use_ltv", action="store_true", default=False) args = parser.parse_args() cut_len = args.cut_len sys.exit(create_short_testvectors(cut_len=cut_len)) sys.exit(create_short_testvectors(cut_len=args.cut_len, use_ltv=args.use_ltv)) tests/hrtf_binary_loading/constants.py +16 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import re from pathlib import Path from tests.renderer.constants import OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR from tests.renderer.constants import OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR, LTV_DIR TESTS_DIR = Path(__file__).parent Loading Loading @@ -93,6 +93,21 @@ FORMAT_TO_FILE_SBA_WOEXT = { FORMAT_TO_FILE_ISM_WOEXT = "stv{}ISM{}s_cut" FORMAT_TO_FILE_MASA_WOEXT = "stv{}MASA{}TC{}c_cut" FORMAT_TO_FILE_MC_LTV_WOEXT = { "5_1": "ltv{}_MC51", "7_1": "ltv{}_MC71", "5_1_2": "ltv{}_MC512", "5_1_4": "ltv{}_MC514", "7_1_4": "ltv{}_MC714", } FORMAT_TO_FILE_SBA_LTV_WOEXT = { "1": "ltv{}_FOA", "2": "ltv{}_HOA2", "3": "ltv{}_HOA3", } FORMAT_TO_FILE_ISM_LTV_WOEXT = "ltv{}_{}ISM" FORMAT_TO_FILE_MASA_LTV_WOEXT = "ltv{}_MASA{}TC" BITRATE_ISM = { "1": 96000, "2": 160000, Loading tests/hrtf_binary_loading/test_codec_ROM_vs_file.py +40 −10 Original line number Diff line number Diff line Loading @@ -67,6 +67,9 @@ def test_multichannel_binaural_static( ): in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading Loading @@ -99,6 +102,9 @@ def test_multichannel_binaural_headrotation( ): in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading @@ -124,6 +130,9 @@ def test_multichannel_binaural_headrotation( @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_sba_binaural_static(test_info, bitrate, in_fmt, fs, out_fmt, hrtf_tag): option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading @@ -148,6 +157,9 @@ def test_sba_binaural_headrotation( test_info, bitrate, in_fmt, fs, out_fmt, trj_file, hrtf_tag ): option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading Loading @@ -177,6 +189,9 @@ def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt, hrtf_tag): TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading Loading @@ -205,6 +220,9 @@ def test_masa_binaural_headrotation( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading Loading @@ -239,6 +257,9 @@ def test_ism_binaural_static(test_info, in_fmt, out_fs, out_fmt, hrtf_tag): ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading Loading @@ -272,6 +293,9 @@ def test_ism_binaural_headrotation( ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading Loading @@ -306,6 +330,9 @@ def test_ism_binaural_roomreverb_static(test_info, in_fmt, out_fs, out_fmt, hrtf ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading Loading @@ -339,6 +366,9 @@ def test_ism_binaural_roomreverb_headrotation( ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading tests/hrtf_binary_loading/utils.py +5 −2 Original line number Diff line number Diff line Loading @@ -285,7 +285,7 @@ def compare_rom_vs_binary( out_fmt, out_fs, hrtf_tag: str, keep_file: Optional[str] = "no", keep_file: Optional[str] = "if failed", trj_file: Optional[str] = None, ): option_str = "_".join(get_option_list_str(option_list_enc)) Loading @@ -295,6 +295,9 @@ def compare_rom_vs_binary( xfail = (hrtf_file == HRTF_BINARY_FILE_DIFF_FROM_ROM) if test_info.config.option.use_ltv: input_path = LTV_DIR.joinpath(in_file).with_suffix(".wav") else: input_path = TESTV_DIR.joinpath(in_file).with_suffix(".wav") bitstream_path = BITSTREAM_DIR.joinpath(in_file + file_ext) run_encoder( Loading Loading
tests/conftest.py +6 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,12 @@ def pytest_addoption(parser): default=False, ) parser.addoption( "--use_ltv", action="store_true", default=False, ) parser.addoption( "--dut_fr", help="Render frame size for the DUT output.", Loading
tests/create_short_testvectors.py +29 −7 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ from cut_pcm import cut_samples HERE = Path(__file__).parent.resolve() TEST_VECTOR_DIR = HERE.joinpath("../scripts/testv").resolve() LTV_DIR = HERE.joinpath("../../ivas-pc-testfiles").resolve() SCRIPTS_DIR = HERE.joinpath("../scripts").resolve() sys.path.append(SCRIPTS_DIR) Loading @@ -59,24 +60,45 @@ FILE_IDS = [ "ISM", "MASA", ] FILE_IDS_LTV = [ "ltv48_STEREO", "ltv48_MC51", "ltv48_MC71", "ltv48_MC512", "ltv48_MC514", "ltv48_MC714", "ltv48_ISM", "ltv48_MASA", ] def collect_files(): def collect_files(use_ltv: bool = False): if use_ltv: IDS = FILE_IDS_LTV else: IDS = FILE_IDS files = [ f.absolute() for f in TEST_VECTOR_DIR.iterdir() if f.suffix == ".wav" and any([id in f.name for id in FILE_IDS]) and any([id in f.name for id in IDS]) and "_cut" not in f.name ] return files def create_short_testvectors(cut_len=5.0): files = collect_files() def create_short_testvectors(cut_len=5.0, use_ltv: bool = False): files = collect_files(use_ltv) for f in files: suffix = "_cut" if use_ltv: out_file = ( HERE.joinpath("../scripts/testv") .resolve() .joinpath(f.stem + suffix + f.suffix) ) else: out_file = f.parent.joinpath(f.stem + suffix + f.suffix) num_channels = audiofile.get_wav_file_info(f)["channels"] cut_samples(f, out_file, num_channels, CUT_FROM, f"{cut_len}", GAIN) Loading @@ -92,6 +114,6 @@ if __name__ == "__main__": return x parser.add_argument("--cut_len", type=positive_float, default=5.0) parser.add_argument("--use_ltv", action="store_true", default=False) args = parser.parse_args() cut_len = args.cut_len sys.exit(create_short_testvectors(cut_len=cut_len)) sys.exit(create_short_testvectors(cut_len=args.cut_len, use_ltv=args.use_ltv))
tests/hrtf_binary_loading/constants.py +16 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import re from pathlib import Path from tests.renderer.constants import OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR from tests.renderer.constants import OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR, LTV_DIR TESTS_DIR = Path(__file__).parent Loading Loading @@ -93,6 +93,21 @@ FORMAT_TO_FILE_SBA_WOEXT = { FORMAT_TO_FILE_ISM_WOEXT = "stv{}ISM{}s_cut" FORMAT_TO_FILE_MASA_WOEXT = "stv{}MASA{}TC{}c_cut" FORMAT_TO_FILE_MC_LTV_WOEXT = { "5_1": "ltv{}_MC51", "7_1": "ltv{}_MC71", "5_1_2": "ltv{}_MC512", "5_1_4": "ltv{}_MC514", "7_1_4": "ltv{}_MC714", } FORMAT_TO_FILE_SBA_LTV_WOEXT = { "1": "ltv{}_FOA", "2": "ltv{}_HOA2", "3": "ltv{}_HOA3", } FORMAT_TO_FILE_ISM_LTV_WOEXT = "ltv{}_{}ISM" FORMAT_TO_FILE_MASA_LTV_WOEXT = "ltv{}_MASA{}TC" BITRATE_ISM = { "1": 96000, "2": 160000, Loading
tests/hrtf_binary_loading/test_codec_ROM_vs_file.py +40 −10 Original line number Diff line number Diff line Loading @@ -67,6 +67,9 @@ def test_multichannel_binaural_static( ): in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading Loading @@ -99,6 +102,9 @@ def test_multichannel_binaural_headrotation( ): in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading @@ -124,6 +130,9 @@ def test_multichannel_binaural_headrotation( @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_sba_binaural_static(test_info, bitrate, in_fmt, fs, out_fmt, hrtf_tag): option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading @@ -148,6 +157,9 @@ def test_sba_binaural_headrotation( test_info, bitrate, in_fmt, fs, out_fmt, trj_file, hrtf_tag ): option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading Loading @@ -177,6 +189,9 @@ def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt, hrtf_tag): TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading Loading @@ -205,6 +220,9 @@ def test_masa_binaural_headrotation( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading Loading @@ -239,6 +257,9 @@ def test_ism_binaural_static(test_info, in_fmt, out_fs, out_fmt, hrtf_tag): ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading Loading @@ -272,6 +293,9 @@ def test_ism_binaural_headrotation( ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading Loading @@ -306,6 +330,9 @@ def test_ism_binaural_roomreverb_static(test_info, in_fmt, out_fs, out_fmt, hrtf ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading Loading @@ -339,6 +366,9 @@ def test_ism_binaural_roomreverb_headrotation( ) metadata_file_list.append(test) option_list.extend(metadata_file_list) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading
tests/hrtf_binary_loading/utils.py +5 −2 Original line number Diff line number Diff line Loading @@ -285,7 +285,7 @@ def compare_rom_vs_binary( out_fmt, out_fs, hrtf_tag: str, keep_file: Optional[str] = "no", keep_file: Optional[str] = "if failed", trj_file: Optional[str] = None, ): option_str = "_".join(get_option_list_str(option_list_enc)) Loading @@ -295,6 +295,9 @@ def compare_rom_vs_binary( xfail = (hrtf_file == HRTF_BINARY_FILE_DIFF_FROM_ROM) if test_info.config.option.use_ltv: input_path = LTV_DIR.joinpath(in_file).with_suffix(".wav") else: input_path = TESTV_DIR.joinpath(in_file).with_suffix(".wav") bitstream_path = BITSTREAM_DIR.joinpath(in_file + file_ext) run_encoder( Loading