Commit 2cf9027d authored by multrus's avatar multrus
Browse files

Merge branch...

Merge branch '2206-assert-in-stereo_switching_enc_fx-for-omasa-rate-switching-input-new-stv-saturate_alternative' into 'main'

Resolve "Assert in stereo_switching_enc_fx for OMASA rate switching input (new STV)"

Closes #2206

See merge request !2562
parents 597dfdcd 11527d44
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -108,6 +108,9 @@
#define FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC         /* FhG: Adjust Q_real to prevent overflow in st->cldfbSyn->cldfb_state_fx scaling */
#define FIX_2211_ASSERT_IN_REND_CREND_CONVOLER               /* FhG: Add headroom to p_output_fx to prevent overflow in ivas_rend_crendProcessSubframe_fx() */

#define NONBE_FIX_2205_SATURATE_ALTERNATIVE
#define NONBE_FIX_2206_SATURATE_ALTERNATIVE

/* ################### End FIXES switches ########################### */

/* #################### Start BASOP porting switches ############################ */
+5 −1
Original line number Diff line number Diff line
@@ -826,9 +826,13 @@ ivas_error ivas_cpe_enc_fx(
        move16();

        stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL );

#ifdef NONBE_FIX_2205_SATURATE_ALTERNATIVE
        Scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer
        Scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) );       // scaling initial part of the input buffer
#else
        scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer
        scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) );       // scaling initial part of the input buffer
#endif
        sts[0]->q_inp32 = Q15;
        sts[0]->q_old_inp32 = Q15;
        move16();
+4 −0
Original line number Diff line number Diff line
@@ -682,7 +682,11 @@ void stereo_switching_enc_fx(
        /* window DFT synthesis overlap memory @input_Fs, primary channel */
        FOR( i = 0; i < dft_ovl; i++ )
        {
#ifdef NONBE_FIX_2206_SATURATE_ALTERNATIVE
            hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl_sat( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15
#else
            hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15
#endif
            move32();
        }
        /* reset 48kHz BWE overlap memory */