Commit 6713d9ed authored by Manuel Jander's avatar Manuel Jander
Browse files

Remove unnecessary rescaling of output_mem_dmx_16k_fx and output_mem_dmx_fx....

Remove unnecessary rescaling of output_mem_dmx_16k_fx and output_mem_dmx_fx. Initialize output_mem_dmx_32k_q (was missing). Make some asserts of q_inp32/q_old_inp32 more accurate.
parent 6fa01c53
Loading
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -669,8 +669,8 @@ void stereo_switching_enc_fx(
    IF( EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) )
    {
#ifdef NONBE_FIX_ISSUE_2206
        assert( sts[0]->q_inp32 == sts[1]->q_inp32 );
        assert( sts[0]->q_old_inp32 == sts[1]->q_old_inp32 );
        assert( sts[0]->q_inp32 == sts[1]->q_old_inp32 );
        assert( sts[1]->q_inp32 == sts[1]->q_old_inp32 );
#endif
        Copy32( sts[0]->input32_fx + sub( extract_l( Mpy_32_32( sts[0]->input_Fs, 42949673 /* 1/50 in Q31*/ ) ), sts[0]->encoderLookahead_FB ), sts[1]->input32_fx - shl( sts[0]->encoderLookahead_FB, 1 ), sts[0]->encoderLookahead_FB ); /* sts[0]->q_inp32 */

@@ -698,7 +698,10 @@ void stereo_switching_enc_fx(
#endif
        /* reset 48kHz BWE overlap memory */
        set32_fx( hCPE->hStereoDft->output_mem_dmx_32k_fx, 0, STEREO_DFT_OVL_32k );

#ifdef NONBE_FIX_ISSUE_2206
        hCPE->hStereoDft->output_mem_dmx_32k_q = Q31;
        move16();
#endif
        stereo_dft_enc_reset_fx( hCPE->hStereoDft );

        /* update ITD parameters */
@@ -750,11 +753,7 @@ void stereo_switching_enc_fx(
        /* update DFT synthesis overlap memory @16kHz, primary channel only */
        L_lerp_fx( hCPE->hStereoDft->output_mem_dmx_fx, hCPE->hStereoDft->output_mem_dmx_16k_fx, STEREO_DFT_OVL_16k, dft_ovl, &q_dmx );
#ifdef NONBE_FIX_ISSUE_2206
        scale_sig32( hCPE->hStereoDft->output_mem_dmx_16k_fx, STEREO_DFT_OVL_16k, sub( q_inp, q_dmx ) ); //  hCPE->hStereoDft->output_mem_dmx_16k_q
        hCPE->hStereoDft->output_mem_dmx_16k_q = q_inp;
        move16();
        scale_sig32( hCPE->hStereoDft->output_mem_dmx_fx, STEREO_DFT_OVL_MAX, sub( q_inp, hCPE->hStereoDft->output_mem_dmx_q ) ); // hCPE->hStereoDft->output_mem_dmx_q
        hCPE->hStereoDft->output_mem_dmx_q = q_inp;
        hCPE->hStereoDft->output_mem_dmx_16k_q = q_dmx;
        move16();
#else
        FOR( i = 0; i < STEREO_DFT_OVL_16k; i++ )