Commit 8d662279 authored by norvell's avatar norvell
Browse files

Add missing rescaling of mem_syn2_fx and mem_deemph_fx in case of HQ-ACELP switch

parent 2470528b
Loading
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -953,13 +953,14 @@ ivas_error acelp_core_dec_ivas_fx(
                /* Prepare ACB memory from last HQ frame */
                old_exc_s_fx = st->old_exc_fx + sub( L_EXC_MEM_DEC, st->L_frame );
                tmpF_fx = *old_exc_s_fx;
                st->mem_deemph_fx = old_exc_s_fx[sub( st->L_frame, 1 )];
                st->mem_deemph_fx = shl_sat( old_exc_s_fx[sub( st->L_frame, 1 )], st->Q_syn ); /* Q0 -> Q_syn */
                move16();
                PREEMPH_FX( old_exc_s_fx, st->preemph_fac, L_FRAME16k, &tmpF_fx );
                Copy( old_exc_s_fx + sub( st->L_frame, M ), st->mem_syn2_fx, M );
                Scale_sig( st->mem_syn2_fx, M, st->Q_syn ); /* Q0 -> Q_syn */
                Residu3_fx( Aq_fx, old_exc_s_fx, old_exc_fx + sub( L_EXC_MEM_DEC, st->L_frame ), st->L_frame, 0 );
#ifdef FIX_737_HQ_ACELP_SWITCH_SCALING_ERROR
                Scale_sig( old_exc_fx + sub( L_EXC_MEM_DEC, st->L_frame ), st->L_frame, st->Q_exc );
                Scale_sig( old_exc_fx + sub( L_EXC_MEM_DEC, st->L_frame ), st->L_frame, st->Q_exc ); /* Q0 -> Q_exc */
#endif
            }
            test();