MASA Dec Binaural: Additional click by BASOP_Util_Divide3232_Scale_newton()
This is a follow-up from MRs !1376 (merged) and !1388 (merged) :
Basic info
- Float reference:
- Fixed point:
- Encoder (fixed): n/a
- Decoder (fixed): 004bf201
Bug description
Replacing BASOP_Util_Divide3232_Scale_cadence()
by BASOP_Util_Divide3232_Scale_newton()
in lib_rend/ivas_dirac_dec_binaural_functions_fx.c, line 4035 (formulate2x2MixingMatrix_fx()) introduces an additional (audible) click in the output. For better visibility, the first two spectrograms show the difference BASOP - float:
BASOP BASOP_Util_Divide3232_Scale_newton()
- float:
BASOP (main) - float:
BASOP BASOP_Util_Divide3232_Scale_newton()
:
For the condition BASOP BASOP_Util_Divide3232_Scale_newton()
, the following patch has been applied relative to main:
diff --git a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c
index ce602160..d9539a21 100644
--- a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c
+++ b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c
@@ -4035,7 +4035,7 @@ static void formulate2x2MixingMatrix_fx(
}
ELSE
{
- maxEneDiv_fx = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q30, maxEne_fx, &exp );
+ maxEneDiv_fx = BASOP_Util_Divide3232_Scale_newton( ONE_IN_Q30, maxEne_fx, &exp );
q_maxEneDiv = add( sub( 31, exp ), sub( Q30, q_maxEne ) );
}
exp = norm_l( maxEneDiv_fx );
This is not the only click in the file - there have been clicks before, and overall the file is very noisy which makes ans perceptual evaluation difficult. Nevertheless, I can hear the click in the new version.
This issues only appears with +10dB scaled testvectors, I couldn't spot it with the default 0dB variant.
Attached is the output of the network simulator, which can be used for debugging:
Ways to reproduce
ivas-float-update/IVAS_cod -masa 2 ivas-codec/scripts/testv_+10dB/stv1MASA2TC48n.met ivas-codec/scripts/switchPaths/sw_13k2_512k.bin 48 ivas-codec/scripts/testv_+10dB/stv1MASA2TC48n.wav stv1MASA2TC48n.wav_MASA_1dir_2TC_bitrate_switching_from_13_2_kbps_to_512_kbps_48kHz_in_16kHz_out_BINAURAL_out_JBM_Prof_5.192
networkSimulator_g192 ivas-codec/scripts/dly_error_profiles/dly_error_profile_5.dat stv1MASA2TC48n.wav_MASA_1dir_2TC_bitrate_switching_from_13_2_kbps_to_512_kbps_48kHz_in_16kHz_out_BINAURAL_out_JBM_Prof_5.192 stv1MASA2TC48n.wav_MASA_1dir_2TC_bitrate_switching_from_13_2_kbps_to_512_kbps_48kHz_in_16kHz_out_BINAURAL_out_JBM_Prof_5.netsimout stv1MASA2TC48n.wav_MASA_1dir_2TC_bitrate_switching_from_13_2_kbps_to_512_kbps_48kHz_in_16kHz_out_BINAURAL_out_JBM_Prof_5.netsimtrace 2 0
ivas-basop/IVAS_dec -VOIP BINAURAL 16 stv1MASA2TC48n.wav_MASA_1dir_2TC_bitrate_switching_from_13_2_kbps_to_512_kbps_48kHz_in_16kHz_out_BINAURAL_out_JBM_Prof_5.netsimout out.wav