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/ivas_prot.h +20 −0 Original line number Diff line number Diff line Loading @@ -5447,6 +5447,26 @@ void ivas_lfe_synth_with_filters( const int16_t lfeChannelIndex /* i : LFE channel index */ ); #ifdef FIX_572_LFE_LPF_ENC /*----------------------------------------------------------------------------------* * LFE encoder low pass filter prototypes *----------------------------------------------------------------------------------*/ ivas_error ivas_create_lfe_lpf_enc( ivas_filters_process_state_t **ph_lfe_lpf_filter_state, /* o : IVAS LFE encoder structure */ const int32_t input_Fs /* i : input sampling rate */ ); void ivas_lfe_lpf_enc_close( ivas_filters_process_state_t **ph_lfe_lpf_filter_state /* i/o: LFE encoder handle */ ); void ivas_lfe_lpf_enc_apply( ivas_filters_process_state_t *h_lfe_lpf_filter_state, /* i/o: LFE encoder handle */ float data_lfe_ch[], /* i : input LFE signal */ const int16_t input_frame /* i : input frame length per channel */ ); #endif /*----------------------------------------------------------------------------------* * LFE Coding prototypes Loading lib_com/options.h 100755 → 100644 +4 −2 Original line number Diff line number Diff line Loading @@ -148,12 +148,14 @@ #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 */ #define FIX_UNCLR_ISSUE /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */ #define FIX_572_LFE_LPF_ENC /* FhG: issue 572: always apply the low pass filter to the LFE channel */ #define FIX_QMETA_SID_5k2 /* Nokia: Issue 137: enable using full 5.2k bitrate in MASA SID */ #define FIX_UNCLR_ISSUE /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_dec/ivas_dirac_dec.c +1 −5 Original line number Diff line number Diff line Loading @@ -422,11 +422,7 @@ ivas_error ivas_dirac_dec_config( } if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC #ifdef FIX_DIRAC_LS_SYNTHESIS_CONFIG && !hodirac_flag #endif ) if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC && !hodirac_flag ) { hDirAC->synthesisConf = DIRAC_SYNTHESIS_PSD_LS; hDirAC->panningConf = DIRAC_PANNING_VBAP; 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 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/ivas_prot.h +20 −0 Original line number Diff line number Diff line Loading @@ -5447,6 +5447,26 @@ void ivas_lfe_synth_with_filters( const int16_t lfeChannelIndex /* i : LFE channel index */ ); #ifdef FIX_572_LFE_LPF_ENC /*----------------------------------------------------------------------------------* * LFE encoder low pass filter prototypes *----------------------------------------------------------------------------------*/ ivas_error ivas_create_lfe_lpf_enc( ivas_filters_process_state_t **ph_lfe_lpf_filter_state, /* o : IVAS LFE encoder structure */ const int32_t input_Fs /* i : input sampling rate */ ); void ivas_lfe_lpf_enc_close( ivas_filters_process_state_t **ph_lfe_lpf_filter_state /* i/o: LFE encoder handle */ ); void ivas_lfe_lpf_enc_apply( ivas_filters_process_state_t *h_lfe_lpf_filter_state, /* i/o: LFE encoder handle */ float data_lfe_ch[], /* i : input LFE signal */ const int16_t input_frame /* i : input frame length per channel */ ); #endif /*----------------------------------------------------------------------------------* * LFE Coding prototypes Loading
lib_com/options.h 100755 → 100644 +4 −2 Original line number Diff line number Diff line Loading @@ -148,12 +148,14 @@ #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 */ #define FIX_UNCLR_ISSUE /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */ #define FIX_572_LFE_LPF_ENC /* FhG: issue 572: always apply the low pass filter to the LFE channel */ #define FIX_QMETA_SID_5k2 /* Nokia: Issue 137: enable using full 5.2k bitrate in MASA SID */ #define FIX_UNCLR_ISSUE /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_dec/ivas_dirac_dec.c +1 −5 Original line number Diff line number Diff line Loading @@ -422,11 +422,7 @@ ivas_error ivas_dirac_dec_config( } if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC #ifdef FIX_DIRAC_LS_SYNTHESIS_CONFIG && !hodirac_flag #endif ) if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC && !hodirac_flag ) { hDirAC->synthesisConf = DIRAC_SYNTHESIS_PSD_LS; hDirAC->panningConf = DIRAC_PANNING_VBAP; 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