Commit b2e1ffd8 authored by vaclav's avatar vaclav
Browse files

fix CNA

parent 0a01289c
Loading
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -1748,12 +1748,28 @@ ivas_error acelp_core_dec_ivas_fx(
            test();
            IF( ( st->flag_cna == 0 ) && EQ_16( st->L_frame, L_FRAME16k ) && EQ_16( st->last_flag_cna, 1 ) && ( ( st->last_core == ACELP_CORE && !( EQ_16( st->last_coder_type, AUDIO ) && !( st->element_mode > EVS_MONO && st->Last_GSC_noisy_speech_flag ) ) ) || EQ_16( st->last_core, AMR_WB_CORE ) ) )
            {
#ifdef REMOVE_EVS_DUPLICATES
                IF( EQ_16( st->element_mode, EVS_MONO ) )
                {
                    // VE:TBC - in FLP, it is:
                    // v_multc( st->hFdCngDec->hFdCngCom->olapBufferSynth2 + 5 * st->L_frame / 4, 256.f, temp_buf, st->L_frame / 2 );
                    // v_add( temp_buf, syn, syn, st->L_frame / 2 );
                    FOR( i = 0; i < st->L_frame / 2; i++ )
                    {
                        psyn_fx[i] = add( psyn_fx[i], shr_r( st->hFdCngDec->hFdCngCom->olapBufferSynth2[i + 5 * st->L_frame / 4], negate( st->Q_syn ) ) );
                        move16();
                    }
                }
                ELSE
#endif
                {
                    FOR( i = 0; i < ( st->hFdCngDec->hFdCngCom->frameSize ) / 2; i++ )
                    {
                        psyn_fx[i] = add( psyn_fx[i], shr_r( mult_r( st->hFdCngDec->hFdCngCom->olapBufferSynth2[i + 5 * ( st->hFdCngDec->hFdCngCom->frameSize / 4 )], st->hFdCngDec->hFdCngCom->fftlenFac ), -st->Q_syn ) );
                        move16();
                    }
                }
            }

            test();
            test();
+1 −1
Original line number Diff line number Diff line
@@ -346,7 +346,7 @@ ivas_error evs_dec_fx(
        IF( EQ_16( st_fx->core, ACELP_CORE ) )
        {
            /* ACELP core decoder */
#ifdef REMOVE_EVS_DUPLICATES2aa
#ifdef REMOVE_EVS_DUPLICATES2
            IF( ( error = acelp_core_dec_ivas_fx( st_fx, NULL, synth_fx, NULL, bwe_exc_extended_fx, voice_factors_fx, old_syn_12k8_16k_fx, sharpFlag, pitch_buf_fx, &unbits, &sid_bw, NULL, NULL, NULL, 0, EVS_MONO, 0, 0, 1, NULL, 1 ) ) != IVAS_ERR_OK )
#else
            IF( ( error = acelp_core_dec_fx( st_fx, NULL, synth_fx, NULL, bwe_exc_extended_fx, voice_factors_fx, old_syn_12k8_16k_fx, sharpFlag, pitch_buf_fx, &unbits, &sid_bw, NULL, NULL, NULL, 0, EVS_MONO, 0, 0, 1, NULL, 1 ) ) != IVAS_ERR_OK )