Loading lib_com/ivas_stereo_td_bit_alloc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -716,7 +716,11 @@ void tdm_SCh_LSF_intra_pred_fx( fixed_beta = 30801; // 0.94f in Q15 move16(); } #ifndef FIX_ISSUE_2613_WRONG_COMP_MACRO ELSE IF( element_brate <= IVAS_24k4 ) #else ELSE IF( LE_32( element_brate, IVAS_24k4 ) ) #endif // !FIX_ISSUE_2613_WRONG_COMP_MACRO { fixed_beta = 29818; // 0.91f in Q15 move16(); Loading lib_com/options.h +4 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,10 @@ #define HARMONIZE_2598_tcx_arith_decode_envelope /* FhG: harmonize tcx_arith_decode_envelope between EVS and IVAS versions */ #define HARMONIZE_2598_tcx_arith_encode_envelope /* FhG: harmonize tcx_arith_encode_envelope between EVS and IVAS versions */ #define FIX_ISSUE_2594_FALSE_COMMENT /* FhG: basop issue 2594: fixing false comments about Q value*/ #define FIX_ISSUE_2616_BOUNDARY_CONDITION /* FhG: basop issue 2616: Inconsistent boundary conditions in function stereo_dft_dequantize_res_gains*/ #define FIX_ISSUE_2613_WRONG_COMP_MACRO /* FhG: basop issue 2613: Inconsistent comparison macros in function tdm_SCh_LSF_intra_pred_fx*/ #define FIX_ISSUE_2611_WRONG_COMMENT /* FhG: basop issue 2611: Wrong Q value comment in fucntion stereo_dft_sg_recovery_fx()*/ #define FIX_BASOP_2550_TCX_ENC_MEM_UPDATE /* FhG: fix condition in tcx_encoder_memory_update_*_fx(), bring inline with float */ /* #################### End BE switches ################################## */ Loading lib_dec/ivas_stereo_dft_dec_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -445,7 +445,11 @@ static void stereo_dft_dequantize_res_gains_fx( move16(); ind2[i] = check_bounds_s_fx( ind2[i], 0, 7 ); /* Q0 */ move16(); #ifndef FIX_ISSUE_2616_BOUNDARY_CONDITION IF( LE_16( ind1[i], 15 ) ) #else IF( LT_16( ind1[i], 15 ) ) #endif // !FIX_ISSUE_2616_BOUNDARY_CONDITION { tmp = sub( 15, ind1[i] ); } Loading @@ -456,7 +460,11 @@ static void stereo_dft_dequantize_res_gains_fx( // index = add( shl( LE_16( ind1[i], 15 ) ? sub( 15, ind1[i] ) : sub( ind1[i], 15 ), 3 ), ind2[i] ); index = add( shl( tmp, 3 ), ind2[i] ); // gout[i] = LE_16( ind1[i], 15 ) ? L_negate( dft_res_gains_q_fx[index][0] ) : dft_res_gains_q_fx[index][0]; #ifndef FIX_ISSUE_2616_BOUNDARY_CONDITION IF( LE_16( ind1[i], 15 ) ) #else IF( LT_16( ind1[i], 15 ) ) #endif // !FIX_ISSUE_2616_BOUNDARY_CONDITION { gout[i] = L_negate( dft_res_gains_q_fx[index][0] ); /* Q31 */ move16(); Loading lib_dec/ivas_stereo_dft_plc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -844,7 +844,11 @@ Word16 stereo_dft_sg_recovery_fx( test(); IF( LT_32( sg_m, (Word32) 0x4CCCCCCD ) && GT_32( sg_m, (Word32) ( 0xB3333333 ) ) ) { #ifndef FIX_ISSUE_2611_WRONG_COMMENT hStereoDft->sg_mean_fx = 0; /* Q13 */ #else hStereoDft->sg_mean_fx = 0; /* Q31 */ #endif // !FIX_ISSUE_2611_WRONG_COMMENT move32(); } ELSE Loading lib_enc/tcx_utils_enc_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -2418,7 +2418,11 @@ void tcx_encoder_memory_update_fx( Copy( synth + sub( L_frame_glob, L_SYN_MEM ), LPDmem->mem_syn_r, L_SYN_MEM ); test(); #ifdef FIX_BASOP_2550_TCX_ENC_MEM_UPDATE IF( st->tcxonly == 0 || EQ_16( L_frame_glob, L_FRAME16k ) ) #else IF( st->tcxonly == 0 || LE_16( L_frame_glob, L_FRAME16k ) ) #endif { /* Update excitation */ IF( LT_16( L_frame_glob, L_EXC_MEM ) ) Loading Loading @@ -2486,7 +2490,11 @@ void tcx_encoder_memory_update_ivas_fx( move16(); test(); #ifdef FIX_BASOP_2550_TCX_ENC_MEM_UPDATE IF( st->tcxonly == 0 || EQ_16( L_frame_glob, L_FRAME16k ) ) #else IF( st->tcxonly == 0 || LE_16( L_frame_glob, L_FRAME16k ) ) #endif { /* Update excitation */ IF( LT_16( L_frame_glob, L_EXC_MEM ) ) Loading Loading
lib_com/ivas_stereo_td_bit_alloc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -716,7 +716,11 @@ void tdm_SCh_LSF_intra_pred_fx( fixed_beta = 30801; // 0.94f in Q15 move16(); } #ifndef FIX_ISSUE_2613_WRONG_COMP_MACRO ELSE IF( element_brate <= IVAS_24k4 ) #else ELSE IF( LE_32( element_brate, IVAS_24k4 ) ) #endif // !FIX_ISSUE_2613_WRONG_COMP_MACRO { fixed_beta = 29818; // 0.91f in Q15 move16(); Loading
lib_com/options.h +4 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,10 @@ #define HARMONIZE_2598_tcx_arith_decode_envelope /* FhG: harmonize tcx_arith_decode_envelope between EVS and IVAS versions */ #define HARMONIZE_2598_tcx_arith_encode_envelope /* FhG: harmonize tcx_arith_encode_envelope between EVS and IVAS versions */ #define FIX_ISSUE_2594_FALSE_COMMENT /* FhG: basop issue 2594: fixing false comments about Q value*/ #define FIX_ISSUE_2616_BOUNDARY_CONDITION /* FhG: basop issue 2616: Inconsistent boundary conditions in function stereo_dft_dequantize_res_gains*/ #define FIX_ISSUE_2613_WRONG_COMP_MACRO /* FhG: basop issue 2613: Inconsistent comparison macros in function tdm_SCh_LSF_intra_pred_fx*/ #define FIX_ISSUE_2611_WRONG_COMMENT /* FhG: basop issue 2611: Wrong Q value comment in fucntion stereo_dft_sg_recovery_fx()*/ #define FIX_BASOP_2550_TCX_ENC_MEM_UPDATE /* FhG: fix condition in tcx_encoder_memory_update_*_fx(), bring inline with float */ /* #################### End BE switches ################################## */ Loading
lib_dec/ivas_stereo_dft_dec_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -445,7 +445,11 @@ static void stereo_dft_dequantize_res_gains_fx( move16(); ind2[i] = check_bounds_s_fx( ind2[i], 0, 7 ); /* Q0 */ move16(); #ifndef FIX_ISSUE_2616_BOUNDARY_CONDITION IF( LE_16( ind1[i], 15 ) ) #else IF( LT_16( ind1[i], 15 ) ) #endif // !FIX_ISSUE_2616_BOUNDARY_CONDITION { tmp = sub( 15, ind1[i] ); } Loading @@ -456,7 +460,11 @@ static void stereo_dft_dequantize_res_gains_fx( // index = add( shl( LE_16( ind1[i], 15 ) ? sub( 15, ind1[i] ) : sub( ind1[i], 15 ), 3 ), ind2[i] ); index = add( shl( tmp, 3 ), ind2[i] ); // gout[i] = LE_16( ind1[i], 15 ) ? L_negate( dft_res_gains_q_fx[index][0] ) : dft_res_gains_q_fx[index][0]; #ifndef FIX_ISSUE_2616_BOUNDARY_CONDITION IF( LE_16( ind1[i], 15 ) ) #else IF( LT_16( ind1[i], 15 ) ) #endif // !FIX_ISSUE_2616_BOUNDARY_CONDITION { gout[i] = L_negate( dft_res_gains_q_fx[index][0] ); /* Q31 */ move16(); Loading
lib_dec/ivas_stereo_dft_plc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -844,7 +844,11 @@ Word16 stereo_dft_sg_recovery_fx( test(); IF( LT_32( sg_m, (Word32) 0x4CCCCCCD ) && GT_32( sg_m, (Word32) ( 0xB3333333 ) ) ) { #ifndef FIX_ISSUE_2611_WRONG_COMMENT hStereoDft->sg_mean_fx = 0; /* Q13 */ #else hStereoDft->sg_mean_fx = 0; /* Q31 */ #endif // !FIX_ISSUE_2611_WRONG_COMMENT move32(); } ELSE Loading
lib_enc/tcx_utils_enc_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -2418,7 +2418,11 @@ void tcx_encoder_memory_update_fx( Copy( synth + sub( L_frame_glob, L_SYN_MEM ), LPDmem->mem_syn_r, L_SYN_MEM ); test(); #ifdef FIX_BASOP_2550_TCX_ENC_MEM_UPDATE IF( st->tcxonly == 0 || EQ_16( L_frame_glob, L_FRAME16k ) ) #else IF( st->tcxonly == 0 || LE_16( L_frame_glob, L_FRAME16k ) ) #endif { /* Update excitation */ IF( LT_16( L_frame_glob, L_EXC_MEM ) ) Loading Loading @@ -2486,7 +2490,11 @@ void tcx_encoder_memory_update_ivas_fx( move16(); test(); #ifdef FIX_BASOP_2550_TCX_ENC_MEM_UPDATE IF( st->tcxonly == 0 || EQ_16( L_frame_glob, L_FRAME16k ) ) #else IF( st->tcxonly == 0 || LE_16( L_frame_glob, L_FRAME16k ) ) #endif { /* Update excitation */ IF( LT_16( L_frame_glob, L_EXC_MEM ) ) Loading