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

Fix for decoder crash

parent 4fc3bd03
Loading
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -618,6 +618,7 @@ void ivas_wb_tbe_dec_fx(
    move16();
    Word32 dummy2[HILBERT_MEM_SIZE];
    Word16 f, inc;
    Word64 W_tmp;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
@@ -853,17 +854,20 @@ void ivas_wb_tbe_dec_fx(
            move16(); /* restrict this to 21 due to the Q factor requireemnt of the random number generator (keep 1 bit headroom) */
        }

        prev_pow = 0;
        move32();
        W_tmp = 0;
        move64();
        IF( st_fx->element_mode > EVS_MONO )
        {
            tmp = sub( shl( sub( st_fx->prev_Q_bwe_exc, 16 ), 1 ), 31 + 16 );
            prev_pow = L_shl_sat( 1407374848l /*0.00001f Q47*/, tmp ); /*Q(2*(st_fx->prev_Q_bwe_exc-16))*/
            W_tmp = L_shl( 1407374848l /*0.00001f Q47*/, tmp ); /*Q(2*(st_fx->prev_Q_bwe_exc-16))*/
        }
        FOR( i = 0; i < L_SHB_LAHEAD / 4; i++ )
        {
            prev_pow = L_mac0( prev_pow, hBWE_TD->state_syn_shbexc_fx[i], hBWE_TD->state_syn_shbexc_fx[i] ); /*Q(2*(st_fx->prev_Q_bwe_exc-16))*/
            W_tmp = W_mac_16_16( W_tmp, hBWE_TD->state_syn_shbexc_fx[i], hBWE_TD->state_syn_shbexc_fx[i] ); /*Q(2*(st_fx->prev_Q_bwe_exc-16 + 1))*/
        }
        exp = W_norm( W_tmp );
        prev_pow = W_extract_h( W_shl( W_tmp, exp ) );
        exp = sub( add( add( shl( sub( st_fx->prev_Q_bwe_exc, 16 ), 1 ), 1 ), exp ), 32 );

        rescale_genWB_mem( st_fx, sub( Q_bwe_exc, st_fx->prev_Q_bwe_exc ) );

@@ -901,7 +905,7 @@ void ivas_wb_tbe_dec_fx(
        }

        Lscale = root_a_over_b_fx( curr_pow, shl_r( Q_bwe_exc_ext, 1 ), prev_pow,
                                   shl_r( sub( st_fx->prev_Q_bwe_exc, 16 ), 1 ), &exp );
                                   exp, &exp );

        FOR( i = 0; i < L_SHB_LAHEAD / 4 - 1; i++ )
        {