Commit 39b69a2c authored by Manuel Jander's avatar Manuel Jander
Browse files

Expand changes to allow Q_new different than -1 for input signals. Work in progress.

parent d5030ea9
Loading
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1364,6 +1364,10 @@ static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_ol
                if ( st->exp_buf_speech_enc_pe >= st->exp_old_inp_12k8 )
                {
                    Copy_Scale_sig( st->old_inp_12k8_fx, st->buf_speech_enc_pe + st->L_frame - L_INP_MEM, L_INP_MEM, sub( st->exp_old_inp_12k8, st->exp_buf_speech_enc_pe ) ); // Scaling to common Q
#ifdef NONBE_FIX_ISSUE_2206
                    st->exp_buf_speech_enc_pe = st->exp_old_inp_12k8;
                    move16();
#endif
                    // st->buf_speech_enc_pe is in st->exp_buf_speech_enc_pe
                }
                else
@@ -1381,6 +1385,10 @@ static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_ol
                if ( st->exp_buf_speech_enc_pe >= st->exp_old_inp_16k )
                {
                    Copy_Scale_sig( st->old_inp_16k_fx, st->buf_speech_enc_pe + st->L_frame - L_INP_MEM, L_INP_MEM, sub( st->exp_old_inp_16k, st->exp_buf_speech_enc_pe ) ); // Scaling to common Q
#ifdef NONBE_FIX_ISSUE_2206
                    st->exp_buf_speech_enc_pe = st->exp_old_inp_16k;
                    move16();
#endif
                    // st->buf_speech_enc_pe is in st->exp_buf_speech_enc_pe
                }
                else
