Commit f31767bf authored by Mohammadreza Naghibzadeh's avatar Mohammadreza Naghibzadeh
Browse files

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

# Conflicts:
#	lib_com/options.h
parents c30db7cc ca8df168
Loading
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ stages:
  - current_commit_sha=$(git rev-parse HEAD)
  ### build reference binaries
  - git checkout $FLOAT_REF_BRANCH
  - git pull
  - git pull origin $FLOAT_REF_BRANCH
  - *activate-debug-mode-info-if-set
  - make clean
  - make -j
@@ -184,7 +184,7 @@ stages:
  - current_commit_sha=$(git rev-parse HEAD)
  ### build merge target binaries
  - git checkout $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
  - git pull
  - git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
  - *activate-debug-mode-info-if-set
  - make clean
  - make -j
@@ -232,7 +232,7 @@ stages:
  - git fetch
  - git restore . # Just as a precaution
  - git checkout $BASOP_CI_BRANCH_PC_REPO
  - git pull
  - git pull origin $BASOP_CI_BRANCH_PC_REPO
  - cd -
  - cp -r $SCRIPTS_DIR/ci .
  - cp -r $SCRIPTS_DIR/scripts .
@@ -658,7 +658,7 @@ stages:

    ### run main now
    - git checkout $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
    - git pull
    - git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
    - make clean
    - make -j
    # need to restore cache again
@@ -1750,6 +1750,9 @@ voip-be-on-merge-request:
    # delete previous jobs logfiles if present (-f flag ensures return calue of 0 even in first run where this folder is not present)
    - rm -rf COMPLEXITY/logs
    - which coan
  allow_failure:
    exit_codes:
      - 123
  artifacts:
    name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA"
    when: always
+11 −8
Original line number Diff line number Diff line
@@ -240,11 +240,11 @@ Word16 rate2EVSmode(
}

/*-------------------------------------------------------------------*
 * push_indice_fx( )
 * push_indice( )
 *
 * Push a new indice into the buffer
 *-------------------------------------------------------------------*/

