Commit f7a39076 authored by Arthur Tritthart's avatar Arthur Tritthart
Browse files

Merge remote-tracking branch 'origin/main' into...

Merge remote-tracking branch 'origin/main' into 1009-complexity-high-complexity-overhead-for-paramism-decoding-to-binaural
parents 602bf646 9cb31d7d
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -654,7 +654,7 @@ build-codec-linux-make:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web'
    - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' # trigger build job for all MRs
    - if: $CI_PIPELINE_SOURCE == 'schedule'
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
+36 −25
Original line number Diff line number Diff line
@@ -1829,54 +1829,43 @@ ivas_error openCldfb_ivas(
ivas_error openCldfb_ivas_enc(
    HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle                */
    CLDFB_TYPE type,                   /* i  : analysis or synthesis             */
    const int32_t sampling_rate,       /* i  : sampling rate                     */
    const Word32 sampling_rate,        /* i  : sampling rate                     */
    CLDFB_PROTOTYPE prototype          /* i  : CLDFB version (1.25ms/5ms delay)  */
)
{
    HANDLE_CLDFB_FILTER_BANK hs;
    int16_t buf_len;
    Word16 buf_len;

    if ( ( hs = (HANDLE_CLDFB_FILTER_BANK) malloc( sizeof( CLDFB_FILTER_BANK ) ) ) == NULL )
    IF( ( hs = (HANDLE_CLDFB_FILTER_BANK) malloc( sizeof( CLDFB_FILTER_BANK ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" );
    }

    hs->type = type;
    move32();
    hs->prototype = prototype;
    move32();

#ifndef IVAS_FLOAT_FIXED
    configureCldfb_ivas_enc( hs, sampling_rate );
    hs->memory_flt = NULL;
#else
    configureCldfb_ivas_enc_fx( hs, sampling_rate );
#endif
    hs->memory_length = 0;
    move32();

    if ( type == CLDFB_ANALYSIS )
    IF( type == CLDFB_ANALYSIS )
    {
        buf_len = hs->p_filter_length - hs->no_channels;
#ifdef IVAS_FLOAT_FIXED
        buf_len = sub( hs->p_filter_length, hs->no_channels );
        hs->FilterStates = (Word16 *) malloc( ( 9 + 16 ) * CLDFB_getNumChannels( sampling_rate ) * sizeof( Word16 ) );
        hs->FilterStates_eg = 0;
#endif
        move16();
    }
    else
    ELSE
    {
        buf_len = hs->p_filter_length;
#ifdef IVAS_FLOAT_FIXED
        move16();
        hs->FilterStates = (Word16 *) malloc( 2 * ( 9 + 16 ) * CLDFB_getNumChannels( sampling_rate ) * sizeof( Word16 ) );
        hs->FilterStates_eg = 0;
#endif
        move16();
    }

#ifndef IVAS_FLOAT_FIXED
    if ( ( hs->cldfb_state = (float *) malloc( buf_len * sizeof( float ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" );
    }
    set_f( hs->cldfb_state, 0.0f, buf_len );
#endif
#ifdef IVAS_FLOAT_FIXED
    if ( ( hs->cldfb_state_fx = (Word32 *) malloc( buf_len * sizeof( Word32 ) ) ) == NULL )
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" );
@@ -1890,8 +1879,6 @@ ivas_error openCldfb_ivas_enc(
    move16();
    set16_fx( hs->FilterStates, 0, i_mult( 9 + 16, hs->no_channels ) );
    set16_fx( hs->FilterStates_e, 0, sizeof( hs->FilterStates_e ) / sizeof( hs->FilterStates_e[0] ) );
#endif // IVAS_FLOAT_FIXED


    *h_cldfb = hs;

@@ -2843,6 +2830,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 10;
                hs->da = 10;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
@@ -2857,6 +2846,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 40;
                hs->da = -20;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
@@ -2884,6 +2875,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 20;
                hs->da = 20;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
@@ -2898,6 +2891,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 80;
                hs->da = -40;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
@@ -2932,6 +2927,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 20;
                hs->da = 20;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
@@ -2946,6 +2943,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 80;
                hs->da = -40;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
@@ -2979,6 +2978,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 30;
                hs->da = 30;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
@@ -2991,6 +2992,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 120;
                hs->da = -60;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
@@ -3018,6 +3021,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 32;
                hs->da = 32;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
@@ -3032,6 +3037,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 160;
                hs->da = -80;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
@@ -3065,6 +3072,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 40;
                hs->da = 40;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
@@ -3079,6 +3088,8 @@ static void cldfb_init_proto_and_twiddles_enc_fx(
            {
                hs->ds = 160;
                hs->da = -80;
                move16();
                move16();
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
+4 −0
Original line number Diff line number Diff line
@@ -1405,7 +1405,11 @@ void GetEnergyCldfb( Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead)
        {
            FOR( j = 20; j < numberBandsM; j++ )
            {
#ifdef BASOP_NOGLOB
                nrg = L_add_o( nrg, L_shr_o( energyValues[k][j], s, &Overflow ), &Overflow );
#else
                nrg = L_add( nrg, L_shr( energyValues[k][j], s ) );
#endif
            }
        }

+2 −1
Original line number Diff line number Diff line
@@ -846,7 +846,8 @@ void cng_params_postupd_ivas_fx(
#endif                                                                              /* BASOP_NOGLOB */
            L_tmp = Mult_32_16( L_tmp, 128 );                                       /* 2*Q_exc+1 */
            tmp = add( add( Q_exc, Q_exc ), 1 );
            sp[i] = L_shr( L_tmp, sub( tmp, 6 ) );
            // To do : Saturation to be re-validated.
            sp[i] = L_shr_sat( L_tmp, sub( tmp, 6 ) );
            move32(); /* Q6 */

            ptR++;
+2 −0
Original line number Diff line number Diff line
@@ -698,6 +698,7 @@ enum
#define AUTO_REGRESSIVE                     2

#define INT_FS_12k8                         12800                                                                                                            /* internal sampling frequency                */
#define ONE_BY_INT_FS_12k8_Q42                        343597384                                                                                                            /* internal sampling frequency                */
#define M                                   16                                                                                                               /* order of the LP filter @ 12.8kHz           */
#define L_FRAME                             256                                                                                                              /* frame size at 12.8kHz                      */
#define NB_SUBFR                            4                                                                                                                /* number of subframes per frame              */
@@ -750,6 +751,7 @@ enum
#define E_MIN_Q11_FX                            7                      /* minimum allowable energy in Q11*/
#define E_MIN                               0.0035f                /* minimum allowable energy */
#define E_MIN_Q11_FX                            7                      /* minimum allowable energy in Q11*/
#define E_MIN_Q16_FX                         229                      /* minimum allowable energy in Q16*/
#define STEP_DELTA                          0.0625f                /* quantization step for tilt compensation of gaussian cb. excitation */
#define GAMMA_EV                            0.92f                  /* weighting factor for core synthesis error weighting */
#define FORMANT_SHARPENING_NOISE_THRESHOLD  21.0f                  /* lp_noise level above which formant sharpening is deactivated */
Loading