Commit 368dbcd8 authored by mave2802's avatar mave2802 Committed by Sandesh Venkatesh
Browse files

fixed calculation of energy (EnergyL_16) in SWB_BWE_decoding

parent 26e6dea5
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -388,8 +388,7 @@ void SWB_BWE_decoding_fx(
    Word16 *prev_weight,         /* i/o: excitation weight value of last frame */
    const Word16 extl,           /* i  : extension layer                       */
    Word16 Q_syn,
    const Word16 last_extl, /* i  : extension layer of last frame         */
    Word16 element_mode     /* i  : element mode  */
    const Word16 last_extl       /* i  : extension layer of last frame         */
);
void time_envelop_shaping_fx(
@@ -2719,8 +2718,7 @@ void SWB_BWE_decoding_fx(
    Word16 *prev_weight,         /* i/o: excitation weight value of last frame */
    const Word16 extl,           /* i  : extension layer                       */
    Word16 Q_syn,
    const Word16 last_extl, /* i  : extension layer of last frame         */
    Word16 element_mode     /* i  : element mode  */
    const Word16 last_extl       /* i  : extension layer of last frame         */
);
void time_envelop_shaping_fx(
+5 −16
Original line number Diff line number Diff line
@@ -1377,8 +1377,7 @@ void SWB_BWE_decoding_fx(
    Word16 *prev_weight,         /* i/o: excitation weight value of last frame */
    const Word16 extl,           /* i  : extension layer                       */
    Word16 Q_syn,
    const Word16 last_extl, /* i  : extension layer of last frame         */
    Word16 element_mode     /* i  : element mode                          */
    const Word16 last_extl       /* i  : extension layer of last frame         */
)
{
    Word16 n_freq, n_band, L, L_swb_norm;
@@ -1581,22 +1580,12 @@ void SWB_BWE_decoding_fx(
        exp = norm_s( SWB_FENV );
        tmp = div_s( shl( 1, sub( 14, exp ) ), SWB_FENV ); /*Q(29-exp) */
        L_tmp = Mult_32_16( L_energy, tmp );               /*Q(1+29-exp+1)->Q(15-exp) */
        IF( EQ_16( element_mode, EVS_MONO ) )
        {
#ifdef BASOP_NOGLOB
            Energy_16 = round_fx_sat( L_shl_sat( L_tmp, add( exp, 4 ) ) );
#else
            EnergyL_16 = round_fx( L_shl( L_tmp, add( exp, 4 ) ) );
#endif
        }
        ELSE
        {

#ifdef BASOP_NOGLOB
            EnergyL_16 = round_fx_sat( L_shl_sat( L_tmp, add( exp, 4 ) ) ); /* Q3 */
        Energy_16 = round_fx_sat(L_shl_sat(L_tmp, add(exp, 4))); /* Q3 */
#else
        Energy_16 = round_fx(L_shl(L_tmp, add(exp, 4)));  /*Q3 */
#endif
        }

        test();
        IF( NE_16( last_extl, SWB_BWE ) && NE_16( last_extl, FB_BWE ) )
+2 −2
Original line number Diff line number Diff line
@@ -473,11 +473,11 @@ Word16 swb_bwe_dec_fx32(

    IF( EQ_16( st_fx->L_frame, L_FRAME16k ) )
    {
        SWB_BWE_decoding_fx( ysynth_fx, SWB_fenv_fx, yerror_fx, L_FRAME32k - 80, mode, &frica_flag, &hBWE_FD->prev_Energy_fx, st_fx->prev_SWB_fenv_fx, &hBWE_FD->prev_L_swb_norm, st_fx->tilt_wb_fx, &hBWE_FD->Seed, 80, &hBWE_FD->prev_weight_fx, st_fx->extl, Q_syn, st_fx->last_extl, st_fx->element_mode );
        SWB_BWE_decoding_fx( ysynth_fx, SWB_fenv_fx, yerror_fx, L_FRAME32k - 80, mode, &frica_flag, &hBWE_FD->prev_Energy_fx, st_fx->prev_SWB_fenv_fx, &hBWE_FD->prev_L_swb_norm, st_fx->tilt_wb_fx, &hBWE_FD->Seed, 80, &hBWE_FD->prev_weight_fx, st_fx->extl, Q_syn, st_fx->last_extl);
    }
    ELSE
    {
        SWB_BWE_decoding_fx( ysynth_fx, SWB_fenv_fx, yerror_fx, L_FRAME32k - 80, mode, &frica_flag, &hBWE_FD->prev_Energy_fx, st_fx->prev_SWB_fenv_fx, &hBWE_FD->prev_L_swb_norm, st_fx->tilt_wb_fx, &hBWE_FD->Seed, 6, &hBWE_FD->prev_weight_fx, st_fx->extl, Q_syn, st_fx->last_extl, st_fx->element_mode );
        SWB_BWE_decoding_fx( ysynth_fx, SWB_fenv_fx, yerror_fx, L_FRAME32k - 80, mode, &frica_flag, &hBWE_FD->prev_Energy_fx, st_fx->prev_SWB_fenv_fx, &hBWE_FD->prev_L_swb_norm, st_fx->tilt_wb_fx, &hBWE_FD->Seed, 6, &hBWE_FD->prev_weight_fx, st_fx->extl, Q_syn, st_fx->last_extl);
    }

    test();