Commit 8ea8c04b authored by vasilache's avatar vasilache
Browse files

Merge branch 'main' into 819-fix-masa2total-threshold-precision

parents e334b2d9 798b61c5
Loading
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1708,6 +1708,19 @@ void synchro_synthesis_fx(

// ivas_dirac_output_synthesis_cov
void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx(
#ifdef FIX_835_PARAMMC_BUFFER_VALUES
    Word32 *RealBuffer_fx,                                                          /* i  : input channel filter bank samples (real part)         */
    Word16 RealBuffer_e,                                                            /* i  : exponent input channel filter bank samples (real part)*/
    Word32 *ImagBuffer_fx,                                                          /* i  : input channel filter bank samples (imaginary part     */
    Word16 ImagBuffer_e,                                                            /* i  : exponent input channel filter bank samples (real part)*/
    Word32 cx_fx[PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS],      /* o  : accumulated input covariance (real part)              */
    Word16 *cx_e,                                                                   /* i  : exponent for accumulated input covariance (real part) */
    Word32 cx_imag_fx[PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], /* o  : accumulated input covariance (imaginary part)         */
    Word16 *cx_imag_e,                                                              /* i : exponent accumulated input covariance (imag part)      */
    PARAM_MC_DEC_HANDLE hParamMC,                                                   /* i  : handle to Parametric MC state                         */
    const Word16 param_band,                                                        /* i  : parameter band                                        */
    const Word16 nchan_in                                                           /* i  : number of input channels                              */
#else
    Word32 *RealBuffer_fx,                                                                                        /* i  : input channel filter bank samples (real part)         */
    Word16 RealBuffer_e,                                                                                          /* i  : exponent input channel filter bank samples (real part)*/
    Word32 *ImagBuffer_fx,                                                                                        /* i  : input channel filter bank samples (imaginary part     */
@@ -1718,6 +1731,7 @@ void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx(
    Word16 *cx_imag_e,                                                                                            /* i : exponent accumulated input covariance (imag part)      */
    PARAM_MC_DEC_HANDLE hParamMC,                                                                                 /* i  : handle to Parametric MC state                         */
    const Word16 nchan_in                                                                                         /* i  : number of input channels                              */
#endif
);

void configureFdCngDec_ivas_fx(
+1 −1
Original line number Diff line number Diff line
@@ -3531,7 +3531,7 @@ void ivas_get_spar_md_from_dirac_fx(
            /*SPAR from DirAC*/
            set32_fx( response_avg_fx, 0, MAX_OUTPUT_CHANNELS );

            IF( GE_16( n_ts, 1 ) )
            IF( GT_16( n_ts, 1 ) )
            {
                ivas_dirac_dec_get_response_fx( extract_l( L_shr( azi_dirac_fx[band][i_ts], Q22 ) ), extract_l( L_shr( ele_dirac_fx[band][i_ts], Q22 ) ), response_avg_fx, order, Q30 );
            }
+2 −0
Original line number Diff line number Diff line
@@ -169,6 +169,8 @@


#define FIX_854_HILBERT_SCALING                 /* VA: reduce lost of precision due to unnecessary scaling, reduce a lot the 2 kHz tone */
#define FIX_856_EXTRACT_L                       /* VA: Fix undesirable wrap-around */
#define FIX_835_PARAMMC_BUFFER_VALUES                   /* FhG: issue 835: wide range of buffer values for cx in ParamMC */
/* ################## End DEVELOPMENT switches ######################### */

/* clang-format on */
+15 −0
Original line number Diff line number Diff line
@@ -6416,6 +6416,21 @@ void gain_dec_lbr_fx(
    const Word16 L_subfr /* i  : subfr lenght                                                    */
);

void gain_dec_lbr_ivas_fx(
    Decoder_State *st_fx,      /* i/o: decoder state structure                                         */
    const Word16 coder_type,   /* i  : coding type                                                     */
    const Word16 i_subfr,      /* i  : subframe index                                                  */
    const Word16 *code_fx,     /* i  : algebraic excitation                                         Q9 */
    Word16 *gain_pit_fx,       /* o  : quantized pitch gain                                         Q14*/
    Word32 *gain_code_fx,      /* o  : quantized codebook gain                                      Q16*/
    Word16 *gain_inov_fx,      /* o  : gain of the innovation (used for normalization)              Q12*/
    Word32 *norm_gain_code_fx, /* o  : norm. gain of the codebook excitation                        Q16*/
    Word32 gc_mem[],           /* i/o: gain_code from previous subframes                               */
    Word16 gp_mem[]            /* i/o: gain_pitch from previous subframes                              */
    ,
    const Word16 L_subfr /* i  : subfr lenght                                                    */
);

void lp_gain_updt_fx(
    const Word16 i_subfr,        /* i  :  subframe number      Q0    */
    const Word16 gain_pit,       /* i  : Decoded gain pitch    Q14   */
+132 −0
Original line number Diff line number Diff line
@@ -5511,6 +5511,138 @@ const float gp_gamma_4sfr_7b[2 * 128] =
    1.20145f, 1.11183f,
};
const Word16 gp_gamma_4sfr_7b_fx[2 * 128] = /*Q14/Q9 */
{
    101, 174,
    228, 542,
    400, 269,
    735, 418,
    799, 111,
    1146, 802,
    1250, 345,
    1291, 1138,
    1327, 224,
    1478, 1705,
    1557, 491,
    1947, 295,
    1988, 639,
    2343, 386,
    2386, 213,
    2541, 133,
    2904, 2881,
    3198, 455,
    3204, 736,
    3219, 276,
    3463, 549,
    3709, 343,
    3741, 177,
    4431, 226,
    4480, 927,
    4516, 396,
    4547, 622,
    4900, 290,
    5011, 503,
    5601, 742,
    5616, 173,
    5688, 428,
    5975, 337,
    6196, 5865,
    6293, 253,
    6294, 580,
    6305, 1053,
    6792, 480,
    6951, 391,
    7151, 212,
    7298, 671,
    7475, 317,
    7757, 534,
    7917, 856,
    8195, 1449,
    8198, 437,
    8228, 261,
    8434, 154,
    8493, 622,
    8552, 358,
    9324, 493,
    9373, 744,
    9391, 217,
    9410, 296,
    9711, 14146,
    9711, 405,
    9724, 598,
    10128, 1140,
    10248, 8800,
    10391, 344,
    10530, 883,
    10541, 542,
    10559, 257,
    10772, 441,
    11075, 664,
    11463, 304,
    11510, 196,
    11551, 2230,
    11574, 501,
    11611, 391,
    12154, 784,
    12205, 576,
    12304, 133,
    12413, 343,
    12457, 84,
    12468, 445,
    12734, 247,
    12970, 639,
    13072, 1411,
    13142, 983,
    13159, 499,
    13356, 386,
    13460, 298,
    13838, 710,
    13850, 550,
    13930, 429,
    14446, 343,
    14449, 170,
    14511, 467,
    14530, 857,
    14697, 623,
    14770, 4569,
    14833, 229,
    15086, 512,
    15112, 387,
    15527, 574,
    15552, 1126,
    15573, 764,
    15662, 291,
    15677, 442,
    16056, 648,
    16200, 508,
    16322, 369,
    16719, 586,
    16832, 936,
    16835, 450,
    16969, 702,
    17188, 315,
    17425, 538,
    17680, 395,
    17808, 209,
    17855, 791,
    18054, 1861,
    18122, 471,
    18273, 632,
    18425, 3478,
    18630, 1239,
    18947, 143,
    18948, 2576,
    19051, 264,
    19068, 349,
    19112, 502,
    19303, 1530,
    19502, 836,
    19558, 422,
    19571, 692,
    19667, 1014,
    19685, 569
};
const Word16 gp_gamma_1sfr_8b_fx[2 * 256] = /*Q14/Q9 */
{
    305,	       152,
Loading