Commit 4654968c authored by Ke Zhao's avatar Ke Zhao
Browse files

Uncomment split rendering tests with MASA input and MC 160kbps

parent 9f6eae59
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -164,9 +164,7 @@ FORMAT_TO_METADATA_FILES = {
INPUT_FORMATS_AMBI = ["FOA", "HOA2", "HOA3"]
INPUT_FORMATS_MC = ["MONO", "STEREO", "5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"]
INPUT_FORMATS_ISM = ["ISM1", "ISM2", "ISM3", "ISM4"]
INPUT_FORMATS_MASA = [
    "MASA2"
]  # ["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly
INPUT_FORMATS_MASA = ["MASA1", "MASA2"]

""" Non binaural / parametric output formats """
OUTPUT_FORMATS = [
+6 −8
Original line number Diff line number Diff line
@@ -82,8 +82,8 @@ FORMAT_TO_IVAS_COD_FORMAT = {
    "FOA": ["-sba", "1"],
    "HOA2": ["-sba", "2"],
    "HOA3": ["-sba", "3"],
    # "MASA1": ["-masa", "1"],
    # "MASA2": ["-masa", "2"],
    "MASA1": ["-masa", "1"],
    "MASA2": ["-masa", "2"],
}

FORMAT_TO_NCHAN = {
@@ -101,16 +101,14 @@ FORMAT_TO_NCHAN = {
    "FOA": 4,
    "HOA2": 9,
    "HOA3": 16,
    # "MASA1": 1,
    # "MASA2": 2,
    "MASA1": 1,
    "MASA2": 2,
}

IVAS_BITRATES_AMBI = ["96000", "512000"]
IVAS_BITRATES_MC = ["128000", "384000"]
# TODO: Enable after MC 160kbps split rendering support
# IVAS_BITRATES_MC = ["128000", "160000", "384000"]
IVAS_BITRATES_MC = ["128000", "160000", "384000"]
IVAS_BITRATES_ISM = ["128000"]
# IVAS_BITRATES_MASA = ["128000"]
IVAS_BITRATES_MASA = ["24400", "128000"]

IVAS_MAX_ISM_BITRATE = {
    "1": "128000",
+21 −44
Original line number Diff line number Diff line
@@ -83,8 +83,6 @@ def test_ambisonics_external_split(test_info, in_fmt, render_config, trajectory)
def test_multichannel_full_chain_split(test_info, in_fmt, bitrate, render_config, trajectory):
    if "0dof_768k_default" in render_config:
        pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")
    if in_fmt in ("MONO", "STEREO",):
        pytest.xfail("Split Rendering currently not supported with MONO or STEREO")

    post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
    pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")
@@ -105,8 +103,6 @@ def test_multichannel_full_chain_split(test_info, in_fmt, bitrate, render_config
def test_multichannel_external_split(test_info, in_fmt, render_config, trajectory):
    if "0dof_768k_default" in render_config:
        pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")
    if in_fmt in ("MONO", "STEREO",):
        pytest.xfail("Split Rendering currently not supported with MONO or STEREO")

    post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
    pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")
@@ -166,43 +162,24 @@ def test_ism_external_split(test_info, in_fmt, render_config, trajectory):


""" MASA """
# TODO


# @pytest.mark.parametrize("trajectory", HR_TRAJECTORIES_TO_TEST)
# @pytest.mark.parametrize("render_config", RENDERER_CONFIGS_TO_TEST_MASA)
# @pytest.mark.parametrize("bitrate", IVAS_BITRATES_MASA)
# @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA)
# def test_masa_full_chain_split(test_info, in_fmt, bitrate, render_config, trajectory):
#     if "0dof_768k_lc3plus" in render_config:
#         pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")

#     post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
#     pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")

#     run_full_chain_split_rendering(
#         in_fmt=in_fmt,
#         bitrate=bitrate,
#         render_config=RENDER_CFG_DIR.joinpath(f"{render_config}.txt"),
#         pre_trajectory=pre_trajectory,
#         post_trajectory=post_trajectory,
#         output_path_base=OUTPUT_PATH_CUT,
#     )

# @pytest.mark.parametrize("trajectory", HR_TRAJECTORIES_TO_TEST)
# @pytest.mark.parametrize("render_config", RENDERER_CONFIGS_TO_TEST_MASA)
# @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA)
# def test_masa_external_split(test_info, in_fmt, render_config, trajectory):
#     if "0dof_768k_lc3plus" in render_config:
#         pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")

#     post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
#     pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")

#     run_external_split_rendering(
#         in_fmt=in_fmt,
#         render_config=RENDER_CFG_DIR.joinpath(f"{render_config}.txt"),
#         pre_trajectory=pre_trajectory,
#         post_trajectory=post_trajectory,
#         output_path_base=OUTPUT_PATH_CUT,
#     )


@pytest.mark.parametrize("trajectory", HR_TRAJECTORIES_TO_TEST)
@pytest.mark.parametrize("render_config", RENDERER_CONFIGS_TO_TEST_MASA)
@pytest.mark.parametrize("bitrate", IVAS_BITRATES_MASA)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA)
def test_masa_full_chain_split(test_info, in_fmt, bitrate, render_config, trajectory):
    if "0dof_768k_lc3plus" in render_config:
        pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")

    post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
    pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")

    run_full_chain_split_rendering(
        in_fmt=in_fmt,
        bitrate=bitrate,
        render_config=RENDER_CFG_DIR.joinpath(f"{render_config}.txt"),
        pre_trajectory=pre_trajectory,
        post_trajectory=post_trajectory,
        output_path_base=OUTPUT_PATH_CUT,
    )
+21 −41
Original line number Diff line number Diff line
@@ -162,44 +162,24 @@ def test_ism_external_split(test_info, in_fmt, render_config, trajectory):


""" MASA """
# TODO


# @pytest.mark.parametrize("trajectory", HR_TRAJECTORIES_TO_TEST)
# @pytest.mark.parametrize("render_config", RENDERER_CONFIGS_TO_TEST_MASA)
# @pytest.mark.parametrize("bitrate", IVAS_BITRATES_MASA)
# @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA)
# def test_masa_full_chain_split(test_info, in_fmt, bitrate, render_config, trajectory):
#     if "0dof_768k_lc3plus" in render_config:
#         pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")

#     post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
#     pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")

#     compare_full_chain_split_args(
#         test_info,
#         in_fmt=in_fmt,
#         bitrate=bitrate,
#         render_config=RENDER_CFG_DIR.joinpath(f"{render_config}.txt"),
#         pre_trajectory=pre_trajectory,
#         post_trajectory=post_trajectory,
#     )


# @pytest.mark.parametrize("trajectory", HR_TRAJECTORIES_TO_TEST)
# @pytest.mark.parametrize("render_config", RENDERER_CONFIGS_TO_TEST_MASA)
# @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA)
# def test_masa_external_split(test_info, in_fmt, render_config, trajectory):
#     if "0dof_768k_lc3plus" in render_config:
#         pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")

#     post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
#     pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")

#     compare_external_split_args(
#         test_info,
#         in_fmt=in_fmt,
#         render_config=RENDER_CFG_DIR.joinpath(f"{render_config}.txt"),
#         pre_trajectory=pre_trajectory,
#         post_trajectory=post_trajectory,
#     )


@pytest.mark.parametrize("trajectory", HR_TRAJECTORIES_TO_TEST)
@pytest.mark.parametrize("render_config", RENDERER_CONFIGS_TO_TEST_MASA)
@pytest.mark.parametrize("bitrate", IVAS_BITRATES_MASA)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA)
def test_masa_full_chain_split(test_info, in_fmt, bitrate, render_config, trajectory):
    if "0dof_768k_lc3plus" in render_config:
        pytest.xfail("0DOF 768kbps LC3plus codec is unsupported")

    post_trajectory = HR_TRAJECTORY_DIR.joinpath(f"{trajectory}.csv")
    pre_trajectory = post_trajectory.with_stem(f"{post_trajectory.stem}_delayed")

    compare_full_chain_split_args(
        test_info,
        in_fmt=in_fmt,
        bitrate=bitrate,
        render_config=RENDER_CFG_DIR.joinpath(f"{render_config}.txt"),
        pre_trajectory=pre_trajectory,
        post_trajectory=post_trajectory,
    )