Commit ef5001f7 authored by Manuel Jander's avatar Manuel Jander
Browse files

Merge almost all changes from...

Merge almost all changes from 2206-assert-in-stereo_switching_enc_fx-for-omasa-rate-switching-input-new-stv_revVE
parent 43d2ad5e
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ CFLAGS += -std=c99 -pedantic -Wcast-qual -Wall -W -Wextra -Wno-long-long \
            -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes  \
            -Werror-implicit-function-declaration \
            -Wno-implicit-fallthrough -ffp-contract=off \
            -Winit-self -Wunused-but-set-variable
            -Winit-self -Wunused-but-set-variable -Wcast-align
# to be uncommented in CI
# CFLAGS += -Werror

+6 −5
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ ivas_error evs_enc_fx(
    move16();
    st->hBWE_FD->Q_new_input_hp = 0;
    move16();
    st->hBWE_FD->old_fdbwe_speech_q = -1;
    st->hBWE_FD->old_fdbwe_speech_q = -Q1;
    move16();
    st->hBWE_FD->old_input_q = 0;
    move16();
@@ -427,21 +427,22 @@ ivas_error evs_enc_fx(
    {
        /* Common pre-processing for WB TBE and WB BWE */
#ifdef NONBE_FIX_ISSUE_2206
        wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech, -1 );
        wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech, -Q1 );
#else
        wb_pre_proc_fx( st, EVS_MONO, new_inp_resamp16k, hb_speech );
#endif
    }

#ifdef NONBE_FIX_ISSUE_2206
    st->q_inp = -1; /* meaning Q0 */
    st->q_inp = -Q1; /* meaning Q0 */
    move16();
