Loading lib_com/basop_util.c +20 −0 Original line number Diff line number Diff line Loading @@ -1916,6 +1916,26 @@ Word16 findIndexOfMinWord32( Word32 *x, const Word16 len ) return indx; } Word16 findIndexOfMinWord64( Word64 *x, const Word16 len ) { Word16 i, indx; indx = 0; move16(); FOR( i = 1; i < len; i++ ) { if ( LT_64( x[i], x[indx] ) ) { indx = i; move16(); } } return indx; } Word16 imult1616( Word16 x, Word16 y ) { Loading lib_com/basop_util.h +1 −0 Original line number Diff line number Diff line Loading @@ -536,6 +536,7 @@ Word16 findIndexOfMinWord16( Word16 *x, const Word16 len ); \return index of min Word32 */ Word16 findIndexOfMinWord32( Word32 *x, const Word16 len ); Word16 findIndexOfMinWord64( Word64 *x, const Word16 len ); /****************************************************************************/ /*! Loading lib_com/ivas_dirac_com_fx.c +262 −15 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ #define OPT_HEAD_ROT_REND_V1_BE #define OPT_SBA_DEC_V2_BE #define OPT_SBA_ENC_V2_BE #define OPT_SBA_ENC_V2_NBE #define OPT_SBA_ENC_V1_BE #define OPT_SBA_DEC_PATH /* Optimization made in SBA decoding path */ #define OPT_IVAS_FILTER_ROM /* Optimization made in IVAS filter table */ Loading @@ -98,6 +99,7 @@ #define NONBE_FIX_864_JBM_RENDER_FRAMESIZE /* FhG: issue #864: fix different behaviour of JBM TSM with different render frame sizes */ #define FIX_1762_COMPILER_ISSUE /* FhG: fix compiler issues with W_mac_32_32() + ONE_IN_Q30 */ #define ISSUE_1751_replace_shl_ro /*FhG: replace shl_ro by overflow-free alternatives*/ #define ISSUE_1772_replace_shr_o /* FhG: replace by non-overflow-alternative - BE */ #endif lib_dec/dec_gen_voic_fx.c +9 −4 Original line number Diff line number Diff line Loading @@ -106,10 +106,6 @@ ivas_error decod_gen_voic_fx( gain_inov_fx = 0; error_fx = 0; gain_preQ_fx = 0; #ifdef BASOP_NOGLOB_DECLARE_LOCAL Flag Overflow = 0; move32(); #endif move16(); move32(); move32(); Loading Loading @@ -467,11 +463,20 @@ ivas_error decod_gen_voic_fx( test(); test(); test(); #ifdef ISSUE_1751_replace_shl_ro IF( GT_16( shr_r_sat( enratio, sub( Qenratio, 15 ) ), 8192 ) && /*compare with 0.25 in Q15*/ LT_16( shr_r_sat( enratio, sub( Qenratio, 10 ) ), 15360 ) && /*compare with 15.0 in Q10*/ GT_16( shr_r_sat( sp_enratio, sub( Qsp_enratio, 15 ) ), 4915 ) && /*compare with 0.15 in Q15*/ LT_16( st_fx->bfi_pitch_fx, 9600 ) && /*Q6*/ LT_16( pitch_buf_fx[( NB_SUBFR16k - 1 )], 9600 ) ) /*Q6*/ #else Flag Overflow; IF( GT_16( shl_ro( enratio, sub( 15, Qenratio ), &Overflow ), 8192 ) && /*compare with 0.25 in Q15*/ LT_16( shl_ro( enratio, sub( 10, Qenratio ), &Overflow ), 15360 ) && /*compare with 15.0 in Q10*/ GT_16( shl_ro( sp_enratio, sub( 15, Qsp_enratio ), &Overflow ), 4915 ) && /*compare with 0.15 in Q15*/ LT_16( st_fx->bfi_pitch_fx, 9600 ) && /*Q6*/ LT_16( pitch_buf_fx[( NB_SUBFR16k - 1 )], 9600 ) ) /*Q6*/ #endif { IF( NE_32( ( error = DTFS_new_fx( &PREVP ) ), IVAS_ERR_OK ) ) { Loading Loading
lib_com/basop_util.c +20 −0 Original line number Diff line number Diff line Loading @@ -1916,6 +1916,26 @@ Word16 findIndexOfMinWord32( Word32 *x, const Word16 len ) return indx; } Word16 findIndexOfMinWord64( Word64 *x, const Word16 len ) { Word16 i, indx; indx = 0; move16(); FOR( i = 1; i < len; i++ ) { if ( LT_64( x[i], x[indx] ) ) { indx = i; move16(); } } return indx; } Word16 imult1616( Word16 x, Word16 y ) { Loading
lib_com/basop_util.h +1 −0 Original line number Diff line number Diff line Loading @@ -536,6 +536,7 @@ Word16 findIndexOfMinWord16( Word16 *x, const Word16 len ); \return index of min Word32 */ Word16 findIndexOfMinWord32( Word32 *x, const Word16 len ); Word16 findIndexOfMinWord64( Word64 *x, const Word16 len ); /****************************************************************************/ /*! Loading
lib_com/ivas_dirac_com_fx.c +262 −15 File changed.Preview size limit exceeded, changes collapsed. Show changes
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ #define OPT_HEAD_ROT_REND_V1_BE #define OPT_SBA_DEC_V2_BE #define OPT_SBA_ENC_V2_BE #define OPT_SBA_ENC_V2_NBE #define OPT_SBA_ENC_V1_BE #define OPT_SBA_DEC_PATH /* Optimization made in SBA decoding path */ #define OPT_IVAS_FILTER_ROM /* Optimization made in IVAS filter table */ Loading @@ -98,6 +99,7 @@ #define NONBE_FIX_864_JBM_RENDER_FRAMESIZE /* FhG: issue #864: fix different behaviour of JBM TSM with different render frame sizes */ #define FIX_1762_COMPILER_ISSUE /* FhG: fix compiler issues with W_mac_32_32() + ONE_IN_Q30 */ #define ISSUE_1751_replace_shl_ro /*FhG: replace shl_ro by overflow-free alternatives*/ #define ISSUE_1772_replace_shr_o /* FhG: replace by non-overflow-alternative - BE */ #endif
lib_dec/dec_gen_voic_fx.c +9 −4 Original line number Diff line number Diff line Loading @@ -106,10 +106,6 @@ ivas_error decod_gen_voic_fx( gain_inov_fx = 0; error_fx = 0; gain_preQ_fx = 0; #ifdef BASOP_NOGLOB_DECLARE_LOCAL Flag Overflow = 0; move32(); #endif move16(); move32(); move32(); Loading Loading @@ -467,11 +463,20 @@ ivas_error decod_gen_voic_fx( test(); test(); test(); #ifdef ISSUE_1751_replace_shl_ro IF( GT_16( shr_r_sat( enratio, sub( Qenratio, 15 ) ), 8192 ) && /*compare with 0.25 in Q15*/ LT_16( shr_r_sat( enratio, sub( Qenratio, 10 ) ), 15360 ) && /*compare with 15.0 in Q10*/ GT_16( shr_r_sat( sp_enratio, sub( Qsp_enratio, 15 ) ), 4915 ) && /*compare with 0.15 in Q15*/ LT_16( st_fx->bfi_pitch_fx, 9600 ) && /*Q6*/ LT_16( pitch_buf_fx[( NB_SUBFR16k - 1 )], 9600 ) ) /*Q6*/ #else Flag Overflow; IF( GT_16( shl_ro( enratio, sub( 15, Qenratio ), &Overflow ), 8192 ) && /*compare with 0.25 in Q15*/ LT_16( shl_ro( enratio, sub( 10, Qenratio ), &Overflow ), 15360 ) && /*compare with 15.0 in Q10*/ GT_16( shl_ro( sp_enratio, sub( 15, Qsp_enratio ), &Overflow ), 4915 ) && /*compare with 0.15 in Q15*/ LT_16( st_fx->bfi_pitch_fx, 9600 ) && /*Q6*/ LT_16( pitch_buf_fx[( NB_SUBFR16k - 1 )], 9600 ) ) /*Q6*/ #endif { IF( NE_32( ( error = DTFS_new_fx( &PREVP ) ), IVAS_ERR_OK ) ) { Loading