Commit 19a64fff authored by Jan Kiene's avatar Jan Kiene
Browse files

add render_conf testcase for remaining formats

parent d627eecb
Loading
Loading
Loading
Loading
+99 −1
Original line number Diff line number Diff line
@@ -127,6 +127,104 @@ def test_decoder_combined_formats_render_conf_directivity(
            options,
            dut_decoder_frontend,
            update_ref == 1,
            output_suffix="dpid",
            output_suffix=f"dpid-{render_config}",
            bitstream_processing=bitstream_processing,
        )


# all non-ISM modes can not use directivity parts from the render config
# we only need the REVERB output config for the AE parts


@pytest.mark.parametrize("render_config", RENDER_CONFIG_PARAMS)
@pytest.mark.parametrize(
    "input_format,bitrate,input_sampling_rate,dtx,output_format,output_sampling_rate,bitstream_processing",
    [
        params
        for params in DECODER_CONST_BR_BINAURAL_MC_AND_MASA
        if params[4] == "BINAURAL_ROOM_REVERB"
    ],
)
def test_decoder_mc_and_masa_render_conf(
    input_format,
    bitrate,
    input_sampling_rate,
    dtx,
    output_format,
    output_sampling_rate,
    bitstream_processing,
    render_config,
    dut_decoder_frontend,
    update_ref,
):
    testv_name = get_testv_path(input_format, input_sampling_rate).stem
    with get_bitstream_and_options(
        testv_name,
        input_format,
        bitrate,
        input_sampling_rate,
        dtx,
        render_config=render_config,
        processing=bitstream_processing,
    ) as (ref_bitstream, options):
        run_check(
            ref_bitstream,
            output_format,
            output_sampling_rate,
            options,
            dut_decoder_frontend,
            update_ref == 1,
            output_suffix=f"{render_config}",
            bitstream_processing=bitstream_processing,
        )


@pytest.mark.parametrize("render_config", RENDER_CONFIG_PARAMS)
@pytest.mark.parametrize(
    "input_format,bitrate,input_sampling_rate,dtx,pca,output_format,output_sampling_rate,bitstream_processing",
    [
        params
        for params in DECODER_CONST_BR_BINAURAL_SCENEBASED
        if params[5] == "BINAURAL_ROOM_REVERB"
    ],
)
def test_decoder_scenebased_render_conf(
    input_format,
    bitrate,
    input_sampling_rate,
    dtx,
    pca,
    output_format,
    output_sampling_rate,
    bitstream_processing,
    render_config,
    dut_decoder_frontend,
    update_ref,
):
    # TODO: remove once fixed
    if input_format == "PlanarFOA" and bitstream_processing == BS_PROC_JBM_DLY_PROF_5:
        pytest.skip("PlanarFOA and JBM currently crashes")
    testv_name = get_testv_path(input_format, input_sampling_rate).stem
    suffix = ""
    if pca == SBA_FOA_PCA_ON:
        suffix += "-pca"
    with get_bitstream_and_options(
        testv_name,
        input_format,
        bitrate,
        input_sampling_rate,
        dtx,
        suffix=suffix,
        render_config=render_config,
        processing=bitstream_processing,
    ) as (ref_bitstream, options):
        run_check(
            ref_bitstream,
            output_format,
            output_sampling_rate,
            options,
            dut_decoder_frontend,
            update_ref == 1,
            output_suffix=f"{render_config}",
            bitstream_processing=bitstream_processing,
        )