Commit 5d2f008f authored by vaclav's avatar vaclav
Browse files

revision of the use of delay_signal()

parent dbfcefc0
Loading
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -6603,12 +6603,7 @@ void hf_synth_fx(
    Word16 *synth,                 /* i  : 12.8kHz synthesis signal		 Q_syn2*/
    Word16 *synth16k,              /* o  : 16kHz synthesis signal        Q_syn2*/
    const Word16 Q_exc,            /* i  : excitation scaling             */
    const Word16 Q_syn2,           /* i  : synthesis scaling              */
    Word16 *delay_syn_hf,          /*i/o: HF synthesis memory            Q_syn2*/
    Word16 *memExp1,               /* o  : HF excitation exponent         */
    Word16 *mem_hp_interp,         /* i/o: interpol. memory               Qx*/
    const Word16 extl,             /* i  : flag indicating BWE            Q0*/
    const Word16 CNG_mode          /* i  : CNG_mode                       Q0*/
    const Word16 Q_syn2            /* i  : synthesis scaling              */
);
void hf_synth_amr_wb_init_fx(
@@ -9580,13 +9575,6 @@ void set32_fx(
    const Word16 N  /* i  : Lenght of the vector                */
);
void delay_signal_fx(
    Word32 x[],        /* i/o: signal to be delayed              */
    const Word16 len,  /* i  : length of the input signal        */
    Word32 mem[],      /* i/o: synchronization memory            */
    const Word16 delay /* i  : delay in samples                  */
);
void delay_signal_q_adj_fx(
    Word32 x[],         /* i/o: signal to be delayed                    */
    const Word16 len,   /* i  : length of the input signal              */
@@ -10502,7 +10490,7 @@ void floating_point_add(
    const Word32 my, /* i:  mantissa of the adder Q31  */
    const Word16 ey  /* i:  exponent of the adder Q0   */
);
/*delay_signal_fx is also present*/
void delay_signal(
    Word16 x[],        /* i/o: signal to be delayed              */
    const Word16 len,  /* i  : length of the input signal        */
+1 −18
Original line number Diff line number Diff line
@@ -4028,23 +4028,6 @@ void delay_signal(
    return;
}

void delay_signal_fx(
    Word32 x[],        /* i/o: signal to be delayed              */
    const Word16 len,  /* i  : length of the input signal        */
    Word32 mem[],      /* i/o: synchronization memory            */
    const Word16 delay /* i  : delay in samples                  */
)
{

    Word32 tmp_buffer[L_FRAME48k];

    Copy32( mem, tmp_buffer, delay );
    Copy32( x + sub( len, delay ), mem, delay );
    Copy32( x, x + delay, sub( len, delay ) );
    Copy32( tmp_buffer, x, delay );

    return;
}
void delay_signal_q_adj_fx(
    Word32 x[],         /* i/o: signal to be delayed                    */
    const Word16 len,   /* i  : length of the input signal              */
@@ -4138,7 +4121,7 @@ void v_shr_16(
}

/*-------------------------------------------------------------------*
 * delay_signal()
 * delay_signal32()
 *
 * Delay buffer by defined number of samples
 *-------------------------------------------------------------------*/
+1 −2
Original line number Diff line number Diff line
@@ -1472,8 +1472,7 @@ ivas_error acelp_core_dec_fx(
        IF( ( EQ_16( st_fx->L_frame, L_FRAME ) && NE_16( st_fx->bwidth, NB ) && GE_16( output_frame, L_FRAME16k ) &&
              ( EQ_16( st_fx->extl, -1 ) || EQ_16( st_fx->extl, SWB_CNG ) || ( EQ_16( st_fx->extl, WB_BWE ) && st_fx->extl_brate == 0 && NE_16( st_fx->coder_type, AUDIO ) ) ) ) )
        {
            hf_synth_fx( st_fx->hBWE_zero, st_fx->core_brate, output_frame, Aq_fx, exc2_fx, syn_fx, synth_out, st_fx->Q_exc,
                         st_fx->Q_syn2, st_fx->hBWE_zero->delay_syn_hf_fx, &st_fx->hBWE_zero->memExp1, st_fx->hBWE_zero->mem_hp_interp_fx, st_fx->extl, st_fx->CNG_mode );
            hf_synth_fx( st_fx->hBWE_zero, st_fx->core_brate, output_frame, Aq_fx, exc2_fx, syn_fx, synth_out, st_fx->Q_exc, st_fx->Q_syn2 );
        }
        ELSE
        {
+1 −3
Original line number Diff line number Diff line
@@ -2163,9 +2163,7 @@ ivas_error acelp_core_dec_ivas_fx(
#else
            Copy_Scale_sig_32_16( synth_fx, synth_fx16, L_FRAME48k, 0 );
#endif
            hf_synth_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx,
                         psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2, st->hBWE_zero->delay_syn_hf_fx, &st->hBWE_zero->memExp1,
                         st->hBWE_zero->mem_hp_interp_fx, st->extl, st->CNG_mode );
            hf_synth_fx( st->hBWE_zero, st->core_brate, output_frame, Aq_fx, exc2_fx, psyn_fx, synth_fx16, st->Q_exc, st->Q_syn2 );
#ifdef MSAN_FIX
            Copy_Scale_sig_16_32_DEPREC( synth_fx16, synth_fx, output_frame, 0 );
#else
+2 −11
Original line number Diff line number Diff line
@@ -978,10 +978,7 @@ ivas_error core_switching_post_dec_fx(
        Scale_sig( st_fx->delay_buf_out_fx, delay_comp, sub( Qtmp, hHQ_core->Q_old_postdec ) ); /* Qtmp */
        hHQ_core->Q_old_postdec = Qtmp;
        move16();

        Copy( synth, &synth[delay_comp], output_frame );                   /* Qsynth */
        Copy( st_fx->delay_buf_out_fx, synth, delay_comp );                /* Q0 */
        Copy( &synth[output_frame], st_fx->delay_buf_out_fx, delay_comp ); /* Qsynth */
        delay_signal( synth, output_frame, st_fx->delay_buf_out_fx, delay_comp ); /* Qsynth, Q0 */

        test();
        test();
@@ -1410,13 +1407,7 @@ ivas_error core_switching_post_dec_ivas_fx(
            Scale_sig( st_fx->delay_buf_out_fx, delay_comp, sub( Qtmp, hHQ_core->Q_old_postdec ) ); /* Qtmp */
            hHQ_core->Q_old_postdec = Qtmp;
            move16();
            Word16 temp_buffer[L_FRAME48k];

            Copy( st_fx->delay_buf_out_fx, temp_buffer, delay_comp );                             /* Q0 */
            Copy( synth + sub( output_frame, delay_comp ), st_fx->delay_buf_out_fx, delay_comp ); /* Qsynth */
            move16();
            Copy( synth, synth + delay_comp, sub( output_frame, delay_comp ) ); /* Qsynth */
            Copy( temp_buffer, synth, delay_comp );                             /* Q0 */
            delay_signal( synth, output_frame, st_fx->delay_buf_out_fx, delay_comp ); /* Qsynth, Q0 */

            test();
            test();
Loading