Loading lib_com/ivas_mdft_imdft.c +0 −58 Original line number Diff line number Diff line Loading @@ -50,72 +50,32 @@ static void ivas_get_mdft_twid_factors( const int16_t length, #ifndef MDFT_ROM_OPTIMIZE const float **ppTwid_re, const float **ppTwid_im #else const float **ppTwid #endif ) { switch ( length ) { case L_FRAME48k: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_960[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_960[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_960[0]; #endif break; case L_FRAME32k: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_640[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_640[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_640[0]; #endif break; case L_FRAME16k: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_320[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_320[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_320[0]; #endif break; case IVAS_240_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_240[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_240[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_240[0]; #endif break; case IVAS_160_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_160[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_160[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_160[0]; #endif break; case IVAS_80_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_80[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_80[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_80[0]; #endif break; case IVAS_40_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_40[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_40[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_40[0]; #endif break; default: Loading Loading @@ -256,45 +216,27 @@ void ivas_mdft( float re[L_FRAME48k]; float im[L_FRAME48k]; int16_t j, len_by_2; #ifndef MDFT_ROM_OPTIMIZE const float *pTwid_re, *pTwid_im; #else const float *pTwid; #endif len_by_2 = mdft_length >> 1; ivas_get_mdft_twid_factors( mdft_length, #ifndef MDFT_ROM_OPTIMIZE &pTwid_re, &pTwid_im #else &pTwid #endif ); if ( mdft_length == input_length ) { for ( j = 0; j < mdft_length; j++ ) { #ifndef MDFT_ROM_OPTIMIZE re[j] = pIn[j] * pTwid_re[j]; im[j] = -pIn[j] * pTwid_im[j]; #else re[j] = pIn[j] * pTwid[j]; im[j] = -pIn[j] * pTwid[mdft_length - j]; #endif } } else { for ( j = 0; j < mdft_length; j++ ) { #ifndef MDFT_ROM_OPTIMIZE re[j] = pIn[j] * pTwid_re[j] - pIn[j + mdft_length] * pTwid_im[j]; im[j] = -pIn[j] * pTwid_im[j] - pIn[j + mdft_length] * pTwid_re[j]; #else re[j] = pIn[j] * pTwid[j] - pIn[j + mdft_length] * pTwid[mdft_length - j]; im[j] = -pIn[j] * pTwid[mdft_length - j] - pIn[j + mdft_length] * pTwid[j]; #endif } } Loading lib_com/ivas_rom_com.c +0 −604 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_com/ivas_rom_com.h +0 −21 Original line number Diff line number Diff line Loading @@ -363,33 +363,12 @@ extern const float ivas_cos_twiddle_80[IVAS_80_PT_LEN >> 1]; *------------------------------------------------------------------------------------------*/ extern const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_240[IVAS_240_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_160[IVAS_160_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_80[IVAS_80_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_40[IVAS_40_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_960[IVAS_960_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_960[IVAS_960_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_640[IVAS_640_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_320[IVAS_320_PT_LEN]; #endif extern const int16_t dirac_gains_P_idx[16]; extern const float dirac_gains_norm_term[9]; extern const float dirac_gains_Pnm[91][9]; Loading lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,6 @@ /*#define FIX_I1_113*/ /* under review : MCT bit distribution optimization for SBA high bitrates*/ #define MDFT_ROM_OPTIMIZE /*Optimise ROM tables for MDFT/iMDFT*/ #define LFE_NO_ENTROPY_CODING /* issue 65: changes to add no entropy coding in LFE */ #define FIX_79_MASA2TC_BITRATE_SWITCHING /* Nokia: Fix issue 79 on MASA 2TC bitrate switching crash in decoder. */ Loading Loading
lib_com/ivas_mdft_imdft.c +0 −58 Original line number Diff line number Diff line Loading @@ -50,72 +50,32 @@ static void ivas_get_mdft_twid_factors( const int16_t length, #ifndef MDFT_ROM_OPTIMIZE const float **ppTwid_re, const float **ppTwid_im #else const float **ppTwid #endif ) { switch ( length ) { case L_FRAME48k: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_960[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_960[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_960[0]; #endif break; case L_FRAME32k: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_640[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_640[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_640[0]; #endif break; case L_FRAME16k: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_320[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_320[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_320[0]; #endif break; case IVAS_240_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_240[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_240[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_240[0]; #endif break; case IVAS_160_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_160[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_160[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_160[0]; #endif break; case IVAS_80_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_80[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_80[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_80[0]; #endif break; case IVAS_40_PT_LEN: #ifndef MDFT_ROM_OPTIMIZE *ppTwid_re = &ivas_mdft_coeff_cos_twid_40[0]; *ppTwid_im = &ivas_mdft_coeff_sin_twid_40[0]; #else *ppTwid = &ivas_mdft_coeff_cos_twid_40[0]; #endif break; default: Loading Loading @@ -256,45 +216,27 @@ void ivas_mdft( float re[L_FRAME48k]; float im[L_FRAME48k]; int16_t j, len_by_2; #ifndef MDFT_ROM_OPTIMIZE const float *pTwid_re, *pTwid_im; #else const float *pTwid; #endif len_by_2 = mdft_length >> 1; ivas_get_mdft_twid_factors( mdft_length, #ifndef MDFT_ROM_OPTIMIZE &pTwid_re, &pTwid_im #else &pTwid #endif ); if ( mdft_length == input_length ) { for ( j = 0; j < mdft_length; j++ ) { #ifndef MDFT_ROM_OPTIMIZE re[j] = pIn[j] * pTwid_re[j]; im[j] = -pIn[j] * pTwid_im[j]; #else re[j] = pIn[j] * pTwid[j]; im[j] = -pIn[j] * pTwid[mdft_length - j]; #endif } } else { for ( j = 0; j < mdft_length; j++ ) { #ifndef MDFT_ROM_OPTIMIZE re[j] = pIn[j] * pTwid_re[j] - pIn[j + mdft_length] * pTwid_im[j]; im[j] = -pIn[j] * pTwid_im[j] - pIn[j + mdft_length] * pTwid_re[j]; #else re[j] = pIn[j] * pTwid[j] - pIn[j + mdft_length] * pTwid[mdft_length - j]; im[j] = -pIn[j] * pTwid[mdft_length - j] - pIn[j + mdft_length] * pTwid[j]; #endif } } Loading
lib_com/ivas_rom_com.c +0 −604 File changed.Preview size limit exceeded, changes collapsed. Show changes
lib_com/ivas_rom_com.h +0 −21 Original line number Diff line number Diff line Loading @@ -363,33 +363,12 @@ extern const float ivas_cos_twiddle_80[IVAS_80_PT_LEN >> 1]; *------------------------------------------------------------------------------------------*/ extern const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_240[IVAS_240_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_160[IVAS_160_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_80[IVAS_80_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_40[IVAS_40_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_960[IVAS_960_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_960[IVAS_960_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_640[IVAS_640_PT_LEN]; #endif extern const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1]; #ifndef MDFT_ROM_OPTIMIZE extern const float ivas_mdft_coeff_sin_twid_320[IVAS_320_PT_LEN]; #endif extern const int16_t dirac_gains_P_idx[16]; extern const float dirac_gains_norm_term[9]; extern const float dirac_gains_Pnm[91][9]; Loading
lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,6 @@ /*#define FIX_I1_113*/ /* under review : MCT bit distribution optimization for SBA high bitrates*/ #define MDFT_ROM_OPTIMIZE /*Optimise ROM tables for MDFT/iMDFT*/ #define LFE_NO_ENTROPY_CODING /* issue 65: changes to add no entropy coding in LFE */ #define FIX_79_MASA2TC_BITRATE_SWITCHING /* Nokia: Fix issue 79 on MASA 2TC bitrate switching crash in decoder. */ Loading