Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ /* any switch which is non-be wrt. TS 26.251 V3.0 */ #define NONBE_MR2809 #define FIX_2432_ISM_SPIKES_16KHZ /* VA: basop issue 2432: fix spikes in ISM decoding at 16kHz output sampling rate */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_core_dec_fx.c +12 −5 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ ivas_error ivas_core_dec_fx( Word16 tmp16, tmp16_2, j; Word16 Q_white_exc; Word16 tmps, incr; Word16 flag_bwe_bws, flaf_swb_tbe; Word16 flag_bwe_bws, flag_swb_tbe; Word32 *bwe_exc_extended_fx[CPE_CHANNELS] = { NULL, NULL }; Word16 voice_factors_fx[CPE_CHANNELS][NB_SUBFR16k]; // Q15 Word16 core_switching_flag[CPE_CHANNELS]; Loading Loading @@ -922,7 +922,7 @@ ivas_error ivas_core_dec_fx( Q_synth_fx = Q_synth; move16(); flaf_swb_tbe = 0; flag_swb_tbe = 0; move16(); test(); test(); Loading @@ -934,7 +934,7 @@ ivas_error ivas_core_dec_fx( test(); if ( EQ_16( st->extl, SWB_TBE ) || EQ_16( st->extl, FB_TBE ) || ( NE_16( st->coder_type, AUDIO ) && NE_16( st->coder_type, INACTIVE ) && GE_32( st->core_brate, SID_2k40 ) && EQ_16( st->core, ACELP_CORE ) && !st->con_tcx && GE_32( output_Fs, 32000 ) && GT_16( st->bwidth, NB ) && st->bws_cnt > 0 ) ) { flaf_swb_tbe = 1; flag_swb_tbe = 1; move16(); } Loading Loading @@ -965,7 +965,7 @@ ivas_error ivas_core_dec_fx( } /* Memories Re-Scaling */ IF( !flaf_swb_tbe ) IF( !flag_swb_tbe ) { Copy_Scale_sig_16_32_no_sat( hb_synth_16_fx[n], hb_synth_32_fx[n], L_FRAME48k, sub( Q11, Q_hb_synth_fx ) ); // Q11 } Loading Loading @@ -997,7 +997,7 @@ ivas_error ivas_core_dec_fx( test(); test(); IF( flaf_swb_tbe ) IF( flag_swb_tbe ) { /* SWB TBE decoder */ swb_tbe_dec_ivas_fx( st, hStereoICBWE, bwe_exc_extended_fx[n], st->Q_exc, voice_factors_fx[n], old_syn_12k8_16k_fx[n], tmp_buffer_fx /*fb_exc*/, hb_synth_32_fx[n], pitch_buf_fx[n], &Q_white_exc ); Loading Loading @@ -1031,7 +1031,14 @@ ivas_error ivas_core_dec_fx( test(); test(); test(); #ifdef FIX_2432_ISM_SPIKES_16KHZ test(); test(); test(); IF( ( st->core == ACELP_CORE && ( EQ_16( st->extl, -1 ) || EQ_16( st->extl, SWB_CNG ) || ( EQ_16( st->extl, WB_BWE ) && st->bws_cnt > 0 && flag_swb_tbe == 0 ) ) ) && flag_bwe_bws == 0 ) #else IF( ( st->core == ACELP_CORE && ( EQ_16( st->extl, -1 ) || EQ_16( st->extl, SWB_CNG ) ) ) && flag_bwe_bws == 0 ) #endif { set32_fx( hb_synth_32_fx[n], 0, L_FRAME48k ); } Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ /* any switch which is non-be wrt. TS 26.251 V3.0 */ #define NONBE_MR2809 #define FIX_2432_ISM_SPIKES_16KHZ /* VA: basop issue 2432: fix spikes in ISM decoding at 16kHz output sampling rate */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_core_dec_fx.c +12 −5 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ ivas_error ivas_core_dec_fx( Word16 tmp16, tmp16_2, j; Word16 Q_white_exc; Word16 tmps, incr; Word16 flag_bwe_bws, flaf_swb_tbe; Word16 flag_bwe_bws, flag_swb_tbe; Word32 *bwe_exc_extended_fx[CPE_CHANNELS] = { NULL, NULL }; Word16 voice_factors_fx[CPE_CHANNELS][NB_SUBFR16k]; // Q15 Word16 core_switching_flag[CPE_CHANNELS]; Loading Loading @@ -922,7 +922,7 @@ ivas_error ivas_core_dec_fx( Q_synth_fx = Q_synth; move16(); flaf_swb_tbe = 0; flag_swb_tbe = 0; move16(); test(); test(); Loading @@ -934,7 +934,7 @@ ivas_error ivas_core_dec_fx( test(); if ( EQ_16( st->extl, SWB_TBE ) || EQ_16( st->extl, FB_TBE ) || ( NE_16( st->coder_type, AUDIO ) && NE_16( st->coder_type, INACTIVE ) && GE_32( st->core_brate, SID_2k40 ) && EQ_16( st->core, ACELP_CORE ) && !st->con_tcx && GE_32( output_Fs, 32000 ) && GT_16( st->bwidth, NB ) && st->bws_cnt > 0 ) ) { flaf_swb_tbe = 1; flag_swb_tbe = 1; move16(); } Loading Loading @@ -965,7 +965,7 @@ ivas_error ivas_core_dec_fx( } /* Memories Re-Scaling */ IF( !flaf_swb_tbe ) IF( !flag_swb_tbe ) { Copy_Scale_sig_16_32_no_sat( hb_synth_16_fx[n], hb_synth_32_fx[n], L_FRAME48k, sub( Q11, Q_hb_synth_fx ) ); // Q11 } Loading Loading @@ -997,7 +997,7 @@ ivas_error ivas_core_dec_fx( test(); test(); IF( flaf_swb_tbe ) IF( flag_swb_tbe ) { /* SWB TBE decoder */ swb_tbe_dec_ivas_fx( st, hStereoICBWE, bwe_exc_extended_fx[n], st->Q_exc, voice_factors_fx[n], old_syn_12k8_16k_fx[n], tmp_buffer_fx /*fb_exc*/, hb_synth_32_fx[n], pitch_buf_fx[n], &Q_white_exc ); Loading Loading @@ -1031,7 +1031,14 @@ ivas_error ivas_core_dec_fx( test(); test(); test(); #ifdef FIX_2432_ISM_SPIKES_16KHZ test(); test(); test(); IF( ( st->core == ACELP_CORE && ( EQ_16( st->extl, -1 ) || EQ_16( st->extl, SWB_CNG ) || ( EQ_16( st->extl, WB_BWE ) && st->bws_cnt > 0 && flag_swb_tbe == 0 ) ) ) && flag_bwe_bws == 0 ) #else IF( ( st->core == ACELP_CORE && ( EQ_16( st->extl, -1 ) || EQ_16( st->extl, SWB_CNG ) ) ) && flag_bwe_bws == 0 ) #endif { set32_fx( hb_synth_32_fx[n], 0, L_FRAME48k ); } Loading