Loading tests/codec_be_to_accepted_release/decoder/__init__.py +32 −10 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ from ..constants import ( HERE, BS_PROC_FER_15, BS_PROC_JBM_DLY_PROF_5, BS_PROC_NONE, BINAURAL_HRTF_NONE, HRTF_PATHS, ) Loading Loading @@ -74,12 +75,19 @@ def create_head_rotation_file( def get_output_path( bitstream_path, output_format, output_sampling_rate, bitstream_processing, suffix="" bitstream_path: Path, output_format: str, output_sampling_rate: int, bitstream_processing: str, is_ref_creation: bool, suffix: str = "", ): if suffix != "": suffix = f"-{suffix}" output_name = f"{bitstream_path.stem}.dec-{output_format}-{output_sampling_rate}kHz-{bitstream_processing}{suffix}.wav" return DUT_PATH.joinpath(output_name) output_folder = REF_PATH if is_ref_creation else DUT_PATH return output_folder.joinpath(output_name) @contextmanager Loading @@ -102,6 +110,7 @@ def get_bitstream_and_options( """ options = list() with TemporaryDirectory() as tmp_dir: # TODO: this should be coming from TESTV_PATH - current setuponly for development bitstream = get_bitstream_path( REF_PATH, testv_name, encoder_format, bitrate, sampling_rate, dtx, suffix ) Loading Loading @@ -149,17 +158,30 @@ def get_bitstream_and_options( def run_check( ref_bitstream: Path, output_format: str, output_sampling_rate: int, options: list, decoder_frontend, is_ref_creation: bool, output_suffix="", bitstream_processing=BS_PROC_NONE, ): output_path = get_output_path( ref_bitstream, output_format, sampling_rate, dut_output, options, decoder_frontend, output_sampling_rate, bitstream_processing, is_ref_creation, ): suffix=output_suffix, ) decoder_frontend.run( output_format, sampling_rate, ref_bitstream, dut_output, add_option_list=options output_format, output_sampling_rate, ref_bitstream, output_path, add_option_list=options, ) if not is_ref_creation and not is_be_to_ref(dut_output): if not is_ref_creation and not is_be_to_ref(output_path): pytest.fail(f"Decoder output differs from reference") tests/codec_be_to_accepted_release/decoder/test_decoder_constant_bitrate_binaural.py +10 −29 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest from . import get_bitstream_and_options, get_output_path, run_check from . import get_bitstream_and_options, run_check from .. import get_testv_path from ..constants import * Loading Loading @@ -61,22 +61,15 @@ def test_decoder_mc_and_masa( hrtf=hrtf, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing, suffix=hrtf, ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, output_suffix=hrtf, bitstream_processing=bitstream_processing, ) Loading Loading @@ -111,18 +104,14 @@ def test_decoder_objectbased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -155,18 +144,14 @@ def test_decoder_scenebased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -205,16 +190,12 @@ def test_decoder_combined_formats( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) tests/codec_be_to_accepted_release/decoder/test_decoder_constant_bitrate_no_binaural.py +9 −25 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest from . import get_bitstream_and_options, get_output_path, run_check from . import get_bitstream_and_options, run_check from .. import get_testv_path from ..constants import * Loading Loading @@ -58,18 +58,14 @@ def test_decoder_channelbased_and_masa( dtx, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -104,18 +100,14 @@ def test_decoder_objectbased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -148,18 +140,14 @@ def test_decoder_scenebased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -198,16 +186,12 @@ def test_decoder_combined_formats( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) tests/codec_be_to_accepted_release/decoder/test_decoder_non_diegetic_pan.py +7 −19 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest from . import get_bitstream_and_options, get_output_path, run_check from . import get_bitstream_and_options, run_check from .. import get_testv_path from ..constants import ( STEREO_DMX_EVS_PARAMS, Loading Loading @@ -86,21 +86,15 @@ def test_decoder_non_diegetic_pan_ism( suffix=suffix, ) as (ref_bitstream, options): suffix += f"-non_diegetic_pan_{non_diegetic_panning_value}" dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing, suffix=suffix, ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, output_suffix=suffix, bitstream_processing=bitstream_processing, ) Loading Loading @@ -130,19 +124,13 @@ def test_decoder_non_diegetic_pan_mono( non_diegetic_pan_value=non_diegetic_panning_value, ) as (ref_bitstream, options): suffix = f"-non_diegetic_pan_{non_diegetic_panning_value}" dut_output = get_output_path( ref_bitstream, "STEREO", output_sampling_rate, bitstream_processing, suffix=suffix, ) run_check( str(ref_bitstream), ref_bitstream, "", output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, output_suffix=suffix, bitstream_processing=bitstream_processing, ) tests/codec_be_to_accepted_release/encoder/__init__.py +20 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import numpy as np import random import pytest from itertools import permutations from .. import is_be_to_ref from .. import is_be_to_ref, get_bitstream_path from ..constants import ( METADATA_FOR_INPUT_FORMAT, ISM_MD_NULL, Loading @@ -41,6 +41,8 @@ from ..constants import ( INPUT_FORMATS_OBJECT_BASED, DUT_PATH, TESTV_PATH, REF_PATH, DTX_ON, ) Loading Loading @@ -115,23 +117,34 @@ def get_options(input_format, md_type=None): def run_check( dut_bitstream, input_format, bitrate, sampling_rate, testv, options, encoder_frontend, is_ref_creation, dtx_mode=False, dtx, bitstream_suffix="", ): bs_path = REF_PATH if is_ref_creation else DUT_PATH bitstream = get_bitstream_path( bs_path, testv.stem, input_format, bitrate, sampling_rate, dtx, suffix=bitstream_suffix, ) encoder_frontend.run( bitrate, sampling_rate, str(testv), str(dut_bitstream), dtx_mode=dtx_mode, testv, bitstream, dtx_mode=dtx == DTX_ON, add_option_list=options, ) if not is_ref_creation and not is_be_to_ref(dut_bitstream): if not is_ref_creation and not is_be_to_ref(bitstream): pytest.fail(f"Bitstream file differs from reference") Loading
tests/codec_be_to_accepted_release/decoder/__init__.py +32 −10 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ from ..constants import ( HERE, BS_PROC_FER_15, BS_PROC_JBM_DLY_PROF_5, BS_PROC_NONE, BINAURAL_HRTF_NONE, HRTF_PATHS, ) Loading Loading @@ -74,12 +75,19 @@ def create_head_rotation_file( def get_output_path( bitstream_path, output_format, output_sampling_rate, bitstream_processing, suffix="" bitstream_path: Path, output_format: str, output_sampling_rate: int, bitstream_processing: str, is_ref_creation: bool, suffix: str = "", ): if suffix != "": suffix = f"-{suffix}" output_name = f"{bitstream_path.stem}.dec-{output_format}-{output_sampling_rate}kHz-{bitstream_processing}{suffix}.wav" return DUT_PATH.joinpath(output_name) output_folder = REF_PATH if is_ref_creation else DUT_PATH return output_folder.joinpath(output_name) @contextmanager Loading @@ -102,6 +110,7 @@ def get_bitstream_and_options( """ options = list() with TemporaryDirectory() as tmp_dir: # TODO: this should be coming from TESTV_PATH - current setuponly for development bitstream = get_bitstream_path( REF_PATH, testv_name, encoder_format, bitrate, sampling_rate, dtx, suffix ) Loading Loading @@ -149,17 +158,30 @@ def get_bitstream_and_options( def run_check( ref_bitstream: Path, output_format: str, output_sampling_rate: int, options: list, decoder_frontend, is_ref_creation: bool, output_suffix="", bitstream_processing=BS_PROC_NONE, ): output_path = get_output_path( ref_bitstream, output_format, sampling_rate, dut_output, options, decoder_frontend, output_sampling_rate, bitstream_processing, is_ref_creation, ): suffix=output_suffix, ) decoder_frontend.run( output_format, sampling_rate, ref_bitstream, dut_output, add_option_list=options output_format, output_sampling_rate, ref_bitstream, output_path, add_option_list=options, ) if not is_ref_creation and not is_be_to_ref(dut_output): if not is_ref_creation and not is_be_to_ref(output_path): pytest.fail(f"Decoder output differs from reference")
tests/codec_be_to_accepted_release/decoder/test_decoder_constant_bitrate_binaural.py +10 −29 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest from . import get_bitstream_and_options, get_output_path, run_check from . import get_bitstream_and_options, run_check from .. import get_testv_path from ..constants import * Loading Loading @@ -61,22 +61,15 @@ def test_decoder_mc_and_masa( hrtf=hrtf, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing, suffix=hrtf, ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, output_suffix=hrtf, bitstream_processing=bitstream_processing, ) Loading Loading @@ -111,18 +104,14 @@ def test_decoder_objectbased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -155,18 +144,14 @@ def test_decoder_scenebased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -205,16 +190,12 @@ def test_decoder_combined_formats( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, )
tests/codec_be_to_accepted_release/decoder/test_decoder_constant_bitrate_no_binaural.py +9 −25 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest from . import get_bitstream_and_options, get_output_path, run_check from . import get_bitstream_and_options, run_check from .. import get_testv_path from ..constants import * Loading Loading @@ -58,18 +58,14 @@ def test_decoder_channelbased_and_masa( dtx, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -104,18 +100,14 @@ def test_decoder_objectbased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -148,18 +140,14 @@ def test_decoder_scenebased( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, ) Loading Loading @@ -198,16 +186,12 @@ def test_decoder_combined_formats( suffix=suffix, processing=bitstream_processing, ) as (ref_bitstream, options): dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, bitstream_processing=bitstream_processing, )
tests/codec_be_to_accepted_release/decoder/test_decoder_non_diegetic_pan.py +7 −19 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest from . import get_bitstream_and_options, get_output_path, run_check from . import get_bitstream_and_options, run_check from .. import get_testv_path from ..constants import ( STEREO_DMX_EVS_PARAMS, Loading Loading @@ -86,21 +86,15 @@ def test_decoder_non_diegetic_pan_ism( suffix=suffix, ) as (ref_bitstream, options): suffix += f"-non_diegetic_pan_{non_diegetic_panning_value}" dut_output = get_output_path( ref_bitstream, output_format, output_sampling_rate, bitstream_processing, suffix=suffix, ) run_check( str(ref_bitstream), ref_bitstream, output_format, output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, output_suffix=suffix, bitstream_processing=bitstream_processing, ) Loading Loading @@ -130,19 +124,13 @@ def test_decoder_non_diegetic_pan_mono( non_diegetic_pan_value=non_diegetic_panning_value, ) as (ref_bitstream, options): suffix = f"-non_diegetic_pan_{non_diegetic_panning_value}" dut_output = get_output_path( ref_bitstream, "STEREO", output_sampling_rate, bitstream_processing, suffix=suffix, ) run_check( str(ref_bitstream), ref_bitstream, "", output_sampling_rate, str(dut_output), options, dut_decoder_frontend, update_ref == 1, output_suffix=suffix, bitstream_processing=bitstream_processing, )
tests/codec_be_to_accepted_release/encoder/__init__.py +20 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import numpy as np import random import pytest from itertools import permutations from .. import is_be_to_ref from .. import is_be_to_ref, get_bitstream_path from ..constants import ( METADATA_FOR_INPUT_FORMAT, ISM_MD_NULL, Loading @@ -41,6 +41,8 @@ from ..constants import ( INPUT_FORMATS_OBJECT_BASED, DUT_PATH, TESTV_PATH, REF_PATH, DTX_ON, ) Loading Loading @@ -115,23 +117,34 @@ def get_options(input_format, md_type=None): def run_check( dut_bitstream, input_format, bitrate, sampling_rate, testv, options, encoder_frontend, is_ref_creation, dtx_mode=False, dtx, bitstream_suffix="", ): bs_path = REF_PATH if is_ref_creation else DUT_PATH bitstream = get_bitstream_path( bs_path, testv.stem, input_format, bitrate, sampling_rate, dtx, suffix=bitstream_suffix, ) encoder_frontend.run( bitrate, sampling_rate, str(testv), str(dut_bitstream), dtx_mode=dtx_mode, testv, bitstream, dtx_mode=dtx == DTX_ON, add_option_list=options, ) if not is_ref_creation and not is_be_to_ref(dut_bitstream): if not is_ref_creation and not is_be_to_ref(bitstream): pytest.fail(f"Bitstream file differs from reference")