Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -172,4 +172,5 @@ #define DOT_PROD_CHOLESKY_64BIT /* FhG: Issue 1323, optimized 64 bit implementation of dot_product_cholesky() */ #define OPT_BASOP_ADD_v1 /* optimizations to avoid usage of BASOP_Util_Add_MantExp */ #define FIX_ISSUE_1327 /* Ittiam: Fix for issue 1327: Glitch when stereo is switching from TD to FD*/ //#define FIX_WAVEADJUST /* fix waveform adjustment decoder PLC */ #endif lib_com/prot_fx.h +9 −9 Original line number Diff line number Diff line Loading @@ -6346,20 +6346,20 @@ void set_state( Word16 N ); void concealment_init_x( Word16 N, void *_plcInfo ); const Word16 L_frameTCX, T_PLCInfo_HANDLE hPlcInfo ); void concealment_init_ivas_fx( const Word16 L_frameTCX, T_PLCInfo_HANDLE hPlcInfo ); void concealment_update_x( Word16 bfi, Word16 curr_mode, Word16 harmonic, Word32 *invkoef, const Word16 bfi, const Word16 core, const Word16 tonality, Word32 *invkoef /*Qinvkoef_scale*/, Word16 *invkoef_scale, void *_plcInfo ); T_PLCInfo_HANDLE hPlcInfo ); Word16 Sqrt_x_fast( Word32 value ); Loading Loading @@ -6434,7 +6434,7 @@ void concealment_decode_fix( Word16 curr_mode, Word32 *invkoef, Word16 *invkoef_scale, void *_plcInfo ); T_PLCInfo_HANDLE hPlcInfo ); Word32 Spl_Energy_x( const Word16 *vector, Loading @@ -6448,7 +6448,7 @@ void Log10OfEnergy_x( void concealment_update2_x( const Word16 *outx_new, void *_plcInfo, T_PLCInfo_HANDLE hPlcInfo, const Word16 FrameSize ); Word16 ffr_getSfWord16( Loading lib_dec/amr_wb_dec_fx.c +1 −2 Original line number Diff line number Diff line Loading @@ -214,8 +214,7 @@ ivas_error amr_wb_dec_fx( test(); IF( !st_fx->bfi && st_fx->prev_bfi && ( EQ_16( st_fx->last_codec_mode, MODE2 ) ) && ( EQ_16( st_fx->last_core_bfi, TCX_20_CORE ) || EQ_16( st_fx->last_core_bfi, TCX_10_CORE ) ) ) { /* v_multc(st_fx->old_out_fx, st_fx->plcInfo.recovery_gain, */ /* st_fx->old_out_fx, st_fx->L_frameTCX); */ /* v_multc(st_fx->old_out_fx, st_fx->hPlcInfo.recovery_gain, st_fx->old_out_fx, st_fx->L_frameTCX); */ FOR( i = 0; i < hTcxDec->L_frameTCX; i++ ) { hHQ_core->old_out_fx[i] = shl( mult_r( hHQ_core->old_out_fx[i], st_fx->hPlcInfo->recovery_gain ), 1 ); Loading lib_dec/core_dec_init_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1029,7 +1029,7 @@ void open_decoder_LPD_fx( test(); IF( EQ_16( st->ini_frame, 0 ) || LT_32( st->last_total_brate, HQ_48k ) || EQ_16( st->last_codec_mode, MODE1 ) || st->force_lpd_reset ) { concealment_init_x( hTcxDec->L_frameTCX, &st->hPlcInfo ); concealment_init_x( hTcxDec->L_frameTCX, st->hPlcInfo ); } } Loading lib_dec/dec_tcx_fx.c +8 −4 Original line number Diff line number Diff line Loading @@ -1011,10 +1011,10 @@ void decoder_tcx_fx( IF( bfi && ( EQ_16( temp_concealment_method, TCX_NONTONAL ) ) ) { /* x_e =31-x_scale; */ concealment_decode_fix( core, x, &x_e, &st->hPlcInfo ); concealment_decode_fix( core, x, &x_e, st->hPlcInfo ); } /* update spectrum buffer, tonality flag, etc. */ concealment_update_x( bfi, core, st->tonality_flag, x, &x_e, &st->hPlcInfo ); concealment_update_x( bfi, core, st->tonality_flag, x, &x_e, st->hPlcInfo ); } /*-----------------------------------------------------------* Loading Loading @@ -4406,7 +4406,11 @@ void decoder_tcx_noisefilling_fx( /* get the starting location of the subframe in the frame */ IF( EQ_16( st->core, TCX_10_CORE ) ) { #ifdef FIX_WAVEADJUST st->hPlcInfo->subframe_fx = extract_l( L_mult0( frame_cnt, L_frameTCX_glob ) ); #else st->hPlcInfo->subframe = extract_l( L_mult0( frame_cnt, L_frameTCX_glob ) ); #endif move16(); } } Loading Loading @@ -4797,11 +4801,11 @@ void decoder_tcx_noiseshaping_igf_fx( /* spectrum concealment */ IF( bfi && EQ_16( *temp_concealment_method, TCX_NONTONAL ) ) { concealment_decode_fix( st->core, x_fx, x_e, &st->hPlcInfo ); concealment_decode_fix( st->core, x_fx, x_e, st->hPlcInfo ); } /* update spectrum buffer, tonality flag, etc. */ concealment_update_x( bfi, st->core, st->tonality_flag, x_fx, x_e, &st->hPlcInfo ); concealment_update_x( bfi, st->core, st->tonality_flag, x_fx, x_e, st->hPlcInfo ); *x_len = s_max( *x_len, st->hPlcInfo->L_frameTCX ); move16(); Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -172,4 +172,5 @@ #define DOT_PROD_CHOLESKY_64BIT /* FhG: Issue 1323, optimized 64 bit implementation of dot_product_cholesky() */ #define OPT_BASOP_ADD_v1 /* optimizations to avoid usage of BASOP_Util_Add_MantExp */ #define FIX_ISSUE_1327 /* Ittiam: Fix for issue 1327: Glitch when stereo is switching from TD to FD*/ //#define FIX_WAVEADJUST /* fix waveform adjustment decoder PLC */ #endif
lib_com/prot_fx.h +9 −9 Original line number Diff line number Diff line Loading @@ -6346,20 +6346,20 @@ void set_state( Word16 N ); void concealment_init_x( Word16 N, void *_plcInfo ); const Word16 L_frameTCX, T_PLCInfo_HANDLE hPlcInfo ); void concealment_init_ivas_fx( const Word16 L_frameTCX, T_PLCInfo_HANDLE hPlcInfo ); void concealment_update_x( Word16 bfi, Word16 curr_mode, Word16 harmonic, Word32 *invkoef, const Word16 bfi, const Word16 core, const Word16 tonality, Word32 *invkoef /*Qinvkoef_scale*/, Word16 *invkoef_scale, void *_plcInfo ); T_PLCInfo_HANDLE hPlcInfo ); Word16 Sqrt_x_fast( Word32 value ); Loading Loading @@ -6434,7 +6434,7 @@ void concealment_decode_fix( Word16 curr_mode, Word32 *invkoef, Word16 *invkoef_scale, void *_plcInfo ); T_PLCInfo_HANDLE hPlcInfo ); Word32 Spl_Energy_x( const Word16 *vector, Loading @@ -6448,7 +6448,7 @@ void Log10OfEnergy_x( void concealment_update2_x( const Word16 *outx_new, void *_plcInfo, T_PLCInfo_HANDLE hPlcInfo, const Word16 FrameSize ); Word16 ffr_getSfWord16( Loading
lib_dec/amr_wb_dec_fx.c +1 −2 Original line number Diff line number Diff line Loading @@ -214,8 +214,7 @@ ivas_error amr_wb_dec_fx( test(); IF( !st_fx->bfi && st_fx->prev_bfi && ( EQ_16( st_fx->last_codec_mode, MODE2 ) ) && ( EQ_16( st_fx->last_core_bfi, TCX_20_CORE ) || EQ_16( st_fx->last_core_bfi, TCX_10_CORE ) ) ) { /* v_multc(st_fx->old_out_fx, st_fx->plcInfo.recovery_gain, */ /* st_fx->old_out_fx, st_fx->L_frameTCX); */ /* v_multc(st_fx->old_out_fx, st_fx->hPlcInfo.recovery_gain, st_fx->old_out_fx, st_fx->L_frameTCX); */ FOR( i = 0; i < hTcxDec->L_frameTCX; i++ ) { hHQ_core->old_out_fx[i] = shl( mult_r( hHQ_core->old_out_fx[i], st_fx->hPlcInfo->recovery_gain ), 1 ); Loading
lib_dec/core_dec_init_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1029,7 +1029,7 @@ void open_decoder_LPD_fx( test(); IF( EQ_16( st->ini_frame, 0 ) || LT_32( st->last_total_brate, HQ_48k ) || EQ_16( st->last_codec_mode, MODE1 ) || st->force_lpd_reset ) { concealment_init_x( hTcxDec->L_frameTCX, &st->hPlcInfo ); concealment_init_x( hTcxDec->L_frameTCX, st->hPlcInfo ); } } Loading
lib_dec/dec_tcx_fx.c +8 −4 Original line number Diff line number Diff line Loading @@ -1011,10 +1011,10 @@ void decoder_tcx_fx( IF( bfi && ( EQ_16( temp_concealment_method, TCX_NONTONAL ) ) ) { /* x_e =31-x_scale; */ concealment_decode_fix( core, x, &x_e, &st->hPlcInfo ); concealment_decode_fix( core, x, &x_e, st->hPlcInfo ); } /* update spectrum buffer, tonality flag, etc. */ concealment_update_x( bfi, core, st->tonality_flag, x, &x_e, &st->hPlcInfo ); concealment_update_x( bfi, core, st->tonality_flag, x, &x_e, st->hPlcInfo ); } /*-----------------------------------------------------------* Loading Loading @@ -4406,7 +4406,11 @@ void decoder_tcx_noisefilling_fx( /* get the starting location of the subframe in the frame */ IF( EQ_16( st->core, TCX_10_CORE ) ) { #ifdef FIX_WAVEADJUST st->hPlcInfo->subframe_fx = extract_l( L_mult0( frame_cnt, L_frameTCX_glob ) ); #else st->hPlcInfo->subframe = extract_l( L_mult0( frame_cnt, L_frameTCX_glob ) ); #endif move16(); } } Loading Loading @@ -4797,11 +4801,11 @@ void decoder_tcx_noiseshaping_igf_fx( /* spectrum concealment */ IF( bfi && EQ_16( *temp_concealment_method, TCX_NONTONAL ) ) { concealment_decode_fix( st->core, x_fx, x_e, &st->hPlcInfo ); concealment_decode_fix( st->core, x_fx, x_e, st->hPlcInfo ); } /* update spectrum buffer, tonality flag, etc. */ concealment_update_x( bfi, st->core, st->tonality_flag, x_fx, x_e, &st->hPlcInfo ); concealment_update_x( bfi, st->core, st->tonality_flag, x_fx, x_e, st->hPlcInfo ); *x_len = s_max( *x_len, st->hPlcInfo->L_frameTCX ); move16(); Loading