Loading lib_com/ivas_cnst.h +0 −2 Original line number Diff line number Diff line Loading @@ -1225,9 +1225,7 @@ enum #define MASA_BIT_REDUCT_PARAM 10 #define MASA_MAXIMUM_TWO_DIR_BANDS 24 #define NBITS_HR_COH 4 #ifdef NONBE_FIX_982_OMASA_DELAY_COMP_5MS #define OMASA_TDREND_MATCHING_GAIN 0.7943f #endif #define MASA_JBM_RINGBUFFER_FRAMES 3 Loading lib_com/options.h +1 −12 Original line number Diff line number Diff line Loading @@ -163,7 +163,6 @@ /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ Loading @@ -171,17 +170,7 @@ /* all switches in this category should start with "NONBE_" */ #define NONBE_FIX_978_MC_TDREND_REVERB /* Eri : activate reverb for TDREND with headtracking */ #define BE_FIX_567_DOUBLE_STEREO_DMX /* NTT: Fix formal issues */ #define NONBE_FIX_567_DOUBLE_STEREO_DMX /* Orange: Double-precision replaced by single-precision */ #define NONBE_FIX_947_STEREO_DMX_EVS_POC /* Orange: Fix clicks on POC */ #ifdef NONBE_FIX_947_STEREO_DMX_EVS_POC #define NONBE_FIX_947_STEREO_DMX_ROMOPT /* Orange: ROM optimisation for POC*/ #endif #define NONBE_FIX_947_STEREO_DMX_EVS_PHA /* Orange: Fix issues on PHA */ #ifdef NONBE_FIX_947_STEREO_DMX_EVS_PHA #define NONBE_FIX_947_STEREO_DMX_FADOPT /* Orange: Fading optimisation */ #endif #define NONBE_FIX_982_OMASA_DELAY_COMP_5MS /* FhG : issue #982 : 5ms and 20ms output different for OMASA */ #ifdef SPLIT_REND_WITH_HEAD_ROT #define SPLIT_REND_LCLD_5MS /* Dlb: LCLD 5ms framing operation */ #endif Loading lib_com/prot.h +0 −2 Original line number Diff line number Diff line Loading @@ -132,12 +132,10 @@ float inv_sqrt( const float x /* i : input value */ ); #ifdef NONBE_FIX_567_DOUBLE_STEREO_DMX /*! r: inverse square root of input value (float) */ float inv_sqrtf( const float x /* i : input value */ ); #endif /*! r: output random value */ int16_t own_random( Loading lib_com/tools.c +0 −2 Original line number Diff line number Diff line Loading @@ -768,7 +768,6 @@ float inv_sqrt( return (float) ( 1.0 / sqrt( x ) ); } #ifdef NONBE_FIX_567_DOUBLE_STEREO_DMX /*---------------------------------------------------------------------* * inv_sqrtf() * Loading @@ -782,7 +781,6 @@ float inv_sqrtf( { return ( 1.0f / sqrtf( x ) ); } #endif /*-------------------------------------------------------------------* * conv() Loading lib_dec/ivas_binRenderer_internal.c +39 −5 Original line number Diff line number Diff line Loading @@ -2056,17 +2056,36 @@ void ivas_binRenderer( #endif #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { for ( pos_idx = 0; pos_idx < num_poses; pos_idx++ ) { for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) { for ( k = 0; k < numTimeSlots; k++ ) { v_multc( Cldfb_RealBuffer_Binaural[pos_idx][chIdx][k], 0.5f, Cldfb_RealBuffer_Binaural[pos_idx][chIdx][k], hBinRenderer->conv_band ); v_multc( Cldfb_ImagBuffer_Binaural[pos_idx][chIdx][k], 0.5f, Cldfb_ImagBuffer_Binaural[pos_idx][chIdx][k], hBinRenderer->conv_band ); } } } } #else if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) { for ( k = 0; k < numTimeSlots; k++ ) { v_multc( Cldfb_RealBuffer_Binaural[chIdx][k], 0.5f, Cldfb_RealBuffer_Binaural[chIdx][k], CLDFB_NO_CHANNELS_MAX ); v_multc( Cldfb_ImagBuffer_Binaural[chIdx][k], 0.5f, Cldfb_ImagBuffer_Binaural[chIdx][k], CLDFB_NO_CHANNELS_MAX ); v_multc( Cldfb_RealBuffer_Binaural[chIdx][k], 0.5f, Cldfb_RealBuffer_Binaural[chIdx][k], hBinRenderer->conv_band ); v_multc( Cldfb_ImagBuffer_Binaural[chIdx][k], 0.5f, Cldfb_ImagBuffer_Binaural[chIdx][k], hBinRenderer->conv_band ); } } } #endif #endif /* Obtain the binaural dmx and compute the reverb */ Loading Loading @@ -2132,7 +2151,12 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_Out_Real[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot, const int16_t num_subframes ) const int16_t num_subframes #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING , AUDIO_CONFIG output_config /* i : output configuration */ #endif ) { int16_t slot_idx, ch_idx, idx, pose_idx, i, j; int16_t sf_idx; Loading Loading @@ -2182,9 +2206,19 @@ void ivas_rend_CldfbMultiBinRendProcess( #endif #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, &head_track_post, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn ); ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, &head_track_post, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING , output_config #endif ); #else ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn ); ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING , output_config #endif ); #endif for ( pose_idx = 0; pose_idx < hCldfbRend->numPoses; pose_idx++ ) { Loading Loading
lib_com/ivas_cnst.h +0 −2 Original line number Diff line number Diff line Loading @@ -1225,9 +1225,7 @@ enum #define MASA_BIT_REDUCT_PARAM 10 #define MASA_MAXIMUM_TWO_DIR_BANDS 24 #define NBITS_HR_COH 4 #ifdef NONBE_FIX_982_OMASA_DELAY_COMP_5MS #define OMASA_TDREND_MATCHING_GAIN 0.7943f #endif #define MASA_JBM_RINGBUFFER_FRAMES 3 Loading
lib_com/options.h +1 −12 Original line number Diff line number Diff line Loading @@ -163,7 +163,6 @@ /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ Loading @@ -171,17 +170,7 @@ /* all switches in this category should start with "NONBE_" */ #define NONBE_FIX_978_MC_TDREND_REVERB /* Eri : activate reverb for TDREND with headtracking */ #define BE_FIX_567_DOUBLE_STEREO_DMX /* NTT: Fix formal issues */ #define NONBE_FIX_567_DOUBLE_STEREO_DMX /* Orange: Double-precision replaced by single-precision */ #define NONBE_FIX_947_STEREO_DMX_EVS_POC /* Orange: Fix clicks on POC */ #ifdef NONBE_FIX_947_STEREO_DMX_EVS_POC #define NONBE_FIX_947_STEREO_DMX_ROMOPT /* Orange: ROM optimisation for POC*/ #endif #define NONBE_FIX_947_STEREO_DMX_EVS_PHA /* Orange: Fix issues on PHA */ #ifdef NONBE_FIX_947_STEREO_DMX_EVS_PHA #define NONBE_FIX_947_STEREO_DMX_FADOPT /* Orange: Fading optimisation */ #endif #define NONBE_FIX_982_OMASA_DELAY_COMP_5MS /* FhG : issue #982 : 5ms and 20ms output different for OMASA */ #ifdef SPLIT_REND_WITH_HEAD_ROT #define SPLIT_REND_LCLD_5MS /* Dlb: LCLD 5ms framing operation */ #endif Loading
lib_com/prot.h +0 −2 Original line number Diff line number Diff line Loading @@ -132,12 +132,10 @@ float inv_sqrt( const float x /* i : input value */ ); #ifdef NONBE_FIX_567_DOUBLE_STEREO_DMX /*! r: inverse square root of input value (float) */ float inv_sqrtf( const float x /* i : input value */ ); #endif /*! r: output random value */ int16_t own_random( Loading
lib_com/tools.c +0 −2 Original line number Diff line number Diff line Loading @@ -768,7 +768,6 @@ float inv_sqrt( return (float) ( 1.0 / sqrt( x ) ); } #ifdef NONBE_FIX_567_DOUBLE_STEREO_DMX /*---------------------------------------------------------------------* * inv_sqrtf() * Loading @@ -782,7 +781,6 @@ float inv_sqrtf( { return ( 1.0f / sqrtf( x ) ); } #endif /*-------------------------------------------------------------------* * conv() Loading
lib_dec/ivas_binRenderer_internal.c +39 −5 Original line number Diff line number Diff line Loading @@ -2056,17 +2056,36 @@ void ivas_binRenderer( #endif #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING #ifdef SPLIT_REND_WITH_HEAD_ROT if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { for ( pos_idx = 0; pos_idx < num_poses; pos_idx++ ) { for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) { for ( k = 0; k < numTimeSlots; k++ ) { v_multc( Cldfb_RealBuffer_Binaural[pos_idx][chIdx][k], 0.5f, Cldfb_RealBuffer_Binaural[pos_idx][chIdx][k], hBinRenderer->conv_band ); v_multc( Cldfb_ImagBuffer_Binaural[pos_idx][chIdx][k], 0.5f, Cldfb_ImagBuffer_Binaural[pos_idx][chIdx][k], hBinRenderer->conv_band ); } } } } #else if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) { for ( k = 0; k < numTimeSlots; k++ ) { v_multc( Cldfb_RealBuffer_Binaural[chIdx][k], 0.5f, Cldfb_RealBuffer_Binaural[chIdx][k], CLDFB_NO_CHANNELS_MAX ); v_multc( Cldfb_ImagBuffer_Binaural[chIdx][k], 0.5f, Cldfb_ImagBuffer_Binaural[chIdx][k], CLDFB_NO_CHANNELS_MAX ); v_multc( Cldfb_RealBuffer_Binaural[chIdx][k], 0.5f, Cldfb_RealBuffer_Binaural[chIdx][k], hBinRenderer->conv_band ); v_multc( Cldfb_ImagBuffer_Binaural[chIdx][k], 0.5f, Cldfb_ImagBuffer_Binaural[chIdx][k], hBinRenderer->conv_band ); } } } #endif #endif /* Obtain the binaural dmx and compute the reverb */ Loading Loading @@ -2132,7 +2151,12 @@ void ivas_rend_CldfbMultiBinRendProcess( float Cldfb_Out_Real[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const int16_t low_res_pre_rend_rot, const int16_t num_subframes ) const int16_t num_subframes #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING , AUDIO_CONFIG output_config /* i : output configuration */ #endif ) { int16_t slot_idx, ch_idx, idx, pose_idx, i, j; int16_t sf_idx; Loading Loading @@ -2182,9 +2206,19 @@ void ivas_rend_CldfbMultiBinRendProcess( #endif #ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, &head_track_post, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn ); ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, &head_track_post, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING , output_config #endif ); #else ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn ); ivas_binRenderer( hCldfbRend, pMultiBinPoseData, *pCombinedOrientationData, MAX_PARAM_SPATIAL_SUBFRAMES, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural, Cldfb_RealBuffer_sfIn, Cldfb_ImagBuffer_sfIn #ifdef NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING , output_config #endif ); #endif for ( pose_idx = 0; pose_idx < hCldfbRend->numPoses; pose_idx++ ) { Loading