Loading lib_enc/ivas_core_pre_proc_fx.c +20 −10 Original line number Diff line number Diff line Loading @@ -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 } /*-----------------------------------------------------------------* Loading Loading @@ -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(); Loading Loading @@ -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 ) ); Loading @@ -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 ) ); Loading Loading @@ -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 */ Loading Loading @@ -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 Loading Loading @@ -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(); Loading Loading
lib_enc/ivas_core_pre_proc_fx.c +20 −10 Original line number Diff line number Diff line Loading @@ -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 } /*-----------------------------------------------------------------* Loading Loading @@ -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(); Loading Loading @@ -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 ) ); Loading @@ -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 ) ); Loading Loading @@ -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 */ Loading Loading @@ -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 Loading Loading @@ -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(); Loading