Loading lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,8 @@ /* #################### Start BASOP optimization switches ############################ */ #define NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES /* Dolby: task 2157: optimize ivas_dirac_dec_binaural_formulate_input_covariance_matrices */ #define NONBE_2157_INPUT_COV_MATRICES /* Dolby: task 2157: optimize ivas_dirac_dec_binaural_formulate_input_covariance_matrices */ #define NONBE_2157_ACCURACY_ANALYSIS /* Dolby: task 2157: accuracy analysis */ /* #################### End BASOP optimization switches ############################ */ Loading lib_rend/ivas_dirac_dec_binaural_functions_fx.c +324 −108 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_rend/ivas_stat_rend.h +16 −1 Original line number Diff line number Diff line Loading @@ -612,13 +612,28 @@ typedef struct ivas_dirac_dec_binaural_data_structure Word16 q_processMtxDec; Word16 q_processMtxDecPrev; #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES #ifdef NONBE_2157_INPUT_COV_MATRICES Word64 ChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; Word64 ChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossRe[CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossIm[CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; #ifdef NONBE_2157_ACCURACY_ANALYSIS float fChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; float fChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; float fChCrossRe[CLDFB_NO_CHANNELS_MAX]; float fChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; float fChCrossIm[CLDFB_NO_CHANNELS_MAX]; float fChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; double dChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; double dChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; double dChCrossRe[CLDFB_NO_CHANNELS_MAX]; double dChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; double dChCrossIm[CLDFB_NO_CHANNELS_MAX]; double dChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; #endif #endif Word32 ChEnePrev_fx[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; Loading lib_rend/lib_rend_fx.c +13 −4 Original line number Diff line number Diff line Loading @@ -9924,6 +9924,7 @@ static ivas_error ivas_masa_ext_rend_dirac_rend_init( return error; } #include "string.h" static ivas_error ivas_masa_ext_rend_parambin_init( input_masa *inputMasa, /* i/o: MASA external renderer structure */ Loading Loading @@ -10011,19 +10012,27 @@ static ivas_error ivas_masa_ext_rend_parambin_init( move16(); move16(); move16(); #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES #ifdef NONBE_2157_INPUT_COV_MATRICES set64_fx( hDiracDecBin->ChEnePrev[j], 0, nBins ); #else memset( hDiracDecBin->fChEnePrev[j], 0, nBins * sizeof( float ) ); memset( hDiracDecBin->dChEnePrev[j], 0, nBins * sizeof( double ) ); #endif #ifdef NONBE_2157_USE_CURRENT_VERSION set_zero_fx( hDiracDecBin->ChEnePrev_fx[j], nBins ); set16_fx( hDiracDecBin->ChEnePrev_e[j], 0, nBins ); #endif set_zero_fx( hDiracDecBin->ChEneOutPrev_fx[j], nBins ); set16_fx( hDiracDecBin->ChEneOutPrev_e[j], 0, nBins ); } #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES #ifdef NONBE_2157_INPUT_COV_MATRICES set64_fx( hDiracDecBin->ChCrossRePrev, 0, nBins ); set64_fx( hDiracDecBin->ChCrossImPrev, 0, nBins ); #else memset( hDiracDecBin->fChCrossRePrev, 0, nBins * sizeof( float ) ); memset( hDiracDecBin->fChCrossImPrev, 0, nBins * sizeof( float ) ); memset( hDiracDecBin->dChCrossRePrev, 0, nBins * sizeof( double ) ); memset( hDiracDecBin->dChCrossImPrev, 0, nBins * sizeof( double ) ); #endif #ifdef NONBE_2157_USE_CURRENT_VERSION set_zero_fx( hDiracDecBin->ChCrossRePrev_fx, nBins ); set_zero_fx( hDiracDecBin->ChCrossImPrev_fx, nBins ); set16_fx( hDiracDecBin->ChCrossRePrev_e, 0, nBins ); Loading Loading
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,8 @@ /* #################### Start BASOP optimization switches ############################ */ #define NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES /* Dolby: task 2157: optimize ivas_dirac_dec_binaural_formulate_input_covariance_matrices */ #define NONBE_2157_INPUT_COV_MATRICES /* Dolby: task 2157: optimize ivas_dirac_dec_binaural_formulate_input_covariance_matrices */ #define NONBE_2157_ACCURACY_ANALYSIS /* Dolby: task 2157: accuracy analysis */ /* #################### End BASOP optimization switches ############################ */ Loading
lib_rend/ivas_dirac_dec_binaural_functions_fx.c +324 −108 File changed.Preview size limit exceeded, changes collapsed. Show changes
lib_rend/ivas_stat_rend.h +16 −1 Original line number Diff line number Diff line Loading @@ -612,13 +612,28 @@ typedef struct ivas_dirac_dec_binaural_data_structure Word16 q_processMtxDec; Word16 q_processMtxDecPrev; #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES #ifdef NONBE_2157_INPUT_COV_MATRICES Word64 ChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; Word64 ChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossRe[CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossIm[CLDFB_NO_CHANNELS_MAX]; Word64 ChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; #ifdef NONBE_2157_ACCURACY_ANALYSIS float fChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; float fChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; float fChCrossRe[CLDFB_NO_CHANNELS_MAX]; float fChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; float fChCrossIm[CLDFB_NO_CHANNELS_MAX]; float fChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; double dChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; double dChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; double dChCrossRe[CLDFB_NO_CHANNELS_MAX]; double dChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; double dChCrossIm[CLDFB_NO_CHANNELS_MAX]; double dChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; #endif #endif Word32 ChEnePrev_fx[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; Loading
lib_rend/lib_rend_fx.c +13 −4 Original line number Diff line number Diff line Loading @@ -9924,6 +9924,7 @@ static ivas_error ivas_masa_ext_rend_dirac_rend_init( return error; } #include "string.h" static ivas_error ivas_masa_ext_rend_parambin_init( input_masa *inputMasa, /* i/o: MASA external renderer structure */ Loading Loading @@ -10011,19 +10012,27 @@ static ivas_error ivas_masa_ext_rend_parambin_init( move16(); move16(); move16(); #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES #ifdef NONBE_2157_INPUT_COV_MATRICES set64_fx( hDiracDecBin->ChEnePrev[j], 0, nBins ); #else memset( hDiracDecBin->fChEnePrev[j], 0, nBins * sizeof( float ) ); memset( hDiracDecBin->dChEnePrev[j], 0, nBins * sizeof( double ) ); #endif #ifdef NONBE_2157_USE_CURRENT_VERSION set_zero_fx( hDiracDecBin->ChEnePrev_fx[j], nBins ); set16_fx( hDiracDecBin->ChEnePrev_e[j], 0, nBins ); #endif set_zero_fx( hDiracDecBin->ChEneOutPrev_fx[j], nBins ); set16_fx( hDiracDecBin->ChEneOutPrev_e[j], 0, nBins ); } #ifdef NONBE_2157_IVAS_DIRAC_DEC_BINAURAL_FORMULATE_INPUT_COVARIANCE_MATRICES #ifdef NONBE_2157_INPUT_COV_MATRICES set64_fx( hDiracDecBin->ChCrossRePrev, 0, nBins ); set64_fx( hDiracDecBin->ChCrossImPrev, 0, nBins ); #else memset( hDiracDecBin->fChCrossRePrev, 0, nBins * sizeof( float ) ); memset( hDiracDecBin->fChCrossImPrev, 0, nBins * sizeof( float ) ); memset( hDiracDecBin->dChCrossRePrev, 0, nBins * sizeof( double ) ); memset( hDiracDecBin->dChCrossImPrev, 0, nBins * sizeof( double ) ); #endif #ifdef NONBE_2157_USE_CURRENT_VERSION set_zero_fx( hDiracDecBin->ChCrossRePrev_fx, nBins ); set_zero_fx( hDiracDecBin->ChCrossImPrev_fx, nBins ); set16_fx( hDiracDecBin->ChCrossRePrev_e, 0, nBins ); Loading