Commit 652a388e authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'enc_float_cleanup_ltv_crash_fixes_asan_msan_fixes_1' into 'main'

Encoder float buffers, struct cleanup, ASAN/MSAN fixes, LTV crash fixes

See merge request !823
parents d6f2a28e 64d59f04
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -548,6 +548,10 @@ void reset_indices_enc_fx(
{
    Word16 i;

#ifdef MSAN_FIX
    hBstr->nb_ind_tot = 0;
    move16();
#endif
    hBstr->nb_bits_tot = 0;
    move16();
    hBstr->next_ind_fx = 0;
+3 −3
Original line number Diff line number Diff line
@@ -234,8 +234,7 @@ ivas_error pre_proc_front_ivas_fx(
    const Word16 input_frame,                                  /* i  : frame length                            */
    const Word16 n,                                            /* i  : channel number                          */
    Word16 old_inp_12k8_fx[],                                  /* o  : (Q-1) buffer of old input signal              */
    float old_inp_12k8[],                                      /* o  : buffer of old input signal              */
    float old_inp_16k[],                                       /* o  : buffer of old input signal @16kHz          */
    Word16 old_inp_16k_fx[],                                       /* o  : buffer of old input signal @16kHz     Q-1 */
    Word32 *ener_fx,                                              /* o  : residual energy from Levinson-Durbin  Q_r  */
    Word16 *relE_fx,                                               /* o  : frame relative energy                  Q8 */
    Word16 A_fx[NB_SUBFR16k * ( M + 1 )],                          /* o  : A(z) unquantized for the 4 subframes    */
@@ -249,7 +248,8 @@ ivas_error pre_proc_front_ivas_fx(
    Word32 realBuffer_fx[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer              Q(q_re_im_buf) */
    Word32 imagBuffer_fx[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer              Q(q_re_im_buf) */
    Word16 *q_re_im_buf,                                           /* i/o: Q-factor of real and imag buffer        */
    float old_wsp[],                                           /* o  : weighted input signal buffer            */
    Word16 old_wsp[],                                           /* o  : weighted input signal buffer            q_old_wsp*/
    Word16 *q_old_wsp,
    Word16 pitch_fr_fx[NB_SUBFR],                                  /* o  : fractional pitch values               Q6  */
    Word16 voicing_fr_fx[NB_SUBFR],                                /* o  : fractional pitch gains                Q15 */
    Word16 *loc_harm,                                          /* o  : harmonicity flag                        */
+1 −1
Original line number Diff line number Diff line
@@ -305,7 +305,7 @@ void amr_wb_enc_fx(
     *----------------------------------------------------------------*/

    st->vad_flag = wb_vad_fx( st, fr_bands, &noisy_speech_HO, &clean_speech_HO, &NB_speech_HO,
                              &snr_sum_he, &localVAD_HE_SAD, &( st->flag_noisy_speech_snr_fx ), Q_new, hVAD, hNoiseEst, st->lp_speech_fx, st->lp_noise_fx );
                              &snr_sum_he, &localVAD_HE_SAD, &( st->flag_noisy_speech_snr ), Q_new, hVAD, hNoiseEst, st->lp_speech_fx, st->lp_noise_fx );

    if ( st->vad_flag == 0 )
    {
+5 −2
Original line number Diff line number Diff line
@@ -308,6 +308,7 @@ static void find_enr_dft_fx(
            ngmult = W_shl( ngmult, ngmult_exp );                                    // Q31 + Q30 - gaurded_bits + ngmult_exp
            BinE_fx[bin_cnt] = Mpy_32_32( W_extract_h( ngmult ), BinE_fx[bin_cnt] ); //(Q31 + Q31 - gaurded_bits + ngmult_exp) - Q32 + (2 * Q_inp_dmx + te_exp - 32) - 31
            move32();
            // To Be Checked
            BinE_fx[bin_cnt] = L_shl_sat( BinE_fx[bin_cnt], sub( *Qout, sub( sub( add( add( shl( Q_inp_dmx, 1 ), te_exp ), ngmult_exp ), 34 ), guarded_bits ) ) );
            move32();
            // To Be Checked
@@ -371,9 +372,11 @@ static void find_enr_dft_fx(
            ngmult = W_shl( ngmult, ngmult_exp );                                    // Q31 + Q31 - gaurded_bits + ngmult_exp
            BinE_fx[bin_cnt] = Mpy_32_32( W_extract_h( ngmult ), BinE_fx[bin_cnt] ); //(Q31 + Q31 - gaurded_bits + ngmult_exp) - Q32 + (2 * Q_inp_dmx + te_exp - 32) - 31
            move32();
            BinE_fx[bin_cnt] = L_shl( BinE_fx[bin_cnt], sub( *Qout, sub( sub( add( add( shl( Q_inp_dmx, 1 ), te_exp ), ngmult_exp ), 34 ), guarded_bits ) ) );
            // To Be Checked
            BinE_fx[bin_cnt] = L_shl_sat( BinE_fx[bin_cnt], sub( *Qout, sub( sub( add( add( shl( Q_inp_dmx, 1 ), te_exp ), ngmult_exp ), 34 ), guarded_bits ) ) );
            move32();
            band_fx[i] = L_add( BinE_fx[bin_cnt], band_fx[i] );
            // To Be Checked
            band_fx[i] = L_add_sat( BinE_fx[bin_cnt], band_fx[i] );
            move32();
            ptR_fx += 2;
            ptI_fx += 2;
+1 −1
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ Word16 coder_acelp_fx( /* o : SEGSNR for CL decision *
         *----------------------------------------------------------*/

        encode_acelp_gains_fx( code, acelp_cfg->gains_mode[j_subfr], Es_pred, clip_gain, &g_corr, &gain_pit, &gain_code, &prm,
                               &past_gcode, &gain_inov, L_SUBFR, code2, &gain_code2, st->flag_noisy_speech_snr_fx );
                               &past_gcode, &gain_inov, L_SUBFR, code2, &gain_code2, st->flag_noisy_speech_snr );

        gp_clip_test_gain_pit_fx( st->element_mode, st->core_brate, gain_pit, st->clip_var_fx );

Loading