Commit 5e3fad25 authored by Lauros Pajunen's avatar Lauros Pajunen
Browse files

Add possiblity to run the combined orientation tests with real reference codec

parent 7c30f52d
Loading
Loading
Loading
Loading
Loading
+33 −11
Original line number Diff line number Diff line
@@ -74,6 +74,9 @@ def check_and_makedir(dir_path):
def test_combined_orientations(
    dut_encoder_frontend: EncoderFrontend,
    dut_decoder_frontend: DecoderFrontend,
    ref_encoder_path,
    ref_decoder_path,
    reference_path,
    dut_base_path,
    ivas_br,
    head_ext_reference,
@@ -94,11 +97,23 @@ def test_combined_orientations(
    head_rotation_file_path = f"{test_vector_path}/../trajectories/{head_rotation_file}"
    ext_orientation_file_path = f"{test_vector_path}/../trajectories/{ext_orientation_file}"

    out_dir_bs = f"{dut_base_path}/combined_orientations"
    check_and_makedir(out_dir_bs)
    output_bitstream = f"{out_dir_bs}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}.bts"
    dec_output_ref = f"{out_dir_bs}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}_ref.wav"
    dec_output_test = f"{out_dir_bs}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}_test.wav"
    # Set reference encoder and decoder
    if ref_encoder_path is None and ref_decoder_path is None:
        ref_encoder_frontend = dut_encoder_frontend
        ref_decoder_frontend = dut_decoder_frontend
    else:
        ref_encoder_frontend = EncoderFrontend(ref_encoder_path, "REF")
        ref_decoder_frontend = DecoderFrontend(ref_decoder_path, "REF")

    # Set output paths
    out_dir_bs_ref = f"{reference_path}/combined_orientations"
    out_dir_bs_dut = f"{dut_base_path}/combined_orientations"
    check_and_makedir(out_dir_bs_ref)
    check_and_makedir(out_dir_bs_dut)
    output_bitstream_ref = f"{out_dir_bs_ref}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}_ref.bts"
    output_bitstream_dut = f"{out_dir_bs_dut}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}.bts"
    dec_output_ref = f"{out_dir_bs_ref}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}_ref.wav"
    dec_output_dut = f"{out_dir_bs_dut}/inputmode{input_mode}_outputmode{output_mode}_ivasbr{ivas_br}k_head{head_rotation_file}_ext{ext_orientation_file}_ref{reference_rotation_file}_test.wav"

    # Set options
    if input_mode == "ism":
@@ -131,7 +146,14 @@ def test_combined_orientations(
        ivas_br,
        in_fs,
        input_audio_path,
        output_bitstream,
        output_bitstream_dut,
        add_option_list=input_options,
    )
    ref_encoder_frontend.run(
        ivas_br,
        in_fs,
        input_audio_path,
        output_bitstream_ref,
        add_option_list=input_options,
    )

@@ -139,21 +161,21 @@ def test_combined_orientations(
    dut_decoder_frontend.run(
        output_mode,
        out_fs,
        output_bitstream,
        dec_output_test,
        output_bitstream_dut,
        dec_output_dut,
        add_option_list=test_output_options
    )

    # Decode reference
    dut_decoder_frontend.run(
    ref_decoder_frontend.run(
        output_mode,
        out_fs,
        output_bitstream,
        output_bitstream_ref,
        dec_output_ref,
        add_option_list=ref_output_options
    )

    # Compare audio outputs
    cmp_result, reason = cmp_pcm(dec_output_ref, dec_output_test, output_mode, out_fs_hz)
    cmp_result, reason = cmp_pcm(dec_output_ref, dec_output_dut, output_mode, out_fs_hz)
    # Report compare result
    assert cmp_result == 0, reason