Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ #define FIX_BASOP_2350_HARM_0B_BWE /* VA: basop issue 2350: harmonization of the 0b BWE */ #define FIX_2349_HARM_FIND_UV /* VA: basop issue 2349: harmonization of find_uv() function */ #define FIX_2280_REDUCTION_UNNECESSARY_SCALING /* VA: reduction of unnecessary scaling */ //#define FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE #define FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE #define FIX_2280_REDUCTION_UNNECESSARY_SCALING2 /* #################### End BE switches ################################## */ Loading lib_dec/core_switching_dec_fx.c +21 −3 Original line number Diff line number Diff line Loading @@ -172,7 +172,6 @@ void bw_switching_pre_proc_fx( } } test(); test(); test(); Loading Loading @@ -835,7 +834,6 @@ ivas_error core_switching_post_dec_fx( test(); test(); test(); IF( ( ( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) || EQ_16( st_fx->extl, SWB_CNG ) ) && ( NE_16( st_fx->L_frame, st_fx->last_L_frame ) || ( NE_16( st_fx->last_extl, SWB_TBE ) && NE_16( st_fx->last_extl, FB_TBE ) && NE_16( st_fx->last_core, TCX_20_CORE ) && NE_16( st_fx->last_core, TCX_10_CORE ) ) || EQ_16( st_fx->last_core, HQ_CORE ) ) ) || ( LT_16( st_fx->bwidth, st_fx->last_bwidth ) && NE_16( st_fx->last_extl, SWB_TBE ) ) || st_fx->old_ppp_mode || ( ( EQ_16( st_fx->prev_coder_type, AUDIO ) || EQ_16( st_fx->prev_coder_type, INACTIVE ) ) && st_fx->bws_cnt > 0 ) || ( st_fx->bws_cnt == 0 && EQ_16( st_fx->prev_bws_cnt, N_WS2N_FRAMES ) ) ) Loading Loading @@ -911,6 +909,7 @@ ivas_error core_switching_post_dec_fx( return error; } /*---------------------------------------------------------------------* * core_switching_hq_prepare_dec() * Loading Loading @@ -994,9 +993,17 @@ void core_switching_hq_prepare_dec_fx( /* reset state of old_out if switching */ set16_fx( st_fx->hHQ_core->old_out_fx, 0, output_frame ); return; } /*---------------------------------------------------------------------* * core_switch_lb_upsamp() * * Resample HQ/TCX-LB to the output sampling rate (8/16/32/48 kHz) *---------------------------------------------------------------------*/ static void core_switch_lb_upsamp_fx( Decoder_State *st, /* i/o: Decoder state */ Word32 *output /* i/o: LB synth/upsampled LB synth Q10*/ Loading Loading @@ -1072,17 +1079,28 @@ static void core_switch_lb_upsamp_fx( no_col = s_min( no_col, temp ); } #ifdef FIX_2280_REDUCTION_UNNECESSARY_SCALING Scale_sig32( output + imult1616( no_col, st->cldfbSyn->no_channels ), sub( st->hTcxDec->L_frameTCX, imult1616( no_col, st->cldfbSyn->no_channels ) ), Q4 - Q10 ); /* Q4 */ #else Scale_sig32( output + imult1616( no_col, st->cldfbSyn->no_channels ), sub( L_FRAME48k, imult1616( no_col, st->cldfbSyn->no_channels ) ), 4 - 10 ); /* Q4 */ #endif /* save synthesis - needed in case of core switching */ IF( st->hTcxDec != NULL ) { Copy_Scale_sig_32_16( output, st->previoussynth_fx, st->hTcxDec->L_frameTCX, -4 ); /* Q0 */ Copy_Scale_sig_32_16( output, st->previoussynth_fx, st->hTcxDec->L_frameTCX, -Q4 ); /* Q0 */ } return; } /*---------------------------------------------------------------------* * smoothTransitionDtxToTcx() * * apply smoothing to the transition part for inactive to active transitions in DTX *---------------------------------------------------------------------*/ #define TRANSITION_SMOOTHING_LEN_16k 15 #define TRANSITION_SMOOTHING_LEN_32k 31 #define TRANSITION_SMOOTHING_LEN_48k 47 Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ #define FIX_BASOP_2350_HARM_0B_BWE /* VA: basop issue 2350: harmonization of the 0b BWE */ #define FIX_2349_HARM_FIND_UV /* VA: basop issue 2349: harmonization of find_uv() function */ #define FIX_2280_REDUCTION_UNNECESSARY_SCALING /* VA: reduction of unnecessary scaling */ //#define FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE #define FIX_2280_REDUCTION_UNNECESSARY_SCALING_NONBE #define FIX_2280_REDUCTION_UNNECESSARY_SCALING2 /* #################### End BE switches ################################## */ Loading
lib_dec/core_switching_dec_fx.c +21 −3 Original line number Diff line number Diff line Loading @@ -172,7 +172,6 @@ void bw_switching_pre_proc_fx( } } test(); test(); test(); Loading Loading @@ -835,7 +834,6 @@ ivas_error core_switching_post_dec_fx( test(); test(); test(); IF( ( ( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) || EQ_16( st_fx->extl, SWB_CNG ) ) && ( NE_16( st_fx->L_frame, st_fx->last_L_frame ) || ( NE_16( st_fx->last_extl, SWB_TBE ) && NE_16( st_fx->last_extl, FB_TBE ) && NE_16( st_fx->last_core, TCX_20_CORE ) && NE_16( st_fx->last_core, TCX_10_CORE ) ) || EQ_16( st_fx->last_core, HQ_CORE ) ) ) || ( LT_16( st_fx->bwidth, st_fx->last_bwidth ) && NE_16( st_fx->last_extl, SWB_TBE ) ) || st_fx->old_ppp_mode || ( ( EQ_16( st_fx->prev_coder_type, AUDIO ) || EQ_16( st_fx->prev_coder_type, INACTIVE ) ) && st_fx->bws_cnt > 0 ) || ( st_fx->bws_cnt == 0 && EQ_16( st_fx->prev_bws_cnt, N_WS2N_FRAMES ) ) ) Loading Loading @@ -911,6 +909,7 @@ ivas_error core_switching_post_dec_fx( return error; } /*---------------------------------------------------------------------* * core_switching_hq_prepare_dec() * Loading Loading @@ -994,9 +993,17 @@ void core_switching_hq_prepare_dec_fx( /* reset state of old_out if switching */ set16_fx( st_fx->hHQ_core->old_out_fx, 0, output_frame ); return; } /*---------------------------------------------------------------------* * core_switch_lb_upsamp() * * Resample HQ/TCX-LB to the output sampling rate (8/16/32/48 kHz) *---------------------------------------------------------------------*/ static void core_switch_lb_upsamp_fx( Decoder_State *st, /* i/o: Decoder state */ Word32 *output /* i/o: LB synth/upsampled LB synth Q10*/ Loading Loading @@ -1072,17 +1079,28 @@ static void core_switch_lb_upsamp_fx( no_col = s_min( no_col, temp ); } #ifdef FIX_2280_REDUCTION_UNNECESSARY_SCALING Scale_sig32( output + imult1616( no_col, st->cldfbSyn->no_channels ), sub( st->hTcxDec->L_frameTCX, imult1616( no_col, st->cldfbSyn->no_channels ) ), Q4 - Q10 ); /* Q4 */ #else Scale_sig32( output + imult1616( no_col, st->cldfbSyn->no_channels ), sub( L_FRAME48k, imult1616( no_col, st->cldfbSyn->no_channels ) ), 4 - 10 ); /* Q4 */ #endif /* save synthesis - needed in case of core switching */ IF( st->hTcxDec != NULL ) { Copy_Scale_sig_32_16( output, st->previoussynth_fx, st->hTcxDec->L_frameTCX, -4 ); /* Q0 */ Copy_Scale_sig_32_16( output, st->previoussynth_fx, st->hTcxDec->L_frameTCX, -Q4 ); /* Q0 */ } return; } /*---------------------------------------------------------------------* * smoothTransitionDtxToTcx() * * apply smoothing to the transition part for inactive to active transitions in DTX *---------------------------------------------------------------------*/ #define TRANSITION_SMOOTHING_LEN_16k 15 #define TRANSITION_SMOOTHING_LEN_32k 31 #define TRANSITION_SMOOTHING_LEN_48k 47 Loading