Commit ea8980d6 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

CNG noise level scale update

parent 7b0f7cb7
Loading
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -222,6 +222,10 @@ ivas_error acelp_core_dec_ivas_fx(
            }*/

            ApplyFdCng_fx( NULL, 0, NULL, NULL, NULL, NULL, st, 0, 0 );
            if (st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0) {
                Scale_sig32(st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp);
                st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
            }

            /*for ( int p = 0; p < ( st->hFdCngDec->hFdCngCom->stopFFTbin - st->hFdCngDec->hFdCngCom->startBand ); p++ )
            {
@@ -795,6 +799,10 @@ ivas_error acelp_core_dec_ivas_fx(
                    st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = new_cngNoiseLevelExp;

                    ApplyFdCng_fx(psyn_fx, st->Q_syn, NULL, realBuffer, imagBuffer, NULL, st, 0, ( st->coder_type_fx == AUDIO && !st->GSC_noisy_speech_fx ) );
                    if (st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0) {
                        Scale_sig32(st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp);
                        st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                    }

                    /*for ( int p = 0; p < ( st->hFdCngDec->hFdCngCom->stopFFTbin - st->hFdCngDec->hFdCngCom->startBand ); p++ )
                    {
@@ -1828,7 +1836,7 @@ ivas_error acelp_core_dec_ivas_fx(
                    st->hFdCngDec->partNoiseShape_exp = 0;
                }
                if (st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0) {
                    Scale_sig32(st->hFdCngDec->hFdCngCom->cngNoiseLevel, NPART, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp);
                    Scale_sig32(st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp);
                    st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                }
                //Scale_sig(syn_tmp_fx, L_FRAME16k + L_SUBFR, st->Q_syn); //Q_syn
@@ -2076,7 +2084,7 @@ ivas_error acelp_core_dec_ivas_fx(
                            st->hFdCngDec->partNoiseShape_exp = 0;
                        }
                        if (st->hFdCngDec->hFdCngCom->cngNoiseLevelExp < 0) {
                            Scale_sig32(st->hFdCngDec->hFdCngCom->cngNoiseLevel, NPART, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp);
                            Scale_sig32(st->hFdCngDec->hFdCngCom->cngNoiseLevel, FFTCLDFBLEN, st->hFdCngDec->hFdCngCom->cngNoiseLevelExp);
                            st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 0;
                        }
                        //fixedToFloat_arrL(st->hFdCngDec->partNoiseShape, st->hFdCngDec->partNoiseShape_float, Q31 - st->hFdCngDec->partNoiseShape_exp, NPART);
@@ -2579,7 +2587,7 @@ ivas_error acelp_core_dec_ivas_fx(
#ifdef IVAS_FLOAT_FIXED
        Word32 tmp_bpf_error_signal_fx[L_FRAME16k];
        Word16 q_bpf_error_signal;
        Word32 cldfb_state_offset = sub(st->cldfbBPF->p_filter_length, st->cldfbBPF->no_channels);
        Word16 cldfb_state_offset = sub(st->cldfbBPF->p_filter_length, st->cldfbBPF->no_channels);

        q_bpf_error_signal = Q6;

@@ -2866,7 +2874,7 @@ ivas_error acelp_core_dec_ivas_fx(
#ifdef IVAS_FLOAT_FIXED
        Word32 tmp_bpf_error_signal_fx[L_FRAME16k];
        Word16 q_bpf_error_signal;
        Word32 cldfb_state_offset = sub(st->cldfbBPF->p_filter_length, st->cldfbBPF->no_channels);
        Word16 cldfb_state_offset = sub(st->cldfbBPF->p_filter_length, st->cldfbBPF->no_channels);

        // Get Q-factor
        q_bpf_error_signal = Q6;