Commit eaafacd5 authored by vaillancour's avatar vaillancour
Browse files

addition of REUSE_EVS_GAUSS_L2, which reuses EVS code and possibly fixes aa...

addition of REUSE_EVS_GAUSS_L2, which reuses EVS code and possibly fixes aa wrong scaling in unvoiced coding
parent 5842ab2c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@


#define REUSE_EVS_ACELP_corr_xh_fx    // this one could be non-bit-exact on very low level signal, as summation is initialized with 1 instead of 0

#define REUSE_EVS_GAUSS_L2  // The gain is computed slightly differently, gauss_L2_ivas_fx was actually not using the right scaling. not BE 

#endif
#define FIX_ISSUE_1817_REPLACE_CARRY_OVERFLOW  /* FhG: bit-exact, replace carry and overflow operations by 64-bit operations, MR 1931 */
+2 −1
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ void gauss_L2_fx(
    move16();
    move16();
}

#ifndef REUSE_EVS_GAUSS_L2
void gauss_L2_ivas_fx(
    const Word16 h[],             /* i  : weighted LP filter impulse response   Q14+s */
    Word16 code[],                /* o  : gaussian excitation                     Q9  */
@@ -157,3 +157,4 @@ void gauss_L2_ivas_fx(
    move16();
    move16();
}
#endif
 No newline at end of file
+4 −1
Original line number Diff line number Diff line
@@ -379,8 +379,11 @@ void encod_unvoiced_ivas_fx(
            move16();

            assert( gain_pit_fx == 0 );
#ifdef REUSE_EVS_GAUSS_L2
            gauss_L2_fx( h1_fx, code2, y2_fx, y22, &gain_code2, &g_corr, gain_pit_fx, hLPDmem->tilt_code, p_Aq_fx, acelp_cfg->formant_enh_num, &( st_fx->seed_acelp ), shift );
#else
            gauss_L2_ivas_fx( h1_fx, code2, y2_fx, y22, &gain_code2, &g_corr, gain_pit_fx, hLPDmem->tilt_code, p_Aq_fx, acelp_cfg->formant_enh_num, &( st_fx->seed_acelp ), shift );

#endif
            /*----------------------------------------------------------*
             *  - Compute the fixed codebook gain                       *
             *  - quantize fixed codebook gain                          *
+2 −2
Original line number Diff line number Diff line
@@ -2384,7 +2384,7 @@ void gauss_L2_fx(
    const Word16 formant_enh, /* i  : formant enhancement factor              Q15 */
    Word16 *seed_acelp,       /*i/o : random seed                             Q0  */
    const Word16 shift );

#ifndef REUSE_EVS_GAUSS_L2
void gauss_L2_ivas_fx(
    const Word16 h[],         /* i  : weighted LP filter impulse response   Q14+s */
    Word16 code2[],           /* o  : gaussian excitation                     Q9  */
@@ -2398,7 +2398,7 @@ void gauss_L2_ivas_fx(
    const Word16 formant_enh, /* i  : formant enhancement factor              Q15 */
    Word16 *seed_acelp,       /*i/o : random seed                             Q0  */
    const Word16 shift );

#endif
Word32 SFM_Cal_fx( Word32 magn[], Word16 n );

/* Returns: PeriodicityIndex */