#ifndef HARM_PUSH_BIT
void push_indice_fx(
    BSTR_ENC_HANDLE hBstr, /* i/o: encoder state structure */
    Word16 id,             /* i  : ID of the indice */
@@ -288,9 +288,8 @@ void push_indice_fx(

    return;
}

/*-------------------------------------------------------------------*
 * push_next_indice_fx()            *
 * push_next_indice()            *
 * Push a new indice into the buffer at the next position
 *-------------------------------------------------------------------*/

@@ -318,7 +317,7 @@ void push_next_indice_fx(


/*-------------------------------------------------------------------*
 * push_next_bits_fx()
 * push_next_bits()
 * Push a bit buffer into the buffer at the next position
 *-------------------------------------------------------------------*/

@@ -368,6 +367,7 @@ void push_next_bits_fx(
    hBstr->nb_bits_tot = add( hBstr->nb_bits_tot, nb_bits );
    move16();
}
#endif

/*-------------------------------------------------------------------*
 * get_next_indice_fx( )
@@ -530,11 +530,12 @@ void reset_indices_enc_fx(
    move16();
    hBstr->nb_bits_tot = 0;
    move16();
#ifndef HARM_PUSH_BIT
    hBstr->next_ind_fx = 0;
    move16();
    hBstr->last_ind_fx = -1;
    move16();

#endif
    FOR( i = 0; i < max_num_indices; i++ )
    {
        hBstr->ind_list[i].nb_bits = -1;
@@ -565,7 +566,7 @@ void reset_indices_dec_fx(
 *
 * Write the buffer of indices to a file
 *-------------------------------------------------------------------*/

#ifndef HARM_PUSH_BIT
void write_indices_fx(
    Encoder_State *st_fx,  /* i/o: encoder state structure */
    BSTR_ENC_HANDLE hBstr, /* i/o: encoder state structure */
@@ -663,12 +664,13 @@ void write_indices_fx(

    return;
}
#endif
/*-------------------------------------------------------------------*
 * write_indices_buf_fx()
 *
 * Write the buffer of indices to a file
 *-------------------------------------------------------------------*/

#ifndef HARM_PUSH_BIT
void write_indices_buf_fx(
    Encoder_State *st_fx,  /* i/o: encoder state structure */
    BSTR_ENC_HANDLE hBstr, /* i/o: encoder state structure */
@@ -772,6 +774,7 @@ void write_indices_buf_fx(

    return;
}
#endif
/*-------------------------------------------------------------------*
 * indices_to_serial()
 *
+83 −30
Original line number Diff line number Diff line
@@ -400,8 +400,13 @@ void cldfbAnalysis_ts_fx(
            rr12_fx = L_sub( r1_fx, r2_fx );             // q -1
            ri12_fx = L_negate( L_add( i1_fx, i2_fx ) ); // q - 1
                                                         /*cplxMult(&rBuffer[2*k],&rBuffer[2*k+1],rr12,ri12,rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            rBuffer_fx[2 * k] = Msub_32_32( Mpy_32_32( rr12_fx, rot_vctr_re_fx[k] ), ri12_fx, rot_vctr_im_fx[k] );     // q - 3
            rBuffer_fx[2 * k + 1] = Madd_32_32( Mpy_32_32( rr12_fx, rot_vctr_im_fx[k] ), ri12_fx, rot_vctr_re_fx[k] ); // q - 3
#else                                                                                                                  /* OPT_AVOID_STATE_BUF_RESCALE */
            rBuffer_fx[2 * k] = L_sub( Mpy_32_32( rr12_fx, rot_vctr_re_fx[k] ), Mpy_32_32( ri12_fx, rot_vctr_im_fx[k] ) );                                                 // q - 3
            rBuffer_fx[2 * k + 1] = L_add( Mpy_32_32( rr12_fx, rot_vctr_im_fx[k] ), Mpy_32_32( ri12_fx, rot_vctr_re_fx[k] ) );                                             // q - 3
#endif                                                                                                                 /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();

@@ -409,8 +414,13 @@ void cldfbAnalysis_ts_fx(
            ir12_fx = L_add( r1_fx, r2_fx ); // q - 1
            ii12_fx = L_sub( i1_fx, i2_fx ); // q - 1
                                             /*cplxMult(&iBuffer[2*k],&iBuffer[2*k+1],ir12,ii12,rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            iBuffer_fx[2 * k] = Msub_32_32( Mpy_32_32( ir12_fx, rot_vctr_re_fx[k] ), ii12_fx, rot_vctr_im_fx[k] );     // q - 3
            iBuffer_fx[2 * k + 1] = Madd_32_32( Mpy_32_32( ir12_fx, rot_vctr_im_fx[k] ), ii12_fx, rot_vctr_re_fx[k] ); // q - 3
#else                                                                                                                  /* OPT_AVOID_STATE_BUF_RESCALE */
            iBuffer_fx[2 * k] = L_sub( Mpy_32_32( ir12_fx, rot_vctr_re_fx[k] ), Mpy_32_32( ii12_fx, rot_vctr_im_fx[k] ) );                                                 // q - 3
            iBuffer_fx[2 * k + 1] = L_add( Mpy_32_32( ir12_fx, rot_vctr_im_fx[k] ), Mpy_32_32( ii12_fx, rot_vctr_re_fx[k] ) );                                             // q - 3
#endif                                                                                                                 /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();
        }
@@ -451,8 +461,13 @@ void cldfbAnalysis_ts_fx(
            rr12_fx = L_add( r1_fx, r2_fx ); // q - 1
            ri12_fx = L_sub( i1_fx, i2_fx ); // q - 1
                                             /*cplxMult(&rBuffer[2*k],&rBuffer[2*k+1],rr12,ri12,rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            rBuffer_fx[2 * k] = Msub_32_32( Mpy_32_32( rr12_fx, rot_vctr_re_fx[k] ), ri12_fx, rot_vctr_im_fx[k] );     // q - 3
            rBuffer_fx[2 * k + 1] = Madd_32_32( Mpy_32_32( rr12_fx, rot_vctr_im_fx[k] ), ri12_fx, rot_vctr_re_fx[k] ); // q - 3
#else                                                                                                                  /* OPT_AVOID_STATE_BUF_RESCALE */
            rBuffer_fx[2 * k] = L_sub( Mpy_32_32( rr12_fx, rot_vctr_re_fx[k] ), Mpy_32_32( ri12_fx, rot_vctr_im_fx[k] ) );                                                 // q - 3
            rBuffer_fx[2 * k + 1] = L_add( Mpy_32_32( rr12_fx, rot_vctr_im_fx[k] ), Mpy_32_32( ri12_fx, rot_vctr_re_fx[k] ) );                                             // q - 3
#endif                                                                                                                 /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();

@@ -460,8 +475,13 @@ void cldfbAnalysis_ts_fx(
            ir12_fx = L_sub( r1_fx, r2_fx ); // q - 1
            ii12_fx = L_add( i1_fx, i2_fx ); // q - 1
                                             /*cplxMult(&iBuffer[2*k],&iBuffer[2*k+1],ir12,ii12,rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            iBuffer_fx[2 * k] = Msub_32_32( Mpy_32_32( ir12_fx, rot_vctr_re_fx[k] ), ii12_fx, rot_vctr_im_fx[k] );     // q - 3
            iBuffer_fx[2 * k + 1] = Madd_32_32( Mpy_32_32( ir12_fx, rot_vctr_im_fx[k] ), ii12_fx, rot_vctr_re_fx[k] ); // q - 3
#else                                                                                                                  /* OPT_AVOID_STATE_BUF_RESCALE */
            iBuffer_fx[2 * k] = L_sub( Mpy_32_32( ir12_fx, rot_vctr_re_fx[k] ), Mpy_32_32( ii12_fx, rot_vctr_im_fx[k] ) );                                                 // q - 3
            iBuffer_fx[2 * k + 1] = L_add( Mpy_32_32( ir12_fx, rot_vctr_im_fx[k] ), Mpy_32_32( ii12_fx, rot_vctr_re_fx[k] ) );                                             // q - 3
#endif                                                                                                                 /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();
        }
@@ -490,8 +510,13 @@ void cldfbAnalysis_ts_fx(
        FOR( k = 0; k < M2; k++ )
        {
            /*cplxMult(&realBuffer[M1-1-(2*k)],&realBuffer[2*k],rBuffer[2*k],rBuffer[2*k+1],rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            realBuffer_fx[( ( M1 - 1 ) - ( k * 2 ) )] = Msub_32_32( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_re_fx[k] ), rBuffer_fx[2 * k + 1], rot_vctr_im_fx[k] ); // q - 5
            realBuffer_fx[2 * k] = Madd_32_32( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_im_fx[k] ), rBuffer_fx[2 * k + 1], rot_vctr_re_fx[k] );                      // q - 5
#else                                                                                                                                                              /* OPT_AVOID_STATE_BUF_RESCALE */
            realBuffer_fx[( ( M1 - 1 ) - ( k * 2 ) )] = L_sub( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_re_fx[k] ), Mpy_32_32( rBuffer_fx[2 * k + 1], rot_vctr_im_fx[k] ) ); // q - 5
            realBuffer_fx[2 * k] = L_add( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_im_fx[k] ), Mpy_32_32( rBuffer_fx[2 * k + 1], rot_vctr_re_fx[k] ) );                      // q - 5
#endif                                                                                                                                                             /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();
        }
@@ -520,8 +545,13 @@ void cldfbAnalysis_ts_fx(
        {
            /* do it inplace */
            /*cplxMult(&imagBuffer[2*k],&imagBuffer[M1-1-(2*k)],iBuffer[2*k],iBuffer[2*k+1],rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            imagBuffer_fx[2 * k] = Msub_32_32( Mpy_32_32( iBuffer_fx[2 * k], rot_vctr_re_fx[k] ), iBuffer_fx[2 * k + 1], rot_vctr_im_fx[k] );                  // q - 5
            imagBuffer_fx[( M1 - 1 ) - ( k * 2 )] = Madd_32_32( Mpy_32_32( iBuffer_fx[2 * k], rot_vctr_im_fx[k] ), iBuffer_fx[2 * k + 1], rot_vctr_re_fx[k] ); // q - 5
#else                                                                                                                                                          /* OPT_AVOID_STATE_BUF_RESCALE */
            imagBuffer_fx[2 * k] = L_sub( Mpy_32_32( iBuffer_fx[2 * k], rot_vctr_re_fx[k] ), Mpy_32_32( iBuffer_fx[2 * k + 1], rot_vctr_im_fx[k] ) );                      // q - 5
            imagBuffer_fx[( M1 - 1 ) - ( k * 2 )] = L_add( Mpy_32_32( iBuffer_fx[2 * k], rot_vctr_im_fx[k] ), Mpy_32_32( iBuffer_fx[2 * k + 1], rot_vctr_re_fx[k] ) );     // q - 5
#endif                                                                                                                                                         /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();
        }
@@ -542,8 +572,13 @@ void cldfbAnalysis_ts_fx(
                    /*cplxMult(&realBuffer[k], &imagBuffer[k], realBuffer[k], imagBuffer[k], rot_vctr_delay_re[k], rot_vctr_delay_im[k]);*/
                    /*realBuffer[k] = rBuffer[k];
                    imagBuffer[k] = iBuffer[k];*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
                    cplx_aux_fx = Msub_32_32( Mpy_32_32( realBuffer_fx[k], rot_vctr_delay_re_fx[k] ), imagBuffer_fx[k], rot_vctr_delay_im_fx[k] );      // q - 5
                    imagBuffer_fx[k] = Madd_32_32( Mpy_32_32( realBuffer_fx[k], rot_vctr_delay_im_fx[k] ), imagBuffer_fx[k], rot_vctr_delay_re_fx[k] ); // q - 5
#else                                                                                                                                                   /* OPT_AVOID_STATE_BUF_RESCALE */
                    cplx_aux_fx = L_sub( Mpy_32_32( realBuffer_fx[k], rot_vctr_delay_re_fx[k] ), Mpy_32_32( imagBuffer_fx[k], rot_vctr_delay_im_fx[k] ) );                 // q - 5
                    imagBuffer_fx[k] = L_add( Mpy_32_32( realBuffer_fx[k], rot_vctr_delay_im_fx[k] ), Mpy_32_32( imagBuffer_fx[k], rot_vctr_delay_re_fx[k] ) );            // q - 5
#endif                                                                                                                                                  /* OPT_AVOID_STATE_BUF_RESCALE */
                    realBuffer_fx[k] = cplx_aux_fx;
                    move32();
                    move32();
@@ -1091,6 +1126,7 @@ void cldfbAnalysis_ts_fx_fixed_q(

    return;
}

/*-------------------------------------------------------------------*
 * cldfbSynthesis_ivas()
 *
@@ -1102,6 +1138,9 @@ void cldfbSynthesis_ivas_fx(
    Word32 *timeOut_fx,            /* o  : output time domain samples  Qx - 1*/
    const Word16 samplesToProcess, /* i  : number of processed samples */
    const Word16 shift,            /* i  : scale for state buffer */
#ifdef OPT_AVOID_STATE_BUF_RESCALE
    const Word16 out_shift,          /* i  : scale for output buffer */
#endif                               /* OPT_AVOID_STATE_BUF_RESCALE */
    HANDLE_CLDFB_FILTER_BANK h_cldfb /* i  : filter bank state           */
)
{
@@ -1295,11 +1334,11 @@ void cldfbSynthesis_ivas_fx(
            FOR( i = 0; i < L2; i++ )
            {
                Word32 prod = L_shl_sat( Mpy_32_16_1( new_samples_fx[L2 - 1 - i], p_filter_sf ), shift );
                accu0 = Madd_32_16( synthesisBuffer_fx[i], prod, p_filter[i] );                       // Qx - 1
                accu1 = Madd_32_16( synthesisBuffer_fx[1 * L2 + i], prod, p_filter[( 1 * L2 + i )] ); // Qx - 1
                accu2 = Madd_32_16( synthesisBuffer_fx[2 * L2 + i], prod, p_filter[( 2 * L2 + i )] ); // Qx - 1
                accu3 = Madd_32_16( synthesisBuffer_fx[3 * L2 + i], prod, p_filter[( 3 * L2 + i )] ); // Qx - 1
                accu4 = Madd_32_16( synthesisBuffer_fx[4 * L2 + i], prod, p_filter[( 4 * L2 + i )] ); // Qx - 1
                accu0 = Madd_32_16( synthesisBuffer_fx[i], prod, p_filter[i] );                       // Qx -1 + shift
                accu1 = Madd_32_16( synthesisBuffer_fx[1 * L2 + i], prod, p_filter[( 1 * L2 + i )] ); // Qx -1 + shift
                accu2 = Madd_32_16( synthesisBuffer_fx[2 * L2 + i], prod, p_filter[( 2 * L2 + i )] ); // Qx -1 + shift
                accu3 = Madd_32_16( synthesisBuffer_fx[3 * L2 + i], prod, p_filter[( 3 * L2 + i )] ); // Qx -1 + shift
                accu4 = Madd_32_16( synthesisBuffer_fx[4 * L2 + i], prod, p_filter[( 4 * L2 + i )] ); // Qx -1 + shift

                synthesisBuffer_fx[i] = accu0;
                move32();
@@ -1314,11 +1353,26 @@ void cldfbSynthesis_ivas_fx(
            }
        }

#ifdef OPT_AVOID_STATE_BUF_RESCALE
        IF( 0 == out_shift )
        {
#endif /* OPT_AVOID_STATE_BUF_RESCALE */
            FOR( i = 0; i < M1; i++ )
            {
                ptr_time_out_fx[( M1 - 1 ) - i] = synthesisBuffer_fx[4 * L2 + M1 + i];
                move32();
            }
#ifdef OPT_AVOID_STATE_BUF_RESCALE
        }
        ELSE
        {
            FOR( i = 0; i < M1; i++ )
            {
                ptr_time_out_fx[( M1 - 1 ) - i] = L_shl_sat( synthesisBuffer_fx[4 * L2 + M1 + i], out_shift );
                move32();
            }
        }
#endif /* OPT_AVOID_STATE_BUF_RESCALE */

        ptr_time_out_fx += M1;

@@ -1333,7 +1387,6 @@ void cldfbSynthesis_ivas_fx(
    return;
}


void configureCldfb_ivas_enc_fx(
    HANDLE_CLDFB_FILTER_BANK h_cldfb, /* i/o: filter bank handle        */
    const Word32 sampling_rate        /* i  : sampling rate             */
+4 −7
Original line number Diff line number Diff line
@@ -41,26 +41,23 @@


void deemph_fx_32(
    Word16 shift,    /*scaled output*/
    Word32 *signal,  /* i/o: signal            Qx*/
    const Word16 mu, /* i  : deemphasis factor Q15*/
    const Word16 L,  /* i  : vector size         */
    Word32 *mem      /* i/o: memory (y[-1])    Qx+shift*/
    Word32 *mem      /* i/o: memory (y[-1])    Qx*/
)
{
    Word16 i;

    signal[0] = L_add( signal[0], Mpy_32_16_1( ( *mem ), mu ) ); /*Qx*/
    signal[0] = Madd_32_16( signal[0], *mem, mu ); // Qx
    move32();
    FOR( i = 1; i < L; i++ )
    {
        signal[i] = L_add( signal[i], Mpy_32_16_1( signal[i - 1], mu ) ); /*Qx*/
        signal[i] = L_shl( signal[i], shift );                            /*Qx+shift*/
        move32();
        signal[i] = Madd_32_16( signal[i], signal[i - 1], mu ); // Qx
        move32();
    }

    *mem = signal[L - 1]; /*Qx+shift*/
    *mem = signal[L - 1]; // Qx
    move32();

    return;
+14 −14
Original line number Diff line number Diff line
@@ -1028,7 +1028,7 @@ Word16 gsc_gainQ_fx( /*Q12*/
        mean_4g[0] = round_fx( L_tmp );
        move16();
        idx_g = vquant_fx( mean_4g, Gain_meanNB_fx, mean_4g, Gain_mean_dicNB_fx, 1, 64 );
        push_indice_fx( hBstr, IND_MEAN_GAIN2, idx_g, 6 );
        push_indice( hBstr, IND_MEAN_GAIN2, idx_g, 6 );

        FOR( i = 0; i < Mbands_gn; i++ )
        {
@@ -1040,21 +1040,21 @@ Word16 gsc_gainQ_fx( /*Q12*/
        move16();
        set16_fx( y_gain_tmp + 10, 0, MBANDS_GN - 10 );
        idx_g = vquant_fx( y_gain_tmp, Mean_dic_NB_fx, y_gain_tmp, Gain_dic1_NB_fx, 3, 64 );
        push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 6 );
        push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 6 );

        IF( LT_32( core_brate, ACELP_9k60 ) )
        {
            idx_g = vquant_fx( y_gain_tmp + 3, Mean_dic_NB_fx + 3, y_gain_tmp + 3, Gain_dic2_NB_fx, 3, 32 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            idx_g = vquant_fx( y_gain_tmp + 6, Mean_dic_NB_fx + 6, y_gain_tmp + 6, Gain_dic3_NB_fx, 4, 16 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 4 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 4 );
        }
        ELSE
        {
            idx_g = vquant_fx( y_gain_tmp + 3, Mean_dic_NB_fx + 3, y_gain_tmp + 3, Gain_dic2_NBHR_fx, 3, 64 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 6 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 6 );
            idx_g = vquant_fx( y_gain_tmp + 6, Mean_dic_NB_fx + 6, y_gain_tmp + 6, Gain_dic3_NBHR_fx, 4, 128 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 7 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 7 );
        } /*add end */

        test();
@@ -1122,7 +1122,7 @@ Word16 gsc_gainQ_fx( /*Q12*/
        move16();

        idx_g = vquant_fx( mean_4g, mean_m_fx, mean_4g, mean_gain_dic_fx, 1, 64 );
        push_indice_fx( hBstr, IND_MEAN_GAIN2, idx_g, 6 );
        push_indice( hBstr, IND_MEAN_GAIN2, idx_g, 6 );

        FOR( i = 0; i < Mbands_gn; i++ )
        {
@@ -1148,11 +1148,11 @@ Word16 gsc_gainQ_fx( /*Q12*/
            move16();

            idx_g = vquant_fx( y_gain_tmp2, YGain_mean_LR_fx, y_gain_tmp2, YGain_dic1_LR_fx, 3, 32 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            idx_g = vquant_fx( y_gain_tmp2 + 3, YGain_mean_LR_fx + 3, y_gain_tmp2 + 3, YGain_dic2_LR_fx, 4, 32 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            idx_g = vquant_fx( y_gain_tmp2 + 7, YGain_mean_LR_fx + 7, y_gain_tmp2 + 7, YGain_dic3_LR_fx, 5, 32 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            set16_fx( y_gain_tmp2 + 12, 0, MBANDS_GN - 12 );

            /* Update to quantized vector */
@@ -1185,13 +1185,13 @@ Word16 gsc_gainQ_fx( /*Q12*/
        ELSE
        {
            idx_g = vquant_fx( y_gain_tmp, YG_mean16_fx, y_gain_tmp, YG_dicMR_1_fx, 4, 64 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 6 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 6 );
            idx_g = vquant_fx( y_gain_tmp + 4, YG_mean16_fx + 4, y_gain_tmp + 4, YG_dicMR_2_fx, 4, 32 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            idx_g = vquant_fx( y_gain_tmp + 8, YG_mean16_fx + 8, y_gain_tmp + 8, YG_dicMR_3_fx, 4, 32 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 5 );
            idx_g = vquant_fx( y_gain_tmp + 12, YG_mean16_fx + 12, y_gain_tmp + 12, YG_dicMR_4_fx, 4, 16 );
            push_indice_fx( hBstr, IND_Y_GAIN_TMP, idx_g, 4 );
            push_indice( hBstr, IND_Y_GAIN_TMP, idx_g, 4 );
        }
    }

Loading