Loading .gitlab-ci.yml +40 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ variables: OUT_FORMATS_BINAURAL: "BINAURAL BINAURAL_ROOM_IR BINAURAL_ROOM_REVERB" EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 PROCESSING_SCRIPTS_BIN_DIR: "/test-bin" default: interruptible: true # Make all jobs by default interruptible Loading Loading @@ -692,6 +693,45 @@ check-first-frame-is-sid: expose_as: "logs-sidstart" expire_in: "5 days" selection-test-processing: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request tags: - processing-scripts-linux stage: test needs: ["build-codec-linux-make"] script: # get processing script code - git clone https://forge.3gpp.org/rep/ivas-codec-pc/ivas-processing-scripts.git --single-branch -b main - mkdir -p ivas-processing-scripts/tests/data/testv - cp -r scripts/testv/* ivas-processing-scripts/tests/data/testv/ # copy binaries into local bin dir, those should take precendence over PATH - cp $PROCESSING_SCRIPTS_BIN_DIR/* ivas-processing-scripts/ivas_processing_scripts/bin/ # for testing with native binaries - rm ivas-processing-scripts/ivas_processing_scripts/bin/IVAS*.exe - rm ivas-processing-scripts/ivas_processing_scripts/bin/EVS*.exe # build codec and put into bin dir - make -j - cp ./IVAS_* ivas-processing-scripts/ivas_processing_scripts/bin/ # patch the use_windows_codec_binaries key (weird folding is needed so colons are accepted) - > sed -i "s/use_windows_codec_binaries: true/use_windows_codec_binaries: false/" ivas-processing-scripts/experiments/selection/*/config/*.yml # run experiments test - cd ivas-processing-scripts - python3 -m pytest tests/test_experiments.py::test_generate_test_items -n auto | tee log.txt artifacts: paths: - ivas-processing-scripts/experiments/selection/*/proc_output/*.log - log.txt when: on_failure expire_in: 1 week # --------------------------------------------------------------- # Test jobs for main branch # --------------------------------------------------------------- Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,11 +148,11 @@ #define FIX_558_PLC_DISCONT /* FhG: issue 558: fix discontinuities in DFT Stereo when switching from TCX concealment to ACELP */ #define FIX_564 /* Nokia: Issue 564: Fix gains in JBM path for SBA with parametric binaural renderer */ #define FIX_566_2DIR_MASA_384K /* Nokia: Issued 566: Bugfix in 384k MASA metadata encoding of second direction */ #define FIX_568_ISM_BITRATE_SWITCHING /* Philips: Issue 568: Bugfix for renderer re-initialization by ISM and bitrate switching */ #define FIX_565_SBA_BURST_IN_FEC /* VA: Issue 565: Fix noise burst during FEC, due to wrong total_brate initialization */ #define FIX_562_ISM2_64KBPS /* VA: issue 562: fix ISM2 at 64kbps issue */ #define FIX_559_EXTL_IGF_MISMATCH /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_dec/ivas_ism_dec.c +16 −1 Original line number Diff line number Diff line Loading @@ -168,7 +168,11 @@ static ivas_error ivas_ism_bitrate_switching( /* Deallocate the ParamISM struct */ ivas_param_ism_dec_close( &( st_ivas->hDirAC ), st_ivas->hDecoderConfig->output_config ); #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL ) #endif { /* close the parametric binaural renderer */ ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -198,7 +202,11 @@ static ivas_error ivas_ism_bitrate_switching( } } #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #endif { /* close the parametric binaural renderer */ ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading @@ -221,8 +229,11 @@ static ivas_error ivas_ism_bitrate_switching( { return error; } #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL ) #endif { /* open the parametric binaural renderer */ if ( ( error = ivas_dirac_dec_binaural_copy_hrtfs( &st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK ) Loading Loading @@ -260,7 +271,11 @@ static ivas_error ivas_ism_bitrate_switching( } } #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #endif { /* open the parametric binaural renderer */ if ( ( error = ivas_dirac_dec_binaural_copy_hrtfs( &st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK ) Loading tests/renderer/test_renderer_be_comparison.py +26 −0 Original line number Diff line number Diff line Loading @@ -145,6 +145,32 @@ def test_masa(test_info, in_fmt, out_fmt): test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] ) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) def test_masa_binaural_static(test_info, in_fmt, out_fmt): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_mergetarget( test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] ) @pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) def test_masa_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_mergetarget( test_info, in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] ) """ Custom loudspeaker layouts """ Loading Loading
.gitlab-ci.yml +40 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ variables: OUT_FORMATS_BINAURAL: "BINAURAL BINAURAL_ROOM_IR BINAURAL_ROOM_REVERB" EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 PROCESSING_SCRIPTS_BIN_DIR: "/test-bin" default: interruptible: true # Make all jobs by default interruptible Loading Loading @@ -692,6 +693,45 @@ check-first-frame-is-sid: expose_as: "logs-sidstart" expire_in: "5 days" selection-test-processing: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request tags: - processing-scripts-linux stage: test needs: ["build-codec-linux-make"] script: # get processing script code - git clone https://forge.3gpp.org/rep/ivas-codec-pc/ivas-processing-scripts.git --single-branch -b main - mkdir -p ivas-processing-scripts/tests/data/testv - cp -r scripts/testv/* ivas-processing-scripts/tests/data/testv/ # copy binaries into local bin dir, those should take precendence over PATH - cp $PROCESSING_SCRIPTS_BIN_DIR/* ivas-processing-scripts/ivas_processing_scripts/bin/ # for testing with native binaries - rm ivas-processing-scripts/ivas_processing_scripts/bin/IVAS*.exe - rm ivas-processing-scripts/ivas_processing_scripts/bin/EVS*.exe # build codec and put into bin dir - make -j - cp ./IVAS_* ivas-processing-scripts/ivas_processing_scripts/bin/ # patch the use_windows_codec_binaries key (weird folding is needed so colons are accepted) - > sed -i "s/use_windows_codec_binaries: true/use_windows_codec_binaries: false/" ivas-processing-scripts/experiments/selection/*/config/*.yml # run experiments test - cd ivas-processing-scripts - python3 -m pytest tests/test_experiments.py::test_generate_test_items -n auto | tee log.txt artifacts: paths: - ivas-processing-scripts/experiments/selection/*/proc_output/*.log - log.txt when: on_failure expire_in: 1 week # --------------------------------------------------------------- # Test jobs for main branch # --------------------------------------------------------------- Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,11 +148,11 @@ #define FIX_558_PLC_DISCONT /* FhG: issue 558: fix discontinuities in DFT Stereo when switching from TCX concealment to ACELP */ #define FIX_564 /* Nokia: Issue 564: Fix gains in JBM path for SBA with parametric binaural renderer */ #define FIX_566_2DIR_MASA_384K /* Nokia: Issued 566: Bugfix in 384k MASA metadata encoding of second direction */ #define FIX_568_ISM_BITRATE_SWITCHING /* Philips: Issue 568: Bugfix for renderer re-initialization by ISM and bitrate switching */ #define FIX_565_SBA_BURST_IN_FEC /* VA: Issue 565: Fix noise burst during FEC, due to wrong total_brate initialization */ #define FIX_562_ISM2_64KBPS /* VA: issue 562: fix ISM2 at 64kbps issue */ #define FIX_559_EXTL_IGF_MISMATCH /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_dec/ivas_ism_dec.c +16 −1 Original line number Diff line number Diff line Loading @@ -168,7 +168,11 @@ static ivas_error ivas_ism_bitrate_switching( /* Deallocate the ParamISM struct */ ivas_param_ism_dec_close( &( st_ivas->hDirAC ), st_ivas->hDecoderConfig->output_config ); #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL ) #endif { /* close the parametric binaural renderer */ ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading Loading @@ -198,7 +202,11 @@ static ivas_error ivas_ism_bitrate_switching( } } #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #endif { /* close the parametric binaural renderer */ ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); Loading @@ -221,8 +229,11 @@ static ivas_error ivas_ism_bitrate_switching( { return error; } #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL ) #endif { /* open the parametric binaural renderer */ if ( ( error = ivas_dirac_dec_binaural_copy_hrtfs( &st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK ) Loading Loading @@ -260,7 +271,11 @@ static ivas_error ivas_ism_bitrate_switching( } } #ifdef FIX_568_ISM_BITRATE_SWITCHING if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR ) #else if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) #endif { /* open the parametric binaural renderer */ if ( ( error = ivas_dirac_dec_binaural_copy_hrtfs( &st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK ) Loading
tests/renderer/test_renderer_be_comparison.py +26 −0 Original line number Diff line number Diff line Loading @@ -145,6 +145,32 @@ def test_masa(test_info, in_fmt, out_fmt): test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] ) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) def test_masa_binaural_static(test_info, in_fmt, out_fmt): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_mergetarget( test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] ) @pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) def test_masa_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_mergetarget( test_info, in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] ) """ Custom loudspeaker layouts """ Loading