Commit cd4b706e authored by sagnowski's avatar sagnowski
Browse files

Merge branch 'main' into float-1529-validate-quaternions-at-api-boundary

parents e2e9a459 addf7742
Loading
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -292,14 +292,27 @@ void scale_st(
void blend_subfr2(
    float *sigIn1,
    float *sigIn2,
#ifdef FIX_FLOAT_1533_BLEND_SUBFR2
    int16_t L_subfr,
#endif
    float *sigOut )
{
#ifdef FIX_FLOAT_1533_BLEND_SUBFR2
    float fac1 = 1.f - ( 1.f / L_subfr );
    float fac2 = 0.f + ( 1.f / L_subfr );
    float step = 1.f / ( L_subfr / 2 );
#else
    float fac1 = 1.f - ( 1.f / L_SUBFR );
    float fac2 = 0.f + ( 1.f / L_SUBFR );
    float step = 1.f / ( L_SUBFR / 2 );
#endif
    int16_t i;

#ifdef FIX_FLOAT_1533_BLEND_SUBFR2
    for ( i = 0; i < L_subfr / 2; i++ )
#else
    for ( i = 0; i < L_SUBFR / 2; i++ )
#endif
    {
        sigOut[i] = fac1 * sigIn1[i] + fac2 * sigIn2[i];
        fac1 -= step;
+2 −0
Original line number Diff line number Diff line
@@ -173,6 +173,8 @@
#define FIX_FLOAT_1493_MASA_ENCODE_STABILITY_IMPROVE    /* Nokia: float issue 1493: Improves float decision stability in MASA encoding by adjusting reduction code */

#define FIX_2432_ISM_SPIKES_16KHZ                       /* VA: basop issue 2432: fix spikes in ISM decoding at 16kHz output sampling rate */
#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() */

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

+4 −1
Original line number Diff line number Diff line
@@ -10045,6 +10045,9 @@ int16_t tbe_celp_exc_offset(
void blend_subfr2(
    float *sigIn1, /* i  : input signal for fade-out */
    float *sigIn2, /* i  : input signal for fade-in  */
#ifdef FIX_FLOAT_1533_BLEND_SUBFR2
    int16_t L_subfr, /* i  : subframe length           */
#endif
    float *sigOut /* o  : output signal             */
);

+4 −0
Original line number Diff line number Diff line
@@ -1091,7 +1091,11 @@ ivas_error acelp_core_dec(
            syn_filt( Aq, M, temp_buf + M + L_SUBFR, temp_buf, L_SUBFR, st->hPFstat->mem_stp + L_SYN_MEM - M, 0 );
            scale_st( syn, temp_buf, &st->hPFstat->gain_prec, L_SUBFR, -1 );
            mvr2r( temp_buf, syn, L_SUBFR / 2 );
#ifdef FIX_FLOAT_1533_BLEND_SUBFR2
            blend_subfr2( temp_buf + L_SUBFR / 2, syn + L_SUBFR / 2, L_SUBFR, syn + L_SUBFR / 2 );
#else
            blend_subfr2( temp_buf + L_SUBFR / 2, syn + L_SUBFR / 2, syn + L_SUBFR / 2 );
#endif
        }
        st->hPFstat->on = 0;
    }
+4 −0
Original line number Diff line number Diff line
@@ -201,7 +201,11 @@ ivas_error acelp_core_switch_dec(
            syn_filt( Aq, M, old_exc, bpf_error_signal, L_SUBFR, st->hPFstat->mem_stp + L_SYN_MEM - M, 0 );
            scale_st( synth_intFreq, bpf_error_signal, &st->hPFstat->gain_prec, L_SUBFR, -1 );
            mvr2r( bpf_error_signal, synth_intFreq, L_SUBFR / 2 );
#ifdef FIX_FLOAT_1533_BLEND_SUBFR2
            blend_subfr2( bpf_error_signal + L_SUBFR / 2, synth_intFreq + L_SUBFR / 2, L_SUBFR, synth_intFreq + L_SUBFR / 2 );
#else
            blend_subfr2( bpf_error_signal + L_SUBFR / 2, synth_intFreq + L_SUBFR / 2, synth_intFreq + L_SUBFR / 2 );
#endif
        }
        st->hPFstat->on = 0;

Loading