#endif

    IF( EQ_16( st->extl, WB_TBE ) )
    {
        /* WB TBE encoder */
#ifdef NONBE_FIX_ISSUE_2206
        wb_tbe_enc_fx( st, hb_speech, -1, bwe_exc_extended, Q_new, voice_factors, pitch_buf );
        wb_tbe_enc_fx( st, hb_speech, -Q1, bwe_exc_extended, Q_new, voice_factors, pitch_buf );
#else
        wb_tbe_enc_fx( st, hb_speech, bwe_exc_extended, Q_new, voice_factors, pitch_buf );
#endif
@@ -454,7 +455,7 @@ ivas_error evs_enc_fx(
    {
        /* WB BWE encoder */
#ifdef NONBE_FIX_ISSUE_2206
        wb_bwe_enc_fx( st, new_inp_resamp16k, -1 );
        wb_bwe_enc_fx( st, new_inp_resamp16k, -Q1 );
#else
        wb_bwe_enc_fx( st, new_inp_resamp16k );
#endif
+1 −1
Original line number Diff line number Diff line
@@ -548,7 +548,7 @@ void pre_proc_front_ivas_fx(
        set16_fx( temp1F_icatdmResampBuf_fx, 0, L_FILT_MAX );
        new_inp_out_size = modify_Fs_fx( temp1F_icatdmResampBuf_fx, NS2SA_FX2( input_Fs, DELAY_FIR_RESAMPL_NS ), input_Fs, new_inp_12k8_fx + L_FRAME, INT_FS_12k8, mem_decim_dummy_fx, 0, &Q_new_inp, &mem_decim_size ); /* st->q_inp */
#ifdef NONBE_FIX_ISSUE_2206
        /* The scalining below can saturate if Q_new_inp <= -2 */
        /* The scaling below can saturate if Q_new_inp <= -2 */
        scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/
#else
        Scale_sig( new_inp_12k8_fx + L_FRAME, new_inp_out_size, negate( Q_new_inp ) ); /* scaling back to st->q_inp*/
+2 −11
Original line number Diff line number Diff line
@@ -964,7 +964,7 @@ ivas_error ivas_cpe_enc_fx(
        q_inp32 = sts[0]->q_inp32;
        move16();
        stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[0] + L_INP_MEM, &q_inp32, &out_12k8_start_ind[0], &out_12k8_end_ind[0], 0, input_Fs, INT_FS_12k8, 0, NULL );
        // Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], L_INP_12k8, sub( sts[0]->q_inp, q_inp32 ) ); // q_inp32->sts[0]->q_inp

        Copy_Scale_sig_32_16( old_inp_12k8_fx[0], old_inp_12k8_16fx[0], add( L_INP_MEM, out_12k8_start_ind[0] ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) );                                                                                            // q_inp32->sts[0]->q_inp
        Copy_Scale_sig_32_16( old_inp_12k8_fx[0] + L_INP_MEM + out_12k8_start_ind[0], old_inp_12k8_16fx[0] + L_INP_MEM + out_12k8_start_ind[0], sub( out_12k8_end_ind[0], out_12k8_start_ind[0] ), sub( sts[0]->q_inp, q_inp32 ) );                  // q_inp32->sts[0]->q_inp
        Copy_Scale_sig_32_16( old_inp_12k8_fx[0] + L_INP_MEM + out_12k8_end_ind[0], old_inp_12k8_16fx[0] + L_INP_MEM + out_12k8_end_ind[0], s_max( 0, sub( L_INP_12k8 - L_INP_MEM, out_12k8_end_ind[0] ) ), sub( sts[0]->q_inp, sts[0]->q_inp32 ) ); // sts[0]->q_inp32->sts[0]->q_inp
@@ -977,7 +977,6 @@ ivas_error ivas_cpe_enc_fx(
        IF( EQ_32( input_Fs, internal_Fs ) )
        {
#ifdef NONBE_FIX_ISSUE_2206
            // Copy_Scale_sig32( sts[0]->input32_fx - STEREO_DFT_OVL_16k, old_inp_16k_fx[0] + L_INP_MEM - STEREO_DFT_OVL_16k, add( input_frame, STEREO_DFT_OVL_16k ), sub( Q15, sts[0]->q_inp32 ) ); /* Q15 */
            Copy32( sts[0]->input32_fx - STEREO_DFT_OVL_16k, old_inp_16k_fx[0] + L_INP_MEM - STEREO_DFT_OVL_16k, add( input_frame, STEREO_DFT_OVL_16k ) ); /* sts[0]->q_inp32 */
            Copy_Scale_sig_32_16( old_inp_16k_fx[0], old_inp_16k_16fx[0], L_INP, sub( sts[0]->q_inp, sts[0]->q_inp32 ) );                                  // q_inp32 -> sts[0]->q_inp
#else
@@ -1015,18 +1014,13 @@ ivas_error ivas_cpe_enc_fx(
            move16();
            stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM, &q_inp32, &out_12k8_start_ind[1], &out_12k8_end_ind[1], 1, input_Fs, 8000, 0, NULL );


            /* update old input signal buffer */
            // Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k, sts[1]->old_inp_12k8_fx, L_INP_MEM, 0 - 15 ); // Q0
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k, sts[1]->old_inp_12k8_fx, add( L_INP_MEM, out_12k8_start_ind[1] ), sub( 0, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q0
            // Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k + L_INP_MEM + out_12k8_start_ind[1], sts[1]->old_inp_12k8_fx + L_INP_MEM + out_12k8_start_ind[1], sub( out_12k8_end_ind[1], out_12k8_start_ind[1] ), sub( 0, q_inp32 ) ); // q_inp32 -> Q0
            assert( out_12k8_start_ind[1] <= 0 );
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k + L_INP_MEM + out_12k8_start_ind[1], sts[1]->old_inp_12k8_fx + L_INP_MEM + out_12k8_start_ind[1], sub( 0, out_12k8_start_ind[1] ), sub( 0, q_inp32 ) ); // q_inp32 -> Q0
            // Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_FRAME8k + L_INP_MEM + out_12k8_end_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_end_ind[1], sub( L_INP_MEM - L_INP_MEM, out_12k8_end_ind[1], ), sub( 0, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q0

            sts[1]->exp_old_inp_12k8 = Q15;
            move16();
            // Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], L_INP_12k8, -Q16 ); // Q-1
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1], old_inp_12k8_16fx[1], add( L_INP_MEM, out_12k8_start_ind[1] ), sub( -1, sts[1]->q_inp32 ) );                                                                                            // sts[1]->q_inp32 -> Q-1
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_INP_MEM + out_12k8_start_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_start_ind[1], sub( out_12k8_end_ind[1], out_12k8_start_ind[1] ), sub( -1, q_inp32 ) );                  // q_inp32 -> Q-1
            Copy_Scale_sig_32_16( old_inp_12k8_fx[1] + L_INP_MEM + out_12k8_end_ind[1], old_inp_12k8_16fx[1] + L_INP_MEM + out_12k8_end_ind[1], s_max( 0, sub( L_INP_12k8 - L_INP_MEM, out_12k8_end_ind[1] ) ), sub( -1, sts[1]->q_inp32 ) ); // sts[1]->q_inp32 -> Q-1
@@ -1342,10 +1336,6 @@ ivas_error ivas_cpe_enc_fx(
            }

#ifdef NONBE_FIX_ISSUE_2206
#if ( CPE_CHANNELS != 2 )
#error
#endif
            // Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[0], old_inp_12k8_fx[0], L_INP_12k8, sub( Q15 + 1, Q_new[0] ) ); // Q_new[0]-1 -> Q15
            Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[1], old_inp_12k8_fx[1], L_INP_12k8, Q15 + 1 ); // Q(-1) -> Q15
#else
            FOR( i = 0; i < CPE_CHANNELS; i++ )
@@ -1353,6 +1343,7 @@ ivas_error ivas_cpe_enc_fx(
                Copy_Scale_sig_16_32_no_sat( old_inp_12k8_16fx[i], old_inp_12k8_fx[i], L_INP_12k8, Q16 ); // Q(-1) -> Q15
            }
#endif

            stereo_dft_enc_res_fx( hCPE->hStereoDft, old_inp_12k8_fx[1] + L_INP_MEM - STEREO_DFT_OVL_8k, hCPE->hMetaData, &nb_bits, max_bits );
        }

+0 −1
Original line number Diff line number Diff line
@@ -358,7 +358,6 @@ ivas_error ivas_sce_enc_fx(
    e_old_wsp[0] = Q16;
    move16();
#endif

    IF( NE_32( ( error = ivas_core_enc_fx( hSCE, NULL, NULL, 1, old_inp_12k8_fx, old_inp_16k_fx, Q_new, ener_fx, A_fx, Aw_fx, epsP_fx, epsP_fx_q, lsp_new_fx, lsp_mid_fx, vad_hover_flag, attack_flag, realBuffer_fx, imagBuffer_fx, &q_re_im_buf, old_wsp_fx, e_old_wsp, loc_harm, cor_map_sum_fx, vad_flag_dtx, enerBuffer_fx, enerBuffer_fx_exp, fft_buff_fx, 0, ivas_format, flag_16k_smc ) ), IVAS_ERR_OK ) )
    {
        return error;
Loading