Commit b6bcd99a authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'enc_flt_input_buff_cleanup_ltv_crash_fixes' into 'main'

Encoder float input buffers cleanup, ltv crash fixes in +10dB, -10dB and original inputs

See merge request !816
parents 6c27a4cf e134abee
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -846,7 +846,8 @@ void cng_params_postupd_ivas_fx(
#endif                                                                              /* BASOP_NOGLOB */
            L_tmp = Mult_32_16( L_tmp, 128 );                                       /* 2*Q_exc+1 */
            tmp = add( add( Q_exc, Q_exc ), 1 );
            sp[i] = L_shr( L_tmp, sub( tmp, 6 ) );
            // To do : Saturation to be re-validated.
            sp[i] = L_shr_sat( L_tmp, sub( tmp, 6 ) );
            move32(); /* Q6 */

            ptR++;
+4 −3
Original line number Diff line number Diff line
@@ -1735,7 +1735,8 @@ Word16 matrix_product_fx(
                {
                    x_idx = add( i, imult1616( k, rowsX ) );                                 /*Q0*/
                    y_idx = add( k, imult1616( j, rowsY ) );                                 /*Q0*/
                    ( *Zp_fx ) = L_add( *Zp_fx, Mpy_32_32( X_fx[x_idx], Y_fx[y_idx] ) ); /*Qx + Qy - 31*/
                    ( *Zp_fx ) = L_add_sat( *Zp_fx, Mpy_32_32( X_fx[x_idx], Y_fx[y_idx] ) ); /*Qx + Qy - 31*/
                    // TODO: overflow of Z_fx to be checked
                    move32();
                }
                Zp_fx++;
+3 −3
Original line number Diff line number Diff line
@@ -631,7 +631,7 @@ void ivas_analy_sp_fx_front(
                move16();
            }

            Scale_fac[i_subfr] = -1;
            Scale_fac[i_subfr] = -2;
            move16();
            Scale_sig( pt_fft, L_FFT, Scale_fac[i_subfr] );

@@ -705,7 +705,7 @@ void ivas_analy_sp_fx_front(
        {
            if ( EspecdB != NULL )
            {
                temp32_log = L_add( BASOP_Util_Log2( Ltmp ), L_shl( sub( Q31, Q_new + QSCALE - 2 - 1 ), Q25 ) );
                temp32_log = L_add( BASOP_Util_Log2( Ltmp ), L_shl( sub( Q31, Q_new + QSCALE - 2 ), Q25 ) );
                EspecdB[i] = extract_l( L_shr( Mpy_32_32( temp32_log, 1860652798 ), Q22 - Q7 ) ); /*log(x) = log2(x)*logf(2)*/
                /* 10.0*log((float)tmp)                                  */
                /* 10.0*logf(2) in Q28 = 1860652798                      */
@@ -1118,7 +1118,7 @@ static void ivas_find_enr1(
    move32();
    FOR( i = min_band; i <= max_band; i++ )
    {
        etot = L_add( etot, L_shr( band[i], Q1 ) ); // Q_new + QSCALE - 1
        etot = L_add_sat( etot, L_shr( band[i], Q1 ) ); // Q_new + QSCALE - 1
    }
    *LEtot = etot;
    move32();
+52 −184

File changed.

Preview size limit exceeded, changes collapsed.

+0 −1
Original line number Diff line number Diff line
@@ -211,7 +211,6 @@ void core_coder_mode_switch_ivas_fx(
        f2me_buf_16( st->old_wsp, st->old_wsp_fx, &st->exp_old_wsp, L_WSP_MEM );
        f2me_buf_16( st->old_inp_12k8, st->old_inp_12k8_fx, &st->exp_old_inp_12k8, L_INP_MEM );
        f2me_buf_16( st->old_inp_16k, st->old_inp_16k_fx, &st->exp_old_inp_16k, L_INP_MEM );
        f2me_buf_16( st->buf_wspeech_enc_flt + st->L_frame + L_SUBFR - L_WSP_MEM, st->buf_wspeech_enc + st->L_frame + L_SUBFR - L_WSP_MEM, &st->exp_old_inp_16k, L_WSP_MEM );

        /* Adaptive BPF */
        set_zero( st->mem_bpf, 2 * L_FILT16k );
Loading