Loading lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -4395,6 +4395,10 @@ void ivas_sba_mix_matrix_determiner( const int16_t bfi, /* i : BFI flag */ const int16_t nchan_remapped, /* i : num channels after remapping of TCs */ const int16_t output_frame /* i : output frame length */ #ifdef VLBR_20MS_MD , const int16_t num_md_sub_frames /* i : number of subframes in mixing matrix */ #endif ); /* AGC */ Loading lib_com/options.h +4 −0 Original line number Diff line number Diff line Loading @@ -209,6 +209,8 @@ #define FIX_468_16KHZ_PUPMIX /* Dlb: Fix issue 468 for Param Upmix at 16kHz sampling rate */ #define FIX_499_DFT_STEREO_PLC /* Eri: Fix for issue 499: Wrong past memory addressed for computing energy of DFT stereo residual ECU frame */ #define FIX_489_COV_SMOOTHING /* Dlb: Fix covariance smoothing for ParamUpmix */ #define FIX_501_TABLE_IDX_INIT /* Dlb: Fix for the issue 501 */ #define FIX_485_STATIC_BUFFERS /* FhG: move static buffers in DirAC parameter estimator to the DirAC struct */ #define FIX_I503_ASAN_ERROR_IND_LIST /* VA: fix issue #503: address sanitizer error with IND_LIST_DYN */ #define FIX_473_JITTER_NONDIEGETIC_PANNING /* FhG,Orange: add missing non-diegetic panning to JITTER */ Loading @@ -232,6 +234,8 @@ #define FIX_TODO_NON_DIEGETIC_PAN_NOT_IMPLELENTED_IN_RENDERER /* ..\apps\renderer.c(240): .... (todo: implementation)",*/ #define REMOVE_OBS_CODE /* FhG: Remove unnecessary assignement after LFE cleanup (Issue #451)*/ #define VLBR_20MS_MD /* Dlb: SBA VLBR 20ms Optimization*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_dec/ivas_dec.c +8 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ ivas_error ivas_dec( #ifdef JBM_TSM_ON_TCS float *p_output[MAX_OUTPUT_CHANNELS]; #endif #ifdef VLBR_20MS_MD int16_t num_md_sub_frames; #endif error = IVAS_ERR_OK; Loading Loading @@ -458,7 +461,12 @@ ivas_error ivas_dec( #endif { #ifdef VLBR_20MS_MD num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ); ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames ); #else ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame ); #endif } #ifdef JBM_TSM_ON_TCS #ifndef SBA_MODE_CLEAN_UP Loading lib_dec/ivas_jbm_dec.c +8 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ ivas_error ivas_jbm_dec_tc( AUDIO_CONFIG output_config; ivas_error error; float *p_output[MAX_TRANSPORT_CHANNELS]; #ifdef VLBR_20MS_MD int16_t num_md_sub_frames; #endif error = IVAS_ERR_OK; Loading Loading @@ -311,7 +314,12 @@ ivas_error ivas_jbm_dec_tc( if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) #endif { #ifdef VLBR_20MS_MD num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ); ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames ); #else ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame ); #endif } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_SPAR ) Loading lib_dec/ivas_masa_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -1414,7 +1414,11 @@ void ivas_spar_param_to_masa_param_mapping( else { #ifdef JBM_TSM_ON_TCS #ifdef VLBR_20MS_MD mixer_mat_index = ( ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ) == 1 ) ? 0 : ( sf - SPAR_META_DELAY_SUBFRAMES ); #else mixer_mat_index = sf - SPAR_META_DELAY_SUBFRAMES; #endif #else mixer_mat_index = subframe - SPAR_META_DELAY_SUBFRAMES; #endif Loading Loading
lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -4395,6 +4395,10 @@ void ivas_sba_mix_matrix_determiner( const int16_t bfi, /* i : BFI flag */ const int16_t nchan_remapped, /* i : num channels after remapping of TCs */ const int16_t output_frame /* i : output frame length */ #ifdef VLBR_20MS_MD , const int16_t num_md_sub_frames /* i : number of subframes in mixing matrix */ #endif ); /* AGC */ Loading
lib_com/options.h +4 −0 Original line number Diff line number Diff line Loading @@ -209,6 +209,8 @@ #define FIX_468_16KHZ_PUPMIX /* Dlb: Fix issue 468 for Param Upmix at 16kHz sampling rate */ #define FIX_499_DFT_STEREO_PLC /* Eri: Fix for issue 499: Wrong past memory addressed for computing energy of DFT stereo residual ECU frame */ #define FIX_489_COV_SMOOTHING /* Dlb: Fix covariance smoothing for ParamUpmix */ #define FIX_501_TABLE_IDX_INIT /* Dlb: Fix for the issue 501 */ #define FIX_485_STATIC_BUFFERS /* FhG: move static buffers in DirAC parameter estimator to the DirAC struct */ #define FIX_I503_ASAN_ERROR_IND_LIST /* VA: fix issue #503: address sanitizer error with IND_LIST_DYN */ #define FIX_473_JITTER_NONDIEGETIC_PANNING /* FhG,Orange: add missing non-diegetic panning to JITTER */ Loading @@ -232,6 +234,8 @@ #define FIX_TODO_NON_DIEGETIC_PAN_NOT_IMPLELENTED_IN_RENDERER /* ..\apps\renderer.c(240): .... (todo: implementation)",*/ #define REMOVE_OBS_CODE /* FhG: Remove unnecessary assignement after LFE cleanup (Issue #451)*/ #define VLBR_20MS_MD /* Dlb: SBA VLBR 20ms Optimization*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_dec/ivas_dec.c +8 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ ivas_error ivas_dec( #ifdef JBM_TSM_ON_TCS float *p_output[MAX_OUTPUT_CHANNELS]; #endif #ifdef VLBR_20MS_MD int16_t num_md_sub_frames; #endif error = IVAS_ERR_OK; Loading Loading @@ -458,7 +461,12 @@ ivas_error ivas_dec( #endif { #ifdef VLBR_20MS_MD num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ); ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames ); #else ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame ); #endif } #ifdef JBM_TSM_ON_TCS #ifndef SBA_MODE_CLEAN_UP Loading
lib_dec/ivas_jbm_dec.c +8 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ ivas_error ivas_jbm_dec_tc( AUDIO_CONFIG output_config; ivas_error error; float *p_output[MAX_TRANSPORT_CHANNELS]; #ifdef VLBR_20MS_MD int16_t num_md_sub_frames; #endif error = IVAS_ERR_OK; Loading Loading @@ -311,7 +314,12 @@ ivas_error ivas_jbm_dec_tc( if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) #endif { #ifdef VLBR_20MS_MD num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ); ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames ); #else ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame ); #endif } #ifndef SBA_MODE_CLEAN_UP else if ( st_ivas->sba_mode == SBA_MODE_SPAR ) Loading
lib_dec/ivas_masa_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -1414,7 +1414,11 @@ void ivas_spar_param_to_masa_param_mapping( else { #ifdef JBM_TSM_ON_TCS #ifdef VLBR_20MS_MD mixer_mat_index = ( ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ) == 1 ) ? 0 : ( sf - SPAR_META_DELAY_SUBFRAMES ); #else mixer_mat_index = sf - SPAR_META_DELAY_SUBFRAMES; #endif #else mixer_mat_index = subframe - SPAR_META_DELAY_SUBFRAMES; #endif Loading