Commit 4c6ad296 authored by multrus's avatar multrus
Browse files

disable updating of olapBufferSynth_fx[] (32 bit), use olapBufferSynth[] (16...

disable updating of olapBufferSynth_fx[] (32 bit), use olapBufferSynth[] (16 bit) instead; the 32 bit buffer is updated instead of the 16 bit buffer, but then actually never used; should affect br switching only
parent fe037d37
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -166,7 +166,9 @@ void initFdCngCom(

    set16_fx( hFdCngCom->coherence_fx, 16384 /* 0.5 in Q15 */, MDCT_ST_DTX_NUM_COHERENCE_BANDS );

#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
    set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN );
#endif
    set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN );
    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
@@ -113,6 +113,7 @@
#define FIX_1530_Codec_Level_Harmonization_Non_diegetic_panning /* FhG: Adjust non-diegetic panning law to harmonize codec levels with 3GPP reference software */
#define FIX_FLOAT_1518                                  /* FhG: fix issue 1518: loudness differences in OSBA decoding to mono or stereo output */
#define FIX_FLOAT_1533_BLEND_SUBFR2                     /* FhG: float issue 1533: correct blending in blend_subfr2() */
#define FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING      /* FhG: basop issue 2262: correct buffer update for FD-CNG buffer in case of BR switching */

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

+2 −0
Original line number Diff line number Diff line
@@ -367,7 +367,9 @@ typedef struct
    Word16 fftlenFac;    // Q0

    Word16 timeDomainBuffer[L_FRAME16k]; /*Q15*/
#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
    Word32 olapBufferSynth_fx[FFTLEN];   /*Q_olapBufferSynth*/
#endif
    Word32 olapBufferSynth2_fx[FFTLEN];  /*Q_olapBufferSynth2*/

    const Word32 *olapWinAna_fx; /* Q30 */
+4 −0
Original line number Diff line number Diff line
@@ -1919,8 +1919,10 @@ ivas_error core_switching_pre_dec_fx(
                lerp( st->hFdCngDec->hFdCngCom->olapBufferAna_fx + st->last_L_frame, st->hFdCngDec->hFdCngCom->olapBufferAna_fx + st->L_frame, st->L_frame, st->last_L_frame );
            }

#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
            IF( EQ_16( st->element_mode, EVS_MONO ) )
            {
#endif
                lerp( st->hFdCngDec->hFdCngCom->olapBufferSynth2, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->L_frame, 1 ), shl( st->last_L_frame, 1 ) );
                test();
                IF( LE_32( st->total_brate, SID_2k40 ) && LE_32( st->last_total_brate, SID_2k40 ) )
@@ -1944,6 +1946,7 @@ ivas_error core_switching_pre_dec_fx(
                        }
                    }
                }
#ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING
            }
            ELSE
            {
@@ -1972,6 +1975,7 @@ ivas_error core_switching_pre_dec_fx(
                    }
                }
            }
#endif
        }
    }