Commit 6327ca5d authored by Nishant S Kulgod's avatar Nishant S Kulgod
Browse files

commit 2

parent dbb25304
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1233,8 +1233,8 @@ typedef struct stereo_cng_enc
    Word16 td_active;                                        /* TD-stereo indication */
    Word16 first_SID_after_TD;                               /* Set if first SID frame after TD stereo */
    Word16 first_SID;                                        /* Set if first SID frame since codec start */
    Word32 sg_average_fx[STEREO_DFT_ERB4_BANDS];             /* Sidegain average Q28 */
    Word32 prev_sg_average_fx[STEREO_DFT_ERB4_BANDS];        /* Previous sidegain average  Q28 */
    Word32 sg_average_fx[STEREO_DFT_ERB4_BANDS];             /* Sidegain average Q26 */
    Word32 prev_sg_average_fx[STEREO_DFT_ERB4_BANDS];        /* Previous sidegain average  Q26 */
    Word32 mem_cohBand_fx[STEREO_DFT_BAND_MAX / 2];          /* Coherence memory */
    Word32 prev_cohBand_fx[2 * ( STEREO_DFT_BAND_MAX / 2 )]; /* Previous coherence */
} STEREO_CNG_ENC, *STEREO_CNG_ENC_HANDLE;
+10 −10
Original line number Diff line number Diff line
@@ -373,7 +373,7 @@ void stereo_dft_cng_side_gain_fx(
    for ( b = 0; b < nbands_full; b++ )
    {
        // hStereoCng->sg_average[b] += hStereoDft->sidSideGain[b];
        hStereoCng->sg_average_fx[b] = L_add( hStereoCng->sg_average_fx[b], L_shr_r(hStereoDft->sidSideGain_fx[b],3) );
        hStereoCng->sg_average_fx[b] = L_add( hStereoCng->sg_average_fx[b], L_shr_r(hStereoDft->sidSideGain_fx[b],5) );
    }
    hStereoCng->sg_average_counter = add( hStereoCng->sg_average_counter, 1 );

@@ -393,8 +393,8 @@ void stereo_dft_cng_side_gain_fx(
                hStereoCng->prev_sg_average_fx[b] = hStereoCng->sg_average_fx[b];
                // hStereoCng->sg_average[b] = hStereoCng->sg_average[b] / (float) hStereoCng->sg_average_counter;
                hStereoCng->sg_average_fx[b] = BASOP_Util_Divide3232_Scale_cadence( hStereoCng->sg_average_fx[b], hStereoCng->sg_average_counter, &tmp_e );
                tmp_e = sub(tmp_e, 31 - 3);
                hStereoCng->sg_average_fx[b] = L_shl_r( hStereoCng->sg_average_fx[b], sub(tmp_e,3) ); // Q31
                tmp_e = sub(tmp_e, 31 - 5);
                hStereoCng->sg_average_fx[b] = L_shl_r( hStereoCng->sg_average_fx[b], sub(tmp_e,5) ); // Q31
            }

            hStereoCng->prev_sg_average_counter = hStereoCng->sg_average_counter;
@@ -414,8 +414,8 @@ void stereo_dft_cng_side_gain_fx(
                tmp = hStereoCng->sg_average_fx[b];
                // hStereoCng->sg_average[b] = ( hStereoCng->sg_average[b] + prev_weight * hStereoCng->prev_sg_average[b] ) / ( (float) hStereoCng->sg_average_counter + prev_weight * (float) hStereoCng->prev_sg_average_counter );
                hStereoCng->sg_average_fx[b] = BASOP_Util_Divide3232_Scale_cadence( L_add( hStereoCng->sg_average_fx[b], Mpy_32_16_1( hStereoCng->prev_sg_average_fx[b], prev_weight ) ), L_add( L_shl( hStereoCng->sg_average_counter, Q15 ), L_mult0( prev_weight, hStereoCng->prev_sg_average_counter ) ), &tmp_e );
                tmp_e = sub(tmp_e, 16 - 3);
                hStereoCng->sg_average_fx[b] = L_shl_r( hStereoCng->sg_average_fx[b], sub(tmp_e,3) ); // Q28
                tmp_e = sub(tmp_e, 16 - 5);
                hStereoCng->sg_average_fx[b] = L_shl_r( hStereoCng->sg_average_fx[b], sub(tmp_e,5) ); // Q26

                hStereoCng->prev_sg_average_fx[b] = tmp;
            }
@@ -435,12 +435,12 @@ void stereo_dft_cng_side_gain_fx(
            for ( b = 0; b < hStereoDft->nbands; b++ )
            {
                // hStereoDft->sidSideGain[b] = hStereoCng->sg_average[2 * b] * ( band_limits_full[2 * b + 1] - band_limits_full[2 * b] );
                W_tmp = W_shl(W_mult_32_32( hStereoCng->sg_average_fx[2 * b], sub( band_limits_full[2 * b + 1], band_limits_full[2 * b] ) ) ,3); //Q31
                W_tmp = W_shl(W_mult_32_32( hStereoCng->sg_average_fx[2 * b], sub( band_limits_full[2 * b + 1], band_limits_full[2 * b] ) ) ,5); //Q31
                sgSum = sub( band_limits_full[2 * b + 1], band_limits_full[2 * b] );
                if ( ( 2 * b + 1 ) < nbands_full )
                {
                    // hStereoDft->sidSideGain[b] += hStereoCng->sg_average[2 * b + 1] * ( band_limits_full[2 * b + 2] - band_limits_full[2 * b + 1] );
                    W_tmp = W_add(W_tmp, W_shl(W_mult_32_32( hStereoCng->sg_average_fx[2 * b + 1], sub( band_limits_full[2 * b + 2], band_limits_full[2 * b + 1] ) ),3) ); //Q31
                    W_tmp = W_add(W_tmp, W_shl(W_mult_32_32( hStereoCng->sg_average_fx[2 * b + 1], sub( band_limits_full[2 * b + 2], band_limits_full[2 * b + 1] ) ),5) ); //Q31
                    sgSum = add( sgSum, sub( band_limits_full[2 * b + 2], band_limits_full[2 * b + 1] ) );
                }
                // hStereoDft->sidSideGain[b] = hStereoDft->sidSideGain[b] / sgSum;
@@ -457,7 +457,7 @@ void stereo_dft_cng_side_gain_fx(
            Word32 sg_average_fx_q31;
            for ( b = 0; b < hStereoDft->nbands; b++ )
            {
                sg_average_fx_q31 = L_shl(hStereoCng->sg_average_fx[b], 3);//Q31
                sg_average_fx_q31 = L_shl(hStereoCng->sg_average_fx[b], 5);//Q31
                stereo_dft_quantize_res_gains_fx( &sg_average_fx_q31, NULL, NULL, NULL, hStereoDft->side_gain_index_EC + b, NULL );
            }
        }
@@ -470,7 +470,7 @@ void stereo_dft_cng_side_gain_fx(
        for ( b = 0; b < nbands_full; b++ )
        {
            //hStereoCng->prev_sg_average[b] += hStereoDft->sidSideGain[b];
            hStereoCng->prev_sg_average_fx[b] = L_add(hStereoCng->prev_sg_average_fx[b],L_shr_r(hStereoDft->sidSideGain_fx[b],3)); //Q28
            hStereoCng->prev_sg_average_fx[b] = L_add(hStereoCng->prev_sg_average_fx[b],L_shr_r(hStereoDft->sidSideGain_fx[b],5)); //Q26
        }

        hStereoCng->prev_sg_average_counter++;
@@ -658,7 +658,7 @@ void stereo_cng_upd_counters_fx(
        for (b = 0; b < nbands; b++)
        {
            //hStereoCng->sg_average[b] += sidSideGain[b];
            hStereoCng->sg_average_fx[b] = L_add(hStereoCng->sg_average_fx[b], L_shr_r(sidSideGain[b],3));//Q28
            hStereoCng->sg_average_fx[b] = L_add(hStereoCng->sg_average_fx[b], L_shr_r(sidSideGain[b],5));//Q26
        }
        hStereoCng->sg_average_counter++;
    }