Commit 3b5c4dc0 authored by Manuel Jander's avatar Manuel Jander
Browse files

Work in progress

parent 9b017ba0
Loading
Loading
Loading
Loading
+20 −10
Original line number Diff line number Diff line
@@ -647,7 +647,12 @@ ivas_error pre_proc_ivas_fx(

    IF( flag_16k_smc )
    {
#ifdef NONBE_FIX_ISSUE_2206
        Copy_Scale_sig( st->buf_speech_enc + L_FRAME16k, new_inp_resamp16k_fx, L_FRAME16k, sub( sub( *Q_new, 1 ), sub( Q15, st->exp_buf_speech_enc ) ) ); /* *Q_new-1 */
#else
        assert( ( *Q_new - 1 ) == ( 15 - st->exp_buf_speech_enc ) );
        Copy( st->buf_speech_enc + L_FRAME16k, new_inp_resamp16k_fx, L_FRAME16k ); /* Q_old_inp_16k */
#endif
    }

    /*-----------------------------------------------------------------*
@@ -754,12 +759,14 @@ ivas_error ivas_compute_core_buffers_fx(
#ifdef NONBE_FIX_ISSUE_2206
    Copy_Scale_sig( st->input_fx - input_frame, input_buf_fx, input_frame, sub( Q_old_inp_16k, st->q_old_inp ) );
    Copy_Scale_sig( st->input_fx, input_buf_fx + input_frame, input_frame, sub( Q_old_inp_16k, st->q_inp ) );

    signal_in_fx = &input_buf_fx[input_frame]; /* Q_old_inp_16k */
#else
    Copy_Scale_sig( st->input_fx - input_frame, input_buf_fx, input_frame, sub( -1, st->q_old_inp ) );
    Copy_Scale_sig( st->input_fx, input_buf_fx + input_frame, input_frame, sub( -1, st->q_inp ) );
#endif

    signal_in_fx = &input_buf_fx[input_frame]; /* st->q_inp */
#endif

    input_Fs = st->input_Fs; /* Q0 */
    move32();
@@ -951,8 +958,8 @@ ivas_error ivas_compute_core_buffers_fx(
            IF( EQ_16( st->bwidth, WB ) )
            {
#ifdef NONBE_FIX_ISSUE_2206
                // Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k );
                Word16 wtda_q = Q_old_inp_16k;
                Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k );
                // Word16 wtda_q = Q_old_inp_16k;
                Copy_Scale_sig( new_inp_16k_fx - delay, st->hBWE_FD->old_input_wb_fx, delay, sub( -1, Q_old_inp_16k ) ); /* Scaling to Q(-1) */
                scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( wtda_q, st->Q_old_wtda ) );                  /* st->Q_old_wtda->wtda_q */
                Copy_Scale_sig( new_inp_16k_fx - STEREO_DFT_OVL_16k, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - STEREO_DFT_OVL_16k + delay, sub( STEREO_DFT_OVL_16k, delay ), sub( wtda_q, Q_old_inp_16k ) );
@@ -976,8 +983,8 @@ ivas_error ivas_compute_core_buffers_fx(
            IF( EQ_16( st->bwidth, WB ) && st->hBWE_FD != NULL )
            {
#ifdef NONBE_FIX_ISSUE_2206
                // Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k );
                Word16 wtda_q = Q_old_inp_16k;
                Word16 wtda_q = s_min( st->Q_old_wtda, Q_old_inp_16k );
                //Word16 wtda_q = Q_old_inp_16k;
                Copy_Scale_sig( new_inp_16k_fx + L_FILT16k - delay, st->hBWE_FD->old_input_wb_fx, delay, sub( -1, Q_old_inp_16k ) ); /* Scaling to Q(-1) */
                scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( wtda_q, st->Q_old_wtda ) );                              /* st->Q_old_wtda->wtda_q */
                Copy_Scale_sig( new_inp_16k_fx - L_MEM_RECALC_16K, st->hBWE_FD->L_old_wtda_swb_fx + L_FRAME16k - L_MEM_RECALC_16K - L_FILT16k + delay, sub( L_MEM_RECALC_16K + L_FILT16k, delay ), sub( wtda_q, Q_old_inp_16k ) );
@@ -1215,7 +1222,7 @@ ivas_error ivas_compute_core_buffers_fx(
        Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), *Q_new );
#else
        Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( *Q_new, Q_old_inp_16k ) );
        Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), sub( sub( *Q_new, 1 ), Q_old_inp_16k ) );
        Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), sub( sub( *Q_new, 1 ), Q_old_inp_16k ) ); /* *Q_new-1 */
#endif
    }
    ELSE IF( GT_32( input_Fs, 8000 ) ) /* keep memory up-to-date in case of bitrate switching */
@@ -1294,9 +1301,9 @@ ivas_error ivas_compute_core_buffers_fx(
        ELSE
        {
#ifdef NONBE_FIX_ISSUE_2206
            Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q15 - Q_old_inp_16k */
            st->exp_buf_speech_enc = sub( Q15, Q_old_inp_16k );
            move16();
            //Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q15 - Q_old_inp_16k */
            //st->exp_buf_speech_enc = sub( Q15, Q_old_inp_16k );
            //move16();

            Copy_Scale_sig( new_inp_resamp16k_fx, st->buf_speech_enc + L_FRAME16k, L_FRAME16k, sub( sub( Q15, st->exp_buf_speech_enc ), Q_old_inp_16k ) );
#else
@@ -1362,7 +1369,10 @@ ivas_error ivas_compute_core_buffers_fx(
    ELSE IF( GT_32( input_Fs, 8000 ) )
    {
        lerp( st->old_inp_12k8_fx + L_INP_MEM - L_INP_MEM * 4 / 5, st->old_inp_16k_fx, L_INP_MEM, L_INP_MEM * 4 / 5 );
#ifndef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206_NO
        st->exp_old_inp_16k = st->exp_old_inp_12k8;
        move16();
#else
        Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( -1 /* Q st->old_inp_16k_fx = -1 */, sub( 15, st->exp_old_inp_12k8 ) ) );
        st->exp_old_inp_16k = Q16; // Q-1
        move16();