Commit e12cf9f7 authored by Arash Azizi's avatar Arash Azizi
Browse files

issue: 2457 Further attempts in harmonization, changing function instances.

parent 2a64f975
Loading
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1838,8 +1838,15 @@ ivas_error acelp_core_dec_fx(
        test();
        IF( ( ( st->core_brate == FRAME_NO_DATA ) || EQ_32( st->core_brate, SID_2k40 ) ) && ( EQ_16( st->cng_type, FD_CNG ) ) && ( LT_16( st->hFdCngDec->hFdCngCom->numCoreBands, st->cldfbSyn->no_channels ) ) )
        {
#ifndef FIX_BASOP_2457_HARM_GEN
            generate_comfort_noise_dec_hf_fx(realBuffer_fx, imagBuffer_fx, &scaleFactor.hb_scale, st);

#else
            generate_comfort_noise_dec_hf_ivas_fx(realBuffer_fx, imagBuffer_fx, &scaleFactor.hb_scale, st, , 0);

#endif // !FIX_BASOP_2457_HARM_GEN

            
            st->cldfbSyn->bandsToZero = 0;
            move16();
            IF( LT_16( st->hFdCngDec->hFdCngCom->regularStopBand, st->cldfbSyn->no_channels ) )
+22 −11
Original line number Diff line number Diff line
@@ -3510,7 +3510,9 @@ void generate_comfort_noise_dec_hf_ivas_fx(
#ifdef FIX_BASOP_2457_HARM_GEN
    Decoder_State *st,
#endif // FIX_BASOP_2457_HARM_GEN
#ifndef FIX_BASOP_2457_HARM_GEN
    HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables  */
#endif
    const Word16 cng_coh_flag    /* i  : CNG Flag for coherence handling                        Q0*/
)
{
@@ -3527,6 +3529,7 @@ void generate_comfort_noise_dec_hf_ivas_fx(
    Word32 tmp1, tmp2;
#ifdef FIX_BASOP_2457_HARM_GEN
    HANDLE_FD_CNG_COM hFdCngCom = st->hFdCngDec->hFdCngCom;
    Word32 Random_gauss;
#endif // FIX_BASOP_2457_HARM_GEN

    cngNoiseLevel = hFdCngCom->cngNoiseLevel + sub( hFdCngCom->stopFFTbin, hFdCngCom->startBand ); /*Q31 - hFdCngCom->cngNoiseLevelExp*/
@@ -3598,12 +3601,10 @@ void generate_comfort_noise_dec_hf_ivas_fx(
        FOR( j = hFdCngCom->numCoreBands; j < hFdCngCom->regularStopBand; j++ )
        {
#ifdef FIX_BASOP_2457_HARM_GEN
            IF(EQ_16(st->element_mode, EVS_MONO)) {
                /* scaleCLDFB:  CLDFBinvScalingFactor_EXP + 1 */
                s = 0;
                move16();
                sqrtNoiseLevel = Sqrt32(L_shr(Mpy_32_16_1(*ptr_level, scaleCLDFB), sn), &s); /*Q31 - s*/
            }
#endif // FIX_BASOP_2457_HARM_GEN
            FOR( i = 0; i < hFdCngCom->numSlots; i++ )
            {
@@ -3612,13 +3613,6 @@ void generate_comfort_noise_dec_hf_ivas_fx(
                s = 0;
                move16();
                sqrtNoiseLevel = Sqrt32(L_shr(Mpy_32_16_1(*ptr_level, scaleCLDFB), sn), &s); /*Q31 - s*/
#else
                IF(NE_16(st->element_mode, EVS_MONO)) {
                    /* scaleCLDFB:  CLDFBinvScalingFactor_EXP + 1 */
                    s = 0;
                    move16();
                    sqrtNoiseLevel = Sqrt32(L_shr(Mpy_32_16_1(*ptr_level, scaleCLDFB), sn), &s); /*Q31 - s*/
                }
#endif // FIX_BASOP_2457_HARM_GEN


@@ -3642,6 +3636,7 @@ void generate_comfort_noise_dec_hf_ivas_fx(
                }
                ELSE
                {
#ifndef FIX_BASOP_2457_HARM_GEN
                    /* Real part in CLDFB band */
                    bufferReal[i][j] = L_shl(Mpy_32_32(L_shr(rand_gauss(seed), 1), sqrtNoiseLevel), s); /*bufferScale*/
                    move32();
@@ -3649,6 +3644,22 @@ void generate_comfort_noise_dec_hf_ivas_fx(
                    /* Imaginary part in CLDFB band */
                    bufferImag[i][j] = L_shl(Mpy_32_32(L_shr(rand_gauss(seed), 1), sqrtNoiseLevel), s); /*bufferScale*/
                    move32();
#else
                    IF(EQ_16(st->element_mode, EVS_MONO)) {
                    Random_gauss = rand_gauss(seed);
                    }
                    ELSE{
                    Random_gauss = L_shr(rand_gauss(seed), 1);
                    }
                        /* Real part in CLDFB band */
                    bufferReal[i][j] = L_shl(Mpy_32_32(Random_gauss, sqrtNoiseLevel), s); /*bufferScale*/
                    move32();

                    /* Imaginary part in CLDFB band */
                    bufferImag[i][j] = L_shl(Mpy_32_32(Random_gauss, sqrtNoiseLevel), s); /*bufferScale*/
                    move32();
#endif // !FIX_BASOP_2457_HARM_GEN

                }
            }
            ptr_level = ptr_level + 1; /*Q31 - hFdCngCom->cngNoiseLevelExp*/