Commit 98ed0b6d authored by multrus's avatar multrus
Browse files

Merge branch 'main' into basop-2446-harmonize-functions-con_tcx_fx-and-con_tcx_ivas_fx

parents 5cc822f3 2133f18c
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 );

+7 −0
Original line number Diff line number Diff line
@@ -94,6 +94,9 @@
#define HQ_ALIGN_DUPLICATED_CODE                        /* Eri: Align duplicated code */
#define FIX_2467_RENAME_GSC_FUNCTION                    /* VA: basop issue 2467: Removal of unused function/table and renaming of _ivas_fx versions to default ones. */
#define HARMONIZE_FUNC                                  /* VA: basop issue 2460: Remove duplicated code: various functions */
#define FIX_FLOAT_1536_INIT_NO_PARAM_LPC                /* FhG: make sure no_param_lpc is initialized in core_encode_twodiv() */
#define FIX_BASOP_2871_INIT_Q_SYN_FACTOR                /* FhG: make sure, st_fx->Q_syn_factor gets initialized during decoder startup */
#define FIX_BASOP_2470_POWER_SPEC_E_INIT                /* FhG: make sure powerSpec_e is always initialized in core_signal_analysis_high_bitrate_fx() */

#define HARMONIZE_2446_CON_TCX_FX                       /* FhG: basop issue: 2446 harmonization of function con_tcx_fx() */
/* #################### End BE switches ################################## */
@@ -107,6 +110,10 @@
#define FIX_2440_AGC_PRESCALING                         /* FhG: basop issue 2440: Fix loop bounds when scaling p_output_fx before ivas_spar_dec_agc_pca_fx() */
#define FIX_2471_REMOVE_POSSIBLE_OVRF                   /* VA: basop issue 2471: correcting undesired overflow */
#define FIX_2465_Q_BWE_EXC                              /* VA: basop issue 2465: fix calculation of Q_bwe_exc in SWB TBE encoder */
#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