Loading .gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -372,7 +372,7 @@ codec-smoke-test: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request timeout: "15 minutes" timeout: "17 minutes" stage: test needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"] script: Loading lib_com/ivas_prot.h +11 −0 Original line number Diff line number Diff line Loading @@ -1043,10 +1043,17 @@ void ivas_param_ism_enc( const int16_t input_frame /* i : input frame length per channel */ ); #ifndef PARAM_ISM_REFACTOR void ivas_param_ism_enc_close( DIRAC_ENC_HANDLE *hDirAC, /* i/o: encoder DirAC handle */ const int32_t input_Fs /* i : input sampling_rate */ ); #else void ivas_param_ism_enc_close( PARAM_ISM_CONFIG_HANDLE *hParamIsm, /* i/o: ParamISM handle */ const int32_t input_Fs /* i : input sampling_rate */ ); #endif void ivas_ism_metadata_close( ISM_METADATA_HANDLE hIsmMetaData[], /* i/o : object metadata handles */ Loading Loading @@ -1085,7 +1092,11 @@ ivas_error ivas_param_ism_dec_open( ); void ivas_param_ism_dec_close( #ifndef PARAM_ISM_REFACTOR DIRAC_DEC_HANDLE *hDirAC, /* i/o: decoder DirAC handle */ #else PARAM_ISM_DEC_HANDLE *hParamIsmDec, /* i/o: decoder ParamISM handle */ #endif SPAT_PARAM_REND_COMMON_DATA_HANDLE *hSpatParamRendCom_out, /* i/o: common spatial renderer data */ const AUDIO_CONFIG output_config /* i : output audio configuration */ ); Loading lib_com/ivas_stat_com.h +35 −30 Original line number Diff line number Diff line Loading @@ -150,36 +150,6 @@ typedef struct } ECSQ_instance; /*----------------------------------------------------------------------------------* * PARAMETRIC ISM encoder/decoder (common) structure *----------------------------------------------------------------------------------*/ typedef struct ivas_param_ism_data_structure { int16_t nbands; int16_t nblocks[MAX_PARAM_ISM_NBANDS]; int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; int16_t azi_index[MAX_NUM_OBJECTS]; int16_t ele_index[MAX_NUM_OBJECTS]; int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS]; int16_t last_az_sgn[MAX_NUM_OBJECTS]; int16_t last_az_diff[MAX_NUM_OBJECTS]; int16_t last_el_sgn[MAX_NUM_OBJECTS]; int16_t last_el_diff[MAX_NUM_OBJECTS]; int16_t flag_noisy_speech; int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE]; int16_t flag_equal_energy; float last_dmx_gain; float last_cardioid_left[MAX_NUM_OBJECTS]; } PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE; /*----------------------------------------------------------------------------------* * Declaration of DirAC common (encoder & decoder) structure Loading Loading @@ -813,4 +783,39 @@ typedef struct ivas_fb_mixer_state_structure } IVAS_FB_MIXER_DATA, *IVAS_FB_MIXER_HANDLE; /*----------------------------------------------------------------------------------* * PARAMETRIC ISM encoder/decoder (common) structure *----------------------------------------------------------------------------------*/ typedef struct ivas_param_ism_data_structure { #ifdef PARAM_ISM_REFACTOR IVAS_FB_MIXER_HANDLE hFbMixer; #endif int16_t nbands; int16_t nblocks[MAX_PARAM_ISM_NBANDS]; int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; int16_t azi_index[MAX_NUM_OBJECTS]; int16_t ele_index[MAX_NUM_OBJECTS]; int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS]; int16_t last_az_sgn[MAX_NUM_OBJECTS]; int16_t last_az_diff[MAX_NUM_OBJECTS]; int16_t last_el_sgn[MAX_NUM_OBJECTS]; int16_t last_el_diff[MAX_NUM_OBJECTS]; int16_t flag_noisy_speech; int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE]; int16_t flag_equal_energy; float last_dmx_gain; float last_cardioid_left[MAX_NUM_OBJECTS]; } PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE; #endif /* IVAS_STAT_COM */ lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ #define FIX_747_ISM_TODOS /* VA: issue 747 - address ISM ToDos */ #define FIX_ISMRENDERER_HANDLE_DEALLOC /* VA: issue 781: harmonize Deallocation of handle 'hIsmRendererData' */ #define FIX_782_OSBA_FUNCTION_NAMES /* VA: fix 782: correct OSBA function names */ #define PARAM_ISM_REFACTOR /* FhG: Issue 768: Refactoring to decouple hDirAC and hParamISM */ /* #################### End BE switches ################################## */ Loading Loading @@ -202,6 +203,7 @@ #define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */ #define NONBE_FIX_588_UPDATE_FASTCONV_SD /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */ #define NONBE_FIX_774_OSBA_MONO_DEC_CRASH /* FhG: issue 774: decoder crash for OSBA to mono */ #define NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN /* FhG: Issue 778: MSAN error due to uninitialized TNS configuration */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -186,7 +186,11 @@ ivas_error ivas_dec( } else if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { #ifndef PARAM_ISM_REFACTOR if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hParamIsmDec->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK ) #endif { return error; } Loading Loading
.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -372,7 +372,7 @@ codec-smoke-test: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request timeout: "15 minutes" timeout: "17 minutes" stage: test needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"] script: Loading
lib_com/ivas_prot.h +11 −0 Original line number Diff line number Diff line Loading @@ -1043,10 +1043,17 @@ void ivas_param_ism_enc( const int16_t input_frame /* i : input frame length per channel */ ); #ifndef PARAM_ISM_REFACTOR void ivas_param_ism_enc_close( DIRAC_ENC_HANDLE *hDirAC, /* i/o: encoder DirAC handle */ const int32_t input_Fs /* i : input sampling_rate */ ); #else void ivas_param_ism_enc_close( PARAM_ISM_CONFIG_HANDLE *hParamIsm, /* i/o: ParamISM handle */ const int32_t input_Fs /* i : input sampling_rate */ ); #endif void ivas_ism_metadata_close( ISM_METADATA_HANDLE hIsmMetaData[], /* i/o : object metadata handles */ Loading Loading @@ -1085,7 +1092,11 @@ ivas_error ivas_param_ism_dec_open( ); void ivas_param_ism_dec_close( #ifndef PARAM_ISM_REFACTOR DIRAC_DEC_HANDLE *hDirAC, /* i/o: decoder DirAC handle */ #else PARAM_ISM_DEC_HANDLE *hParamIsmDec, /* i/o: decoder ParamISM handle */ #endif SPAT_PARAM_REND_COMMON_DATA_HANDLE *hSpatParamRendCom_out, /* i/o: common spatial renderer data */ const AUDIO_CONFIG output_config /* i : output audio configuration */ ); Loading
lib_com/ivas_stat_com.h +35 −30 Original line number Diff line number Diff line Loading @@ -150,36 +150,6 @@ typedef struct } ECSQ_instance; /*----------------------------------------------------------------------------------* * PARAMETRIC ISM encoder/decoder (common) structure *----------------------------------------------------------------------------------*/ typedef struct ivas_param_ism_data_structure { int16_t nbands; int16_t nblocks[MAX_PARAM_ISM_NBANDS]; int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; int16_t azi_index[MAX_NUM_OBJECTS]; int16_t ele_index[MAX_NUM_OBJECTS]; int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS]; int16_t last_az_sgn[MAX_NUM_OBJECTS]; int16_t last_az_diff[MAX_NUM_OBJECTS]; int16_t last_el_sgn[MAX_NUM_OBJECTS]; int16_t last_el_diff[MAX_NUM_OBJECTS]; int16_t flag_noisy_speech; int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE]; int16_t flag_equal_energy; float last_dmx_gain; float last_cardioid_left[MAX_NUM_OBJECTS]; } PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE; /*----------------------------------------------------------------------------------* * Declaration of DirAC common (encoder & decoder) structure Loading Loading @@ -813,4 +783,39 @@ typedef struct ivas_fb_mixer_state_structure } IVAS_FB_MIXER_DATA, *IVAS_FB_MIXER_HANDLE; /*----------------------------------------------------------------------------------* * PARAMETRIC ISM encoder/decoder (common) structure *----------------------------------------------------------------------------------*/ typedef struct ivas_param_ism_data_structure { #ifdef PARAM_ISM_REFACTOR IVAS_FB_MIXER_HANDLE hFbMixer; #endif int16_t nbands; int16_t nblocks[MAX_PARAM_ISM_NBANDS]; int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; int16_t azi_index[MAX_NUM_OBJECTS]; int16_t ele_index[MAX_NUM_OBJECTS]; int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS]; int16_t last_az_sgn[MAX_NUM_OBJECTS]; int16_t last_az_diff[MAX_NUM_OBJECTS]; int16_t last_el_sgn[MAX_NUM_OBJECTS]; int16_t last_el_diff[MAX_NUM_OBJECTS]; int16_t flag_noisy_speech; int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE]; int16_t flag_equal_energy; float last_dmx_gain; float last_cardioid_left[MAX_NUM_OBJECTS]; } PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE; #endif /* IVAS_STAT_COM */
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,7 @@ #define FIX_747_ISM_TODOS /* VA: issue 747 - address ISM ToDos */ #define FIX_ISMRENDERER_HANDLE_DEALLOC /* VA: issue 781: harmonize Deallocation of handle 'hIsmRendererData' */ #define FIX_782_OSBA_FUNCTION_NAMES /* VA: fix 782: correct OSBA function names */ #define PARAM_ISM_REFACTOR /* FhG: Issue 768: Refactoring to decouple hDirAC and hParamISM */ /* #################### End BE switches ################################## */ Loading Loading @@ -202,6 +203,7 @@ #define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */ #define NONBE_FIX_588_UPDATE_FASTCONV_SD /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */ #define NONBE_FIX_774_OSBA_MONO_DEC_CRASH /* FhG: issue 774: decoder crash for OSBA to mono */ #define NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN /* FhG: Issue 778: MSAN error due to uninitialized TNS configuration */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -186,7 +186,11 @@ ivas_error ivas_dec( } else if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { #ifndef PARAM_ISM_REFACTOR if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hParamIsmDec->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK ) #endif { return error; } Loading