+2 −2
Original line number Diff line number Diff line
@@ -671,7 +671,7 @@ ivas_error ivas_core_enc_fx(
        IF( GE_32( input_Fs, 16000 ) && LT_16( st->bwidth, SWB ) && st->hBWE_TD != NULL )
        {
            /* Common pre-processing for WB TBE and WB BWE */
#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
            wb_pre_proc_ivas_fx( st, last_element_mode, new_inp_resamp16k_fx[n], hb_speech_fx, sub( *Q_new, 1 ) );
#else
            wb_pre_proc_ivas_fx( st, last_element_mode, new_inp_resamp16k_fx[n], hb_speech_fx );
@@ -688,7 +688,7 @@ ivas_error ivas_core_enc_fx(
        ELSE IF( EQ_16( st->extl, WB_BWE ) && n == 0 && NE_16( st->element_mode, IVAS_CPE_MDCT ) )
        {
            /* WB BWE encoder */
#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
            wb_bwe_enc_ivas_fx( st, new_inp_resamp16k_fx[n], sub( *Q_new, 1 ) );
#else
            wb_bwe_enc_ivas_fx( st, new_inp_resamp16k_fx[n] );
+25 −17
Original line number Diff line number Diff line
@@ -84,7 +84,11 @@ ivas_error pre_proc_front_ivas_fx(
    const Word16 input_frame,              /* i  : frame length                           Q0*/
    const Word16 n,                        /* i  : channel number                         Q0*/
    Word16 old_inp_12k8_fx[],              /* o  : buffer of old input signal (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/
#ifdef NONBE_FIX_ISSUE_2206
    Word16 old_inp_16k_fx[],               /* o  : buffer of old input signal @16kHz (st->Q_inp until preemph, then Q_new, then Q_new-1 towards the end)*/
#else
    Word16 old_inp_16k_fx[],               /* o  : buffer of old input signal @16kHz        Q_new-1*/
#endif
    Word32 *ener_fx,                       /* o  : residual energy from Levinson-Durbin        epsP_fx_q*/
    Word16 *relE_fx,                       /* o  : frame relative energy                    Q8*/
    Word16 A_fx[NB_SUBFR16k * ( M + 1 )],  /* o  : A(z) unquantized for the 4 subframes        Q12*/
@@ -224,6 +228,10 @@ ivas_error pre_proc_front_ivas_fx(
    Word32 *in_buff_temp;
    Word16 in_q_temp;
#endif
#ifdef NONBE_FIX_ISSUE_2206
    Word16 Q_old_in = st->q_inp;
    move16();
#endif

    mem_decim_dummy_fx = (Word16 *) malloc( 90 * sizeof( Word16 * ) );
    temp1F_icatdmResampBuf_fx = (Word16 *) malloc( 45 * sizeof( Word16 * ) );
@@ -239,6 +247,11 @@ ivas_error pre_proc_front_ivas_fx(
    st->q_old_inp = Q_min;
    move16();

#ifdef NONBE_FIX_ISSUE_2206
    Scale_sig(old_inp_12k8_fx, L_INP_12k8, sub( st->q_inp, Q_old_in ) );
    Scale_sig(old_inp_16k_fx, L_INP, sub( st->q_inp, Q_old_in ) );
#endif

#ifdef DEBUG_MODE_INFO
    IF( hSCE != NULL )
    {
@@ -583,19 +596,11 @@ ivas_error pre_proc_front_ivas_fx(
    }
    ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) || EQ_16( element_mode, IVAS_CPE_MDCT ) )
    {
#ifdef NONBE_FIX_ISSUE_2206
        Copy_Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, st->buf_speech_enc + L_FRAME32k - lMemRecalc_12k8 - L_FILT, add( L_FRAME + L_FILT, lMemRecalc_12k8 ), sub( st->q_inp, st->q_inp ) ); /* Q_inp_const */
#else
        Copy_Scale_sig( new_inp_12k8_fx - lMemRecalc_12k8, st->buf_speech_enc + L_FRAME32k - lMemRecalc_12k8 - L_FILT, add( L_FRAME + L_FILT, lMemRecalc_12k8 ), sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */
#endif
    }
    ELSE
    {
#ifdef NONBE_FIX_ISSUE_2206
        Copy_Scale_sig( new_inp_12k8_fx, st->buf_speech_enc + L_FRAME32k, L_FRAME, sub( st->q_inp, st->q_inp ) ); /* Q_inp_const */
#else
        Copy_Scale_sig( new_inp_12k8_fx, st->buf_speech_enc + L_FRAME32k, L_FRAME, sub( Q_inp_const, st->q_inp ) ); /* Q_inp_const */
#endif
    }

    /*------------------------------------------------------------------*
@@ -735,12 +740,13 @@ ivas_error pre_proc_front_ivas_fx(

    *Q_new = add( *Q_new, Q_inp_const );
    move16();
#ifndef NONBE_FIX_ISSUE_2206_NO
#ifndef NONBE_FIX_ISSUE_2206
    Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) );                                                                                                                                         /* Q_new */
    Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */
#else
    Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( *Q_new, st->q_inp ) + 1 );                             /* Q_new */
    Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, sub( st->q_inp, -1 ) ) + 1 ); /* Q_new */
    Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) );        /* Q_new */
    Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */
    Scale_sig( old_inp_16k_fx, L_INP, sub( *Q_new, st->q_inp ) ); /* Q_new */
#endif

    cldfbScale.hb_scale = cldfbScale.lb_scale;
@@ -1539,7 +1545,9 @@ ivas_error pre_proc_front_ivas_fx(
            IF( flag_16k_smc )
            {
#ifdef NONBE_FIX_ISSUE_2206
                Word16 Q_old_inp_16k = add( *Q_new, 1 );
                Word16 Q_old_inp_16k = sub( *Q_new, 1 );
                move16();
                Word16 Q_old_inp_12k8 = sub( *Q_new, 1 );
                move16();
#else
                Word16 Q_old_inp_16k = -1;
@@ -1570,10 +1578,10 @@ ivas_error pre_proc_front_ivas_fx(
                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();
#endif

                Word16 Q_old_inp_12k8 = *Q_new;
                move16();
#endif
                /* Compute core-coder buffers at internal sampling rate */
                error = ivas_compute_core_buffers_fx( st, NULL, old_inp_16k_fx, NULL, input_frame, IVAS_SCE /*last_element_mode*/, INT_FS_16k /*sr_core_tmp*/, ener_fx,
                                                      A_fx, Aw_fx,
@@ -1591,7 +1599,11 @@ ivas_error pre_proc_front_ivas_fx(

                *Q_new = add( *Q_new, Q_inp_const ); // actual Q_new
                move16();
#ifdef NONBE_FIX_ISSUE_2206
                Scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( sub( *Q_new, 1 ), Q_old_inp_12k8 ) ); /* Q_new-1 */
#else
                Scale_sig( old_inp_12k8_fx, L_INP_12k8, sub( *Q_new, Q_old_inp_12k8 ) ); /* Q_new */
#endif

                Scale_sig( st->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( 0, sub( Q15, st->exp_buf_speech_enc ) ) ); /* Q0 */
                st->exp_buf_speech_enc = Q15;
@@ -1681,11 +1693,7 @@ ivas_error pre_proc_front_ivas_fx(
    move16();


#ifdef NONBE_FIX_ISSUE_2206_NO
    *Q_new = sub( *Q_new, st->q_inp ); // ivas_core_enc will assume inp signal (12k8 and 16k) in Q_new - st->q_inp
#else
    *Q_new = sub( *Q_new, Q_inp_const ); // ivas_core_enc will assume inp signal (12k8 and 16k) in Q_new - 1
#endif
    move16();

    free( mem_decim_dummy_fx );
+18 −17
Original line number Diff line number Diff line
@@ -56,9 +56,9 @@ ivas_error pre_proc_ivas_fx(
    const Word16 input_frame,        /* i  : frame length                              Q0*/
    Word16 old_inp_12k8_fx[],        /* i/o: buffer of old input signal                Q_new-1 */
#ifdef NONBE_FIX_ISSUE_2206
    Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz        Q_new-1 */
    Word16 old_inp_16k_fx[],               /* i/o: buffer of old input signal @ 16kHz        Q_new */
#else
    Word16 old_inp_16k_fx[], /* i/o: buffer of old input signal @ 16kHz        Q-1 in, Q_new-1 out */
    Word16 old_inp_16k_fx[],               /* i/o: buffer of old input signal @ 16kHz        Q_new-1 */
#endif
    Word16 **inp_fx,                       /* o  : ptr. to inp. signal in the current frame  Q_new*/
    Word32 *ener_fx,                       /* o  : residual energy from Levinson-Durbin      epsP_fx_q*/
@@ -536,7 +536,7 @@ ivas_error pre_proc_ivas_fx(

    inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look;

#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
    Word16 Q_old_inp_16k = sub( *Q_new, 1 );
#else
    Word16 Q_old_inp_16k = -1;
@@ -551,11 +551,7 @@ ivas_error pre_proc_ivas_fx(
    Scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift ); /* exp(st->exp_old_inp_12k8 - shift) */
    st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift );
    move16();
#if 0
    Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q15 - st->exp_old_inp_16k */
    st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k );
    move16();
#endif

#ifndef NONBE_FIX_ISSUE_2206
    Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) ); /* Q15 - st->exp_old_inp_16k */
    st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k );
@@ -650,7 +646,6 @@ ivas_error pre_proc_ivas_fx(
#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
    }
@@ -710,11 +705,10 @@ ivas_error pre_proc_ivas_fx(
 *--------------------------------------------------------------------*/
ivas_error ivas_compute_core_buffers_fx(
    Encoder_State *st, /* i/o: encoder state structure                  */
#ifdef NONBE_FIX_ISSUE_2206
    Word16 **inp16k_out_fx, /* o  : ptr. to inp. signal in the current frame Q_new-1*/
    Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz       input Q_old_inp_16k, output *Q_new-1*/
#ifdef NONBE_FIX_ISSUE_2206
    Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz       in Q_old_inp_16k = Q_new, out Q_new-1 */
#else
    Word16 **inp16k_out_fx, /* o  : ptr. to inp. signal in the current frame Q_new-1*/
    Word16 *old_inp_16k_fx, /* i/o: buffer of old input signal @ 16kHz       Q_new-1*/
#endif
    Word16 new_inp_resamp16k_out_fx[],     /* o  : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE    Q_old_inp_16k*/
@@ -744,7 +738,11 @@ ivas_error ivas_compute_core_buffers_fx(
    Word16 epsP_h[M + 1];
    Word16 epsP_l[M + 1];

#ifdef NONBE_FIX_ISSUE_2206
    Word16 headroom = 2, preemp_len = 0, inp_max = 0;
#else
    Word16 headroom = 1, preemp_len = 0, inp_max = 0;
#endif
    move16();
    move16();
    move16();
@@ -757,6 +755,7 @@ ivas_error ivas_compute_core_buffers_fx(
    set16_fx( input_buf_fx, 0, L_FRAME48k * 2 );

#ifdef NONBE_FIX_ISSUE_2206
    assert( Q_old_inp_16k == ( *Q_new - 1) );
    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 ) );

@@ -959,7 +958,6 @@ ivas_error ivas_compute_core_buffers_fx(
            {
#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;
                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 ) );
@@ -984,7 +982,6 @@ ivas_error ivas_compute_core_buffers_fx(
            {
#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;
                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 ) );
@@ -1280,7 +1277,7 @@ ivas_error ivas_compute_core_buffers_fx(
#endif
        move16();

#ifdef NONBE_FIX_ISSUE_2206
#ifdef NONBE_FIX_ISSUE_2206_NO
        Scale_sig( st->buf_speech_enc_pe, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_speech_enc_pe ) ) ); /* Q15 - Q_old_inp_16k */
        st->exp_buf_speech_enc_pe = sub( Q15, Q_old_inp_16k );
        move16();
@@ -1331,7 +1328,7 @@ ivas_error ivas_compute_core_buffers_fx(
         * Compute Weighted Input
         *---------------------------------------------------------------*/

#ifdef NONBE_FIX_ISSUE_2206
#ifdef NONBE_FIX_ISSUE_2206_NO
        Scale_sig( st->buf_wspeech_enc, L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) ); /* Q15 - Q_old_inp_16k */
        st->mem_wsp_enc = shl( st->mem_wsp_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_buf_wspeech_enc ) ) );                                                   // Q_old_inp_16k
        move16();
@@ -1365,7 +1362,7 @@ 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 );
#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
        st->exp_old_inp_16k = st->exp_old_inp_12k8;
        move16();
#else
@@ -1382,7 +1379,11 @@ ivas_error ivas_compute_core_buffers_fx(

    IF( new_inp_resamp16k_out_fx != NULL )
    {
#ifdef NONBE_FIX_ISSUE_2206
        Copy_Scale_sig( new_inp_resamp16k_fx, new_inp_resamp16k_out_fx, L_FRAME16k, sub( sub( *Q_new, 1 ), Q_old_inp_16k ) );
#else
        Copy( new_inp_resamp16k_fx, new_inp_resamp16k_out_fx, L_FRAME16k );
#endif
    }
    test();
    IF( EQ_16( st->L_frame, L_FRAME16k ) && NE_16( element_mode, IVAS_CPE_MDCT ) )
+6 −6
Original line number Diff line number Diff line
@@ -833,7 +833,7 @@ ivas_error ivas_cpe_enc_fx(
        move16();

        stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL );
#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
        /* Normalise sts[0]->input32_fx */
        Word16 Qs0, Qs1, Qs2, Qs3, Qold2, Qnew2;
        assert( out_start_ind <= 0 && out_end_ind >= 0 );
@@ -891,7 +891,7 @@ ivas_error ivas_cpe_enc_fx(

        /* iDFT & resampling to 12.8kHz internal sampling rate */
        stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[0] + L_INP_MEM, &out_12k8_start_ind[0], &out_12k8_end_ind[0], 0, input_Fs, INT_FS_12k8, 0, NULL );
#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
        Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], L_INP_12k8, sub( sts[0]->q_inp, Q15 ) ); // Q15->sts[0]->q_inp
#else
        Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], L_INP_12k8, -Q16 ); // Q-1
@@ -914,8 +914,8 @@ ivas_error ivas_cpe_enc_fx(
        {
            stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_16k_fx[0] + L_INP_MEM, &out_16k_start_ind, &out_16k_end_ind, 0, input_Fs, internal_Fs, 0, NULL );
        }
#ifdef NONBE_FIX_ISSUE_2206_NO
        Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, sub( sts[0]->q_inp, Q15 ) ); // Q15->st->q_inp
#ifdef NONBE_FIX_ISSUE_2206
        Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, sub( sts[0]->q_inp, Q15 ) ); // Q15 -> sts[0]->q_inp
#else
        Copy_Scale_sig32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, 0 );                                                                           // Q15->Q-1
#endif
@@ -932,7 +932,7 @@ ivas_error ivas_cpe_enc_fx(
            sts[1]->exp_old_inp_12k8 = Q15;
            move16();
#ifdef NONBE_FIX_ISSUE_2206
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], L_INP_12k8, sub( sts[0]->q_inp, Q15 ) ); // sts[0]->q_inp32
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], L_INP_12k8, sub( sts[1]->q_inp, Q15 ) ); // sts[1]->q_inp
#else
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], L_INP_12k8, -Q16 ); // Q-1
#endif
@@ -1243,7 +1243,7 @@ ivas_error ivas_cpe_enc_fx(

            FOR( Word16 i = 0; i < CPE_CHANNELS; i++ )
            {
#ifdef NONBE_FIX_ISSUE_2206_NO
#ifdef NONBE_FIX_ISSUE_2206
                Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[i], old_inp_12k8_fx[i], L_INP_12k8, sub( Q15, sub( Q_new[i], 1 ) ) ); // *Q_new-1 -> Q15
#else
                Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[i], old_inp_12k8_fx[i], L_INP_12k8, Q16 ); // Q(-1) -> Q15
Loading