Commit 2133f18c authored by multrus's avatar multrus
Browse files

Merge branch 'basop-2262-fd-cng-buffer-is-not-updated-test' into 'main'

[allow-regression] [non-BE] Replace 32bit buffer olapBufferSynth2_fx with 16bit buffer olapBufferSynth2

See merge request !2862
parents 3c06ba2a e7f69b1c
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -169,7 +169,9 @@ void initFdCngCom(
#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
    set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN );
#endif
#ifndef FIX_BASOP_REMOVE_SYNTH2_FX
    set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN );
#endif
    set32_fx( hFdCngCom->exc_cng_32fx, 0, L_FRAME16k );
    set16_fx( hFdCngCom->exc_cng, 0, L_FRAME16k );

+1 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@
#define FIX_2436_CLDFBANAHANDLE_ADRESS                  /* FhG: cldfb handle pointer were handed over in faulty manner*/
#define FIX_BASOP_2436_REUSED_CLDFB_IN_OMASA_SR         /* FhG: basop issue 2436 (related to basop 2283): fix garbage output for >1 object OMASA with extrend as ISAR prerenderer */
#define FIX_BASOP_2472_IGF_SP_AUD_DEC_CHAN              /* FhG: always use channel 1 for sp_aud_decision0[] being passed to ProcessIGF_ivas_fx() */
#define FIX_BASOP_REMOVE_SYNTH2_FX                      /* FhG: Replace 32bit olapBufferSynth2_fx with 16bit olapBufferSynth2 buffer */

/* ##################### End NON-BE switches ########################### */

+11 −3
Original line number Diff line number Diff line
@@ -7257,11 +7257,19 @@ ivas_error core_switching_pre_dec_fx(
    const Word16 nchan_out,           /* i  : number of output channels    */
    const Word16 last_element_mode,   /* i  : last_element_mode            */
    const Word32 last_element_brate,  /* i  : last element bitrate         */
#if defined( FIX_BASOP_REMOVE_SYNTH2_FX ) && defined( FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING )
    const Word16 Q_old_synthFB );
#elif defined( FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING )
    const Word16 Q_old_synthFB,
    Word16 *Q_olapBufferSynth2 );
#elif defined( FIX_BASOP_REMOVE_SYNTH2_FX )
        const Word16 Q_old_synthFB,
        Word16 *Q_olapBufferSynth );
#else
        const Word16 Q_old_synthFB,
#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
        Word16 *Q_olapBufferSynth,
#endif
        Word16 *Q_olapBufferSynth2 );
#endif

ivas_error core_switching_post_dec_fx(
    Decoder_State *st_fx,               /* i/o: decoder state structure                                                           */
+3 −1
Original line number Diff line number Diff line
@@ -370,7 +370,9 @@ typedef struct
#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
    Word32 olapBufferSynth_fx[FFTLEN]; /*Q_olapBufferSynth*/
#endif
    Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/
#ifndef FIX_BASOP_REMOVE_SYNTH2_FX
    Word32 olapBufferSynth2_fx[FFTLEN];
#endif

    const Word32 *olapWinAna_fx; /* Q30 */
    const Word16 *olapWinSyn_fx; /* Q15 */
+7 −1
Original line number Diff line number Diff line
@@ -1645,7 +1645,9 @@ ivas_error acelp_core_dec_fx(
                                IF( NE_16( st->element_mode, last_element_mode ) )
                                {
                                    set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen );
#ifndef FIX_BASOP_REMOVE_SYNTH2_FX
                                    set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen );
#endif
                                }

                                Word32 psyn_32_fx[L_FRAME16k];
@@ -1653,7 +1655,9 @@ ivas_error acelp_core_dec_fx(
                                generate_masking_noise_ivas_fx( psyn_32_fx, &exp, st->hFdCngDec->hFdCngCom, st->hFdCngDec->hFdCngCom->frameSize, 0, 0, 0, st->element_mode, hStereoCng, nchan_out );

                                Copy_Scale_sig_32_16( psyn_32_fx, psyn_fx, st->hFdCngDec->hFdCngCom->frameSize, sub( st->Q_syn, exp ) ); // Q = st->Q_syn
#ifndef FIX_BASOP_REMOVE_SYNTH2_FX
                                Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0
#endif
                            }
                        }
                    }
@@ -1741,7 +1745,9 @@ ivas_error acelp_core_dec_fx(
                IF( st->idchan == 0 )
                {
                    set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen );
#ifndef FIX_BASOP_REMOVE_SYNTH2_FX
                    set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen );
#endif
                }
                IF( hStereoCng != NULL && ( st->idchan == 0 ) )
                {
Loading