From 1fa7e1747b932327fd478a293b13c6711921e51b Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 19 Aug 2022 08:55:48 +0200 Subject: [PATCH 1/4] [cleanup] accept DIRAC_DRCT_GAIN_TUNING --- lib_com/options.h | 1 - lib_dec/ivas_dirac_output_synthesis_dec.c | 5 ----- 2 files changed, 6 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 2ea2901adf..c899f5103c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ /*#define FIX_I1_113*/ /* under review : MCT bit distribution optimization for SBA high bitrates*/ -#define DIRAC_DRCT_GAIN_TUNING /* issue 64: tuning of DirAC energy-compensation gains */ #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. */ diff --git a/lib_dec/ivas_dirac_output_synthesis_dec.c b/lib_dec/ivas_dirac_output_synthesis_dec.c index 6324e7c958..e5c396d07b 100644 --- a/lib_dec/ivas_dirac_output_synthesis_dec.c +++ b/lib_dec/ivas_dirac_output_synthesis_dec.c @@ -729,13 +729,8 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( g1 = 0.3679f + onset_filter[l] * ( 0.1175f - 0.3679f ); g2 = ( 1.f - g1 ) * *( p_gains_dir ); g2 += g1 * ( *( p_cy_cross_dir_smooth++ ) ); -#ifdef DIRAC_DRCT_GAIN_TUNING g2 = max( g2, 0.85f ); g2 = min( g2, 1.15f ); -#else - g2 = max( g2, 0.5f ); - g2 = min( g2, 2.f ); -#endif *( p_gains_dir++ ) = g2; } } -- GitLab From 385f0e19b5ad27a7a6170b321dd8a031acfcd836 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 19 Aug 2022 08:57:08 +0200 Subject: [PATCH 2/4] [cleanup] accept MDFT_ROM_OPTIMIZE: --- lib_com/ivas_mdft_imdft.c | 58 ---- lib_com/ivas_rom_com.c | 604 -------------------------------------- lib_com/ivas_rom_com.h | 21 -- lib_com/options.h | 1 - 4 files changed, 684 deletions(-) diff --git a/lib_com/ivas_mdft_imdft.c b/lib_com/ivas_mdft_imdft.c index e534ecb545..c3953c9788 100644 --- a/lib_com/ivas_mdft_imdft.c +++ b/lib_com/ivas_mdft_imdft.c @@ -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: @@ -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 } } diff --git a/lib_com/ivas_rom_com.c b/lib_com/ivas_rom_com.c index d35ceb1d0e..e2ba9b8233 100644 --- a/lib_com/ivas_rom_com.c +++ b/lib_com/ivas_rom_com.c @@ -3363,252 +3363,6 @@ const float ivas_mdft_coeff_cos_twid_960[IVAS_960_PT_LEN + 1] = 0.00654493796735196f, 0.00490871880799808f, 0.00327248650652671f, 0.00163624544362412f, 0.00000000000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_960[IVAS_960_PT_LEN] = -{ - 0.00000000000000f, 0.00163624544362405f, 0.00327248650652663f, 0.00490871880799799f, - 0.00654493796735186f, 0.00818113960393713f, 0.00981731933714962f, 0.0114534727864438f, - 0.0130895955713444f, 0.0147256833114585f, 0.0163617316264868f, 0.0179977361362355f, - 0.0196336924606283f, 0.0212695962197177f, 0.0229054430336971f, 0.0245412285229123f, - 0.0261769483078732f, 0.0278125980092656f, 0.0294481732479632f, 0.0310836696450387f, - 0.0327190828217761f, 0.0343544083996823f, 0.0359896420004984f, 0.0376247792462120f, - 0.0392598157590686f, 0.0408947471615835f, 0.0425295690765531f, 0.0441642771270674f, - 0.0457988669365208f, 0.0474333341286245f, 0.0490676743274180f, 0.0507018831572807f, - 0.0523359562429438f, 0.0539698892095019f, 0.0556036776824246f, 0.0572373172875686f, - 0.0588708036511890f, 0.0605041323999513f, 0.0621372991609427f, 0.0637702995616845f, - 0.0654031292301431f, 0.0670357837947420f, 0.0686682588843738f, 0.0703005501284112f, - 0.0719326531567194f, 0.0735645635996674f, 0.0751962770881399f, 0.0768277892535488f, - 0.0784590957278449f, 0.0800901921435301f, 0.0817210741336682f, 0.0833517373318975f, - 0.0849821773724417f, 0.0866123898901222f, 0.0882423705203695f, 0.0898721148992350f, - 0.0915016186634024f, 0.0931308774501998f, 0.0947598868976111f, 0.0963886426442878f, - 0.0980171403295606f, 0.0996453755934511f, 0.101273344076683f, 0.102901041420696f, - 0.104528463267653f, 0.106155605260457f, 0.107782463042759f, 0.109409032258971f, - 0.111035308554278f, 0.112661287574648f, 0.114286964966846f, 0.115912336378446f, - 0.117537397457838f, 0.119162143854244f, 0.120786571217731f, 0.122410675199216f, - 0.124034451450485f, 0.125657895624201f, 0.127281003373913f, 0.128903770354075f, - 0.130526192220052f, 0.132148264628130f, 0.133769983235535f, 0.135391343700438f, - 0.137012341681968f, 0.138632972840227f, 0.140253232836296f, 0.141873117332253f, - 0.143492621991179f, 0.145111742477173f, 0.146730474455362f, 0.148348813591913f, - 0.149966755554045f, 0.151584296010041f, 0.153201430629258f, 0.154818155082141f, - 0.156434465040231f, 0.158050356176180f, 0.159665824163761f, 0.161280864677880f, - 0.162895473394589f, 0.164509645991092f, 0.166123378145765f, 0.167736665538162f, - 0.169349503849025f, 0.170961888760301f, 0.172573815955152f, 0.174185281117962f, - 0.175796279934355f, 0.177406808091201f, 0.179016861276633f, 0.180626435180053f, - 0.182235525492147f, 0.183844127904898f, 0.185452238111591f, 0.187059851806832f, - 0.188666964686555f, 0.190273572448036f, 0.191879670789901f, 0.193485255412143f, - 0.195090322016128f, 0.196694866304610f, 0.198298883981740f, 0.199902370753082f, - 0.201505322325617f, 0.203107734407763f, 0.204709602709380f, 0.206310922941784f, - 0.207911690817759f, 0.209511902051569f, 0.211111552358965f, 0.212710637457203f, - 0.214309153065051f, 0.215907094902801f, 0.217504458692281f, 0.219101240156870f, - 0.220697435021501f, 0.222293039012681f, 0.223888047858498f, 0.225482457288634f, - 0.227076263034373f, 0.228669460828619f, 0.230262046405902f, 0.231854015502391f, - 0.233445363855905f, 0.235036087205927f, 0.236626181293610f, 0.238215641861795f, - 0.239804464655017f, 0.241392645419519f, 0.242980179903264f, 0.244567063855944f, - 0.246153293028993f, 0.247738863175598f, 0.249323770050712f, 0.250908009411060f, - 0.252491577015158f, 0.254074468623319f, 0.255656679997664f, 0.257238206902140f, - 0.258819045102521f, 0.260399190366428f, 0.261978638463337f, 0.263557385164591f, - 0.265135426243408f, 0.266712757474898f, 0.268289374636071f, 0.269865273505849f, - 0.271440449865074f, 0.273014899496527f, 0.274588618184932f, 0.276161601716971f, - 0.277733845881292f, 0.279305346468526f, 0.280876099271292f, 0.282446100084212f, - 0.284015344703923f, 0.285583828929082f, 0.287151548560387f, 0.288718499400580f, - 0.290284677254462f, 0.291850077928904f, 0.293414697232857f, 0.294978530977364f, - 0.296541574975571f, 0.298103825042740f, 0.299665276996257f, 0.301225926655644f, - 0.302785769842575f, 0.304344802380877f, 0.305903020096553f, 0.307460418817785f, - 0.309016994374947f, 0.310572742600619f, 0.312127659329594f, 0.313681740398891f, - 0.315234981647770f, 0.316787378917734f, 0.318338928052550f, 0.319889624898253f, - 0.321439465303162f, 0.322988445117886f, 0.324536560195342f, 0.326083806390759f, - 0.327630179561694f, 0.329175675568039f, 0.330720290272037f, 0.332264019538291f, - 0.333806859233771f, 0.335348805227832f, 0.336889853392220f, 0.338429999601086f, - 0.339969239730994f, 0.341507569660936f, 0.343044985272340f, 0.344581482449080f, - 0.346117057077493f, 0.347651705046382f, 0.349185422247033f, 0.350718204573223f, - 0.352250047921234f, 0.353780948189858f, 0.355310901280416f, 0.356839903096763f, - 0.358367949545300f, 0.359895036534988f, 0.361421159977355f, 0.362946315786509f, - 0.364470499879150f, 0.365993708174577f, 0.367515936594704f, 0.369037181064066f, - 0.370557437509836f, 0.372076701861829f, 0.373594970052516f, 0.375112238017038f, - 0.376628501693211f, 0.378143757021540f, 0.379657999945233f, 0.381171226410203f, - 0.382683432365090f, 0.384194613761262f, 0.385704766552831f, 0.387213886696666f, - 0.388721970152396f, 0.390229012882428f, 0.391735010851956f, 0.393239960028970f, - 0.394743856384267f, 0.396246695891466f, 0.397748474527011f, 0.399249188270190f, - 0.400748833103141f, 0.402247405010863f, 0.403744899981227f, 0.405241314004990f, - 0.406736643075800f, 0.408230883190212f, 0.409724030347695f, 0.411216080550645f, - 0.412707029804395f, 0.414196874117224f, 0.415685609500371f, 0.417173231968043f, - 0.418659737537428f, 0.420145122228702f, 0.421629382065045f, 0.423112513072644f, - 0.424594511280713f, 0.426075372721496f, 0.427555093430282f, 0.429033669445413f, - 0.430511096808295f, 0.431987371563412f, 0.433462489758331f, 0.434936447443717f, - 0.436409240673342f, 0.437880865504095f, 0.439351317995994f, 0.440820594212194f, - 0.442288690219001f, 0.443755602085881f, 0.445221325885468f, 0.446685857693580f, - 0.448149193589223f, 0.449611329654607f, 0.451072261975153f, 0.452531986639508f, - 0.453990499739547f, 0.455447797370393f, 0.456903875630421f, 0.458358730621271f, - 0.459812358447860f, 0.461264755218387f, 0.462715917044350f, 0.464165840040552f, - 0.465614520325111f, 0.467061954019477f, 0.468508137248431f, 0.469953066140108f, - 0.471396736825998f, 0.472839145440959f, 0.474280288123229f, 0.475720161014437f, - 0.477158760259608f, 0.478596082007181f, 0.480032122409011f, 0.481466877620387f, - 0.482900343800037f, 0.484332517110141f, 0.485763393716340f, 0.487192969787746f, - 0.488621241496955f, 0.490048205020053f, 0.491473856536628f, 0.492898192229784f, - 0.494321208286145f, 0.495742900895868f, 0.497163266252654f, 0.498582300553759f, - 0.500000000000000f, 0.501416360795769f, 0.502831379149042f, 0.504245051271389f, - 0.505657373377985f, 0.507068341687617f, 0.508477952422700f, 0.509886201809281f, - 0.511293086077052f, 0.512698601459362f, 0.514102744193222f, 0.515505510519320f, - 0.516906896682028f, 0.518306898929413f, 0.519705513513249f, 0.521102736689023f, - 0.522498564715949f, 0.523892993856974f, 0.525286020378792f, 0.526677640551852f, - 0.528067850650368f, 0.529456646952329f, 0.530844025739509f, 0.532229983297479f, - 0.533614515915612f, 0.534997619887097f, 0.536379291508950f, 0.537759527082020f, - 0.539138322911000f, 0.540515675304440f, 0.541891580574752f, 0.543266035038224f, - 0.544639035015027f, 0.546010576829228f, 0.547380656808797f, 0.548749271285616f, - 0.550116416595493f, 0.551482089078169f, 0.552846285077328f, 0.554209000940606f, - 0.555570233019602f, 0.556929977669889f, 0.558288231251022f, 0.559644990126546f, - 0.561000250664010f, 0.562354009234973f, 0.563706262215017f, 0.565057005983753f, - 0.566406236924833f, 0.567753951425961f, 0.569100145878898f, 0.570444816679478f, - 0.571787960227612f, 0.573129572927301f, 0.574469651186643f, 0.575808191417845f, - 0.577145190037234f, 0.578480643465260f, 0.579814548126514f, 0.581146900449730f, - 0.582477696867802f, 0.583806933817786f, 0.585134607740916f, 0.586460715082607f, - 0.587785252292473f, 0.589108215824328f, 0.590429602136201f, 0.591749407690343f, - 0.593067628953237f, 0.594384262395609f, 0.595699304492433f, 0.597012751722948f, - 0.598324600570659f, 0.599634847523352f, 0.600943489073102f, 0.602250521716282f, - 0.603555941953571f, 0.604859746289968f, 0.606161931234795f, 0.607462493301711f, - 0.608761429008721f, 0.610058734878182f, 0.611354407436817f, 0.612648443215719f, - 0.613940838750366f, 0.615231590580627f, 0.616520695250769f, 0.617808149309472f, - 0.619093949309834f, 0.620378091809381f, 0.621660573370077f, 0.622941390558334f, - 0.624220539945018f, 0.625498018105461f, 0.626773821619470f, 0.628047947071334f, - 0.629320391049838f, 0.630591150148264f, 0.631860220964409f, 0.633127600100588f, - 0.634393284163646f, 0.635657269764965f, 0.636919553520476f, 0.638180132050665f, - 0.639439001980585f, 0.640696159939861f, 0.641951602562703f, 0.643205326487914f, - 0.644457328358897f, 0.645707604823667f, 0.646956152534857f, 0.648202968149730f, - 0.649448048330184f, 0.650691389742765f, 0.651932989058674f, 0.653172842953777f, - 0.654410948108610f, 0.655647301208395f, 0.656881898943041f, 0.658114738007160f, - 0.659345815100069f, 0.660575126925805f, 0.661802670193130f, 0.663028441615542f, - 0.664252437911282f, 0.665474655803342f, 0.666695092019479f, 0.667913743292216f, - 0.669130606358858f, 0.670345677961497f, 0.671558954847018f, 0.672770433767117f, - 0.673980111478298f, 0.675187984741891f, 0.676394050324054f, 0.677598304995789f, - 0.678800745532942f, 0.680001368716218f, 0.681200171331188f, 0.682397150168297f, - 0.683592302022871f, 0.684785623695130f, 0.685977111990193f, 0.687166763718086f, - 0.688354575693754f, 0.689540544737067f, 0.690724667672829f, 0.691906941330786f, - 0.693087362545636f, 0.694265928157036f, 0.695442635009612f, 0.696617479952964f, - 0.697790459841680f, 0.698961571535339f, 0.700130811898524f, 0.701298177800824f, - 0.702463666116852f, 0.703627273726243f, 0.704788997513670f, 0.705948834368849f, - 0.707106781186548f, 0.708262834866593f, 0.709416992313883f, 0.710569250438390f, - 0.711719606155171f, 0.712868056384380f, 0.714014598051268f, 0.715159228086199f, - 0.716301943424654f, 0.717442741007240f, 0.718581617779698f, 0.719718570692913f, - 0.720853596702919f, 0.721986692770910f, 0.723117855863248f, 0.724247082951467f, - 0.725374371012288f, 0.726499717027620f, 0.727623117984575f, 0.728744570875469f, - 0.729864072697836f, 0.730981620454432f, 0.732097211153246f, 0.733210841807505f, - 0.734322509435686f, 0.735432211061519f, 0.736539943713999f, 0.737645704427393f, - 0.738749490241246f, 0.739851298200392f, 0.740951125354959f, 0.742048968760379f, - 0.743144825477394f, 0.744238692572067f, 0.745330567115786f, 0.746420446185274f, - 0.747508326862597f, 0.748594206235171f, 0.749678081395770f, 0.750759949442534f, - 0.751839807478977f, 0.752917652613995f, 0.753993481961869f, 0.755067292642284f, - 0.756139081780323f, 0.757208846506485f, 0.758276583956687f, 0.759342291272275f, - 0.760405965600031f, 0.761467604092177f, 0.762527203906388f, 0.763584762205796f, - 0.764640276159000f, 0.765693742940071f, 0.766745159728561f, 0.767794523709512f, - 0.768841832073460f, 0.769887082016445f, 0.770930270740018f, 0.771971395451250f, - 0.773010453362737f, 0.774047441692607f, 0.775082357664531f, 0.776115198507728f, - 0.777145961456971f, 0.778174643752598f, 0.779201242640517f, 0.780225755372213f, - 0.781248179204759f, 0.782268511400816f, 0.783286749228650f, 0.784302889962131f, - 0.785316930880745f, 0.786328869269598f, 0.787338702419428f, 0.788346427626606f, - 0.789352042193150f, 0.790355543426726f, 0.791356928640660f, 0.792356195153942f, - 0.793353340291235f, 0.794348361382881f, 0.795341255764910f, 0.796332020779044f, - 0.797320653772707f, 0.798307152099032f, 0.799291513116864f, 0.800273734190774f, - 0.801253812691061f, 0.802231745993758f, 0.803207531480645f, 0.804181166539250f, - 0.805152648562858f, 0.806121974950521f, 0.807089143107059f, 0.808054150443073f, - 0.809016994374948f, 0.809977672324859f, 0.810936181720784f, 0.811892519996505f, - 0.812846684591615f, 0.813798672951530f, 0.814748482527489f, 0.815696110776568f, - 0.816641555161679f, 0.817584813151584f, 0.818525882220897f, 0.819464759850093f, - 0.820401443525514f, 0.821335930739376f, 0.822268218989775f, 0.823198305780696f, - 0.824126188622016f, 0.825051865029513f, 0.825975332524873f, 0.826896588635696f, - 0.827815630895502f, 0.828732456843738f, 0.829647064025785f, 0.830559449992965f, - 0.831469612302545f, 0.832377548517748f, 0.833283256207754f, 0.834186732947712f, - 0.835087976318743f, 0.835986983907947f, 0.836883753308409f, 0.837778282119209f, - 0.838670567945424f, 0.839560608398136f, 0.840448401094438f, 0.841333943657443f, - 0.842217233716287f, 0.843098268906135f, 0.843977046868193f, 0.844853565249707f, - 0.845727821703973f, 0.846599813890344f, 0.847469539474234f, 0.848336996127127f, - 0.849202181526579f, 0.850065093356229f, 0.850925729305802f, 0.851784087071117f, - 0.852640164354092f, 0.853493958862750f, 0.854345468311227f, 0.855194690419775f, - 0.856041622914771f, 0.856886263528723f, 0.857728610000272f, 0.858568660074204f, - 0.859406411501453f, 0.860241862039105f, 0.861075009450407f, 0.861905851504774f, - 0.862734385977792f, 0.863560610651224f, 0.864384523313017f, 0.865206121757311f, - 0.866025403784439f, 0.866842367200935f, 0.867657009819544f, 0.868469329459222f, - 0.869279323945144f, 0.870086991108711f, 0.870892328787557f, 0.871695334825548f, - 0.872496007072797f, 0.873294343385663f, 0.874090341626759f, 0.874883999664958f, - 0.875675315375400f, 0.876464286639493f, 0.877250911344924f, 0.878035187385663f, - 0.878817112661965f, 0.879596685080383f, 0.880373902553765f, 0.881148763001268f, - 0.881921264348355f, 0.882691404526809f, 0.883459181474733f, 0.884224593136556f, - 0.884987637463042f, 0.885748312411291f, 0.886506615944746f, 0.887262546033203f, - 0.888016100652807f, 0.888767277786068f, 0.889516075421856f, 0.890262491555416f, - 0.891006524188368f, 0.891748171328711f, 0.892487430990834f, 0.893224301195515f, - 0.893958779969932f, 0.894690865347664f, 0.895420555368697f, 0.896147848079432f, - 0.896872741532688f, 0.897595233787707f, 0.898315322910159f, 0.899033006972149f, - 0.899748284052221f, 0.900461152235364f, 0.901171609613013f, 0.901879654283062f, - 0.902585284349861f, 0.903288497924226f, 0.903989293123443f, 0.904687668071273f, - 0.905383620897955f, 0.906077149740215f, 0.906768252741266f, 0.907456928050819f, - 0.908143173825081f, 0.908826988226768f, 0.909508369425101f, 0.910187315595818f, - 0.910863824921176f, 0.911537895589956f, 0.912209525797468f, 0.912878713745555f, - 0.913545457642601f, 0.914209755703531f, 0.914871606149819f, 0.915531007209492f, - 0.916187957117136f, 0.916842454113898f, 0.917494496447491f, 0.918144082372204f, - 0.918791210148898f, 0.919435878045019f, 0.920078084334595f, 0.920717827298248f, - 0.921355105223192f, 0.921989916403245f, 0.922622259138823f, 0.923252131736957f, - 0.923879532511287f, 0.924504459782072f, 0.925126911876195f, 0.925746887127164f, - 0.926364383875118f, 0.926979400466833f, 0.927591935255724f, 0.928201986601852f, - 0.928809552871924f, 0.929414632439304f, 0.930017223684012f, 0.930617324992729f, - 0.931214934758804f, 0.931810051382254f, 0.932402673269775f, 0.932992798834739f, - 0.933580426497202f, 0.934165554683908f, 0.934748181828292f, 0.935328306370488f, - 0.935905926757326f, 0.936481041442343f, 0.937053648885784f, 0.937623747554606f, - 0.938191335922484f, 0.938756412469813f, 0.939318975683713f, 0.939879024058033f, - 0.940436556093355f, 0.940991570296997f, 0.941544065183021f, 0.942094039272230f, - 0.942641491092178f, 0.943186419177173f, 0.943728822068278f, 0.944268698313317f, - 0.944806046466878f, 0.945340865090320f, 0.945873152751771f, 0.946402908026138f, - 0.946930129495106f, 0.947454815747144f, 0.947976965377510f, 0.948496576988253f, - 0.949013649188214f, 0.949528180593037f, 0.950040169825165f, 0.950549615513851f, - 0.951056516295154f, 0.951560870811948f, 0.952062677713924f, 0.952561935657595f, - 0.953058643306297f, 0.953552799330193f, 0.954044402406280f, 0.954533451218389f, - 0.955019944457187f, 0.955503880820186f, 0.955985259011744f, 0.956464077743065f, - 0.956940335732209f, 0.957414031704088f, 0.957885164390477f, 0.958353732530011f, - 0.958819734868193f, 0.959283170157394f, 0.959744037156857f, 0.960202334632705f, - 0.960658061357935f, 0.961111216112432f, 0.961561797682962f, 0.962009804863184f, - 0.962455236453647f, 0.962898091261798f, 0.963338368101980f, 0.963776065795440f, - 0.964211183170329f, 0.964643719061708f, 0.965073672311547f, 0.965501041768733f, - 0.965925826289068f, 0.966348024735277f, 0.966767635977008f, 0.967184658890834f, - 0.967599092360260f, 0.968010935275723f, 0.968420186534595f, 0.968826845041188f, - 0.969230909706754f, 0.969632379449491f, 0.970031253194544f, 0.970427529874007f, - 0.970821208426928f, 0.971212287799312f, 0.971600766944121f, 0.971986644821279f, - 0.972369920397677f, 0.972750592647168f, 0.973128660550580f, 0.973504123095711f, - 0.973876979277334f, 0.974247228097201f, 0.974614868564045f, 0.974979899693582f, - 0.975342320508513f, 0.975702130038529f, 0.976059327320311f, 0.976413911397535f, - 0.976765881320872f, 0.977115236147994f, 0.977461974943572f, 0.977806096779282f, - 0.978147600733806f, 0.978486485892835f, 0.978822751349072f, 0.979156396202234f, - 0.979487419559051f, 0.979815820533276f, 0.980141598245680f, 0.980464751824058f, - 0.980785280403230f, 0.981103183125046f, 0.981418459138384f, 0.981731107599154f, - 0.982041127670304f, 0.982348518521816f, 0.982653279330712f, 0.982955409281056f, - 0.983254907563955f, 0.983551773377562f, 0.983846005927077f, 0.984137604424753f, - 0.984426568089892f, 0.984712896148850f, 0.984996587835043f, 0.985277642388941f, - 0.985556059058078f, 0.985831837097047f, 0.986104975767509f, 0.986375474338188f, - 0.986643332084879f, 0.986908548290446f, 0.987171122244825f, 0.987431053245027f, - 0.987688340595138f, 0.987942983606322f, 0.988194981596825f, 0.988444333891970f, - 0.988691039824167f, 0.988935098732911f, 0.989176509964781f, 0.989415272873448f, - 0.989651386819670f, 0.989884851171301f, 0.990115665303286f, 0.990343828597665f, - 0.990569340443577f, 0.990792200237260f, 0.991012407382049f, 0.991229961288385f, - 0.991444861373810f, 0.991657107062973f, 0.991866697787626f, 0.992073632986633f, - 0.992277912105967f, 0.992479534598710f, 0.992678499925058f, 0.992874807552322f, - 0.993068456954926f, 0.993259447614414f, 0.993447779019444f, 0.993633450665799f, - 0.993816462056378f, 0.993996812701206f, 0.994174502117428f, 0.994349529829318f, - 0.994521895368273f, 0.994691598272820f, 0.994858638088611f, 0.995023014368432f, - 0.995184726672197f, 0.995343774566954f, 0.995500157626885f, 0.995653875433303f, - 0.995804927574662f, 0.995953313646548f, 0.996099033251687f, 0.996242085999945f, - 0.996382471508325f, 0.996520189400975f, 0.996655239309180f, 0.996787620871373f, - 0.996917333733128f, 0.997044377547164f, 0.997168751973348f, 0.997290456678690f, - 0.997409491337352f, 0.997525855630641f, 0.997639549247016f, 0.997750571882084f, - 0.997858923238604f, 0.997964603026487f, 0.998067610962796f, 0.998167946771749f, - 0.998265610184716f, 0.998360600940223f, 0.998452918783950f, 0.998542563468736f, - 0.998629534754574f, 0.998713832408616f, 0.998795456205172f, 0.998874405925711f, - 0.998950681358860f, 0.999024282300407f, 0.999095208553300f, 0.999163459927649f, - 0.999229036240723f, 0.999291937316955f, 0.999352162987941f, 0.999409713092437f, - 0.999464587476366f, 0.999516785992811f, 0.999566308502021f, 0.999613154871411f, - 0.999657324975557f, 0.999698818696204f, 0.999737635922260f, 0.999773776549800f, - 0.999807240482065f, 0.999838027629461f, 0.999866137909562f, 0.999891571247108f, - 0.999914327574007f, 0.999934406829333f, 0.999951808959328f, 0.999966533917401f, - 0.999978581664129f, 0.999987952167257f, 0.999994645401697f, 0.999998661349528f -}; - -#endif const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN +1] = { 1.00000000000000f, 0.999996988037278f, 0.999987952167257f, 0.999972892444367f, @@ -3773,171 +3527,6 @@ const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN +1] = 0.00981731933714973f, 0.00736304124977978f, 0.00490871880799808f, 0.00245436679646048f ,0.00000000000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_640[IVAS_640_PT_LEN] = -{ - 0.00000000000000f, 0.00245436679646029f, 0.00490871880799799f, 0.00736304124977957f, - 0.00981731933714962f, 0.0122715382857199f, 0.0147256833114585f, 0.0171797396307787f, - 0.0196336924606283f, 0.0220875270185783f, 0.0245412285229123f, 0.0269947821927154f, - 0.0294481732479632f, 0.0319013869096109f, 0.0343544083996823f, 0.0368072229413588f, - 0.0392598157590686f, 0.0417121720785753f, 0.0441642771270674f, 0.0466161161332467f, - 0.0490676743274180f, 0.0515189369415775f, 0.0539698892095019f, 0.0564205163668375f, - 0.0588708036511890f, 0.0613207363022086f, 0.0637702995616845f, 0.0662194786736303f, - 0.0686682588843738f, 0.0711166254426453f, 0.0735645635996674f, 0.0760120586092431f, - 0.0784590957278449f, 0.0809056602147038f, 0.0833517373318975f, 0.0857973123444399f, - 0.0882423705203695f, 0.0906868971308382f, 0.0931308774501998f, 0.0955742967560992f, - 0.0980171403295606f, 0.100459393455076f, 0.102901041420696f, 0.105342069518114f, - 0.107782463042759f, 0.110222207293883f, 0.112661287574648f, 0.115099689192216f, - 0.117537397457838f, 0.119974397686940f, 0.122410675199216f, 0.124846215318711f, - 0.127281003373913f, 0.129715024697841f, 0.132148264628130f, 0.134580708507126f, - 0.137012341681968f, 0.139443149504679f, 0.141873117332253f, 0.144302230526747f, - 0.146730474455362f, 0.149157834490539f, 0.151584296010041f, 0.154009844397046f, - 0.156434465040231f, 0.158858143333861f, 0.161280864677880f, 0.163702614477995f, - 0.166123378145765f, 0.168543141098691f, 0.170961888760301f, 0.173379606560240f, - 0.175796279934355f, 0.178211894324786f, 0.180626435180053f, 0.183039887955141f, - 0.185452238111591f, 0.187863471117585f, 0.190273572448036f, 0.192682527584672f, - 0.195090322016128f, 0.197496941238030f, 0.199902370753082f, 0.202306596071156f, - 0.204709602709380f, 0.207111376192219f, 0.209511902051569f, 0.211911165826842f, - 0.214309153065051f, 0.216705849320900f, 0.219101240156870f, 0.221495311143304f, - 0.223888047858498f, 0.226279435888785f, 0.228669460828619f, 0.231058108280671f, - 0.233445363855905f, 0.235831213173673f, 0.238215641861795f, 0.240598635556650f, - 0.242980179903264f, 0.245360260555389f, 0.247738863175598f, 0.250115973435366f, - 0.252491577015158f, 0.254865659604515f, 0.257238206902140f, 0.259609204615985f, - 0.261978638463337f, 0.264346494170904f, 0.266712757474898f, 0.269077414121127f, - 0.271440449865074f, 0.273801850471989f, 0.276161601716971f, 0.278519689385053f, - 0.280876099271292f, 0.283230817180850f, 0.285583828929082f, 0.287935120341621f, - 0.290284677254462f, 0.292632485514050f, 0.294978530977364f, 0.297322799511998f, - 0.299665276996257f, 0.302005949319228f, 0.304344802380877f, 0.306681822092128f, - 0.309016994374947f, 0.311350305162432f, 0.313681740398891f, 0.316011286039934f, - 0.318338928052550f, 0.320664652415197f, 0.322988445117886f, 0.325310292162263f, - 0.327630179561694f, 0.329948093341349f, 0.332264019538291f, 0.334577944201551f, - 0.336889853392220f, 0.339199733183530f, 0.341507569660936f, 0.343813348922205f, - 0.346117057077493f, 0.348418680249435f, 0.350718204573223f, 0.353015616196696f, - 0.355310901280416f, 0.357604045997758f, 0.359895036534988f, 0.362183859091351f, - 0.364470499879150f, 0.366754945123831f, 0.369037181064066f, 0.371317193951838f, - 0.373594970052516f, 0.375870495644949f, 0.378143757021541f, 0.380414740488332f, - 0.382683432365090f, 0.384949818985382f, 0.387213886696666f, 0.389475621860365f, - 0.391735010851956f, 0.393992040061048f, 0.396246695891466f, 0.398498964761330f, - 0.400748833103141f, 0.402996287363860f, 0.405241314004990f, 0.407483899502658f, - 0.409724030347695f, 0.411961693045722f, 0.414196874117224f, 0.416429560097637f, - 0.418659737537428f, 0.420887393002174f, 0.423112513072644f, 0.425335084344881f, - 0.427555093430282f, 0.429772526955677f, 0.431987371563412f, 0.434199613911428f, - 0.436409240673342f, 0.438616238538528f, 0.440820594212194f, 0.443022294415467f, - 0.445221325885468f, 0.447417675375397f, 0.449611329654607f, 0.451802275508688f, - 0.453990499739547f, 0.456175989165483f, 0.458358730621271f, 0.460538710958240f, - 0.462715917044350f, 0.464890335764274f, 0.467061954019477f, 0.469230758728290f, - 0.471396736825998f, 0.473559875264908f, 0.475720161014437f, 0.477877581061184f, - 0.480032122409011f, 0.482183772079123f, 0.484332517110141f, 0.486478344558187f, - 0.488621241496955f, 0.490761195017794f, 0.492898192229784f, 0.495032220259813f, - 0.497163266252654f, 0.499291317371047f, 0.501416360795769f, 0.503538383725718f, - 0.505657373377985f, 0.507773316987935f, 0.509886201809281f, 0.511996015114162f, - 0.514102744193222f, 0.516206376355680f, 0.518306898929413f, 0.520404299261031f, - 0.522498564715949f, 0.524589682678469f, 0.526677640551852f, 0.528762425758396f, - 0.530844025739509f, 0.532922427955790f, 0.534997619887097f, 0.537069589032630f, - 0.539138322911000f, 0.541203809060310f, 0.543266035038224f, 0.545324988422047f, - 0.547380656808796f, 0.549433027815281f, 0.551482089078169f, 0.553527828254070f, - 0.555570233019602f, 0.557609291071472f, 0.559644990126546f, 0.561677317921925f, - 0.563706262215017f, 0.565731810783613f, 0.567753951425961f, 0.569772671960834f, - 0.571787960227612f, 0.573799804086349f, 0.575808191417845f, 0.577813110123727f, - 0.579814548126514f, 0.581812493369691f, 0.583806933817786f, 0.585797857456439f, - 0.587785252292473f, 0.589769106353971f, 0.591749407690343f, 0.593726144372402f, - 0.595699304492433f, 0.597668876164268f, 0.599634847523352f, 0.601597206726822f, - 0.603555941953571f, 0.605511041404326f, 0.607462493301711f, 0.609410285890327f, - 0.611354407436817f, 0.613294846229936f, 0.615231590580627f, 0.617164628822086f, - 0.619093949309834f, 0.621019540421789f, 0.622941390558334f, 0.624859488142386f, - 0.626773821619470f, 0.628684379457781f, 0.630591150148264f, 0.632494122204672f, - 0.634393284163646f, 0.636288624584773f, 0.638180132050665f, 0.640067795167023f, - 0.641951602562703f, 0.643831542889792f, 0.645707604823667f, 0.647579777063073f, - 0.649448048330184f, 0.651312407370671f, 0.653172842953777f, 0.655029343872374f, - 0.656881898943041f, 0.658730497006124f, 0.660575126925805f, 0.662415777590172f, - 0.664252437911282f, 0.666085096825230f, 0.667913743292216f, 0.669738366296610f, - 0.671558954847018f, 0.673375497976352f, 0.675187984741890f, 0.676996404225348f, - 0.678800745532942f, 0.680600997795453f, 0.682397150168297f, 0.684189191831585f, - 0.685977111990193f, 0.687760899873822f, 0.689540544737067f, 0.691316035859480f, - 0.693087362545636f, 0.694854514125194f, 0.696617479952964f, 0.698376249408973f, - 0.700130811898524f, 0.701881156852263f, 0.703627273726243f, 0.705369152001986f, - 0.707106781186548f, 0.708840150812579f, 0.710569250438390f, 0.712294069648014f, - 0.714014598051268f, 0.715730825283819f, 0.717442741007240f, 0.719150334909079f, - 0.720853596702919f, 0.722552516128436f, 0.724247082951467f, 0.725937286964068f, - 0.727623117984575f, 0.729304565857668f, 0.730981620454432f, 0.732654271672413f, - 0.734322509435686f, 0.735986323694910f, 0.737645704427393f, 0.739300641637149f, - 0.740951125354959f, 0.742597145638433f, 0.744238692572067f, 0.745875756267305f, - 0.747508326862597f, 0.749136394523459f, 0.750759949442534f, 0.752378981839648f, - 0.753993481961869f, 0.755603440083571f, 0.757208846506485f, 0.758809691559762f, - 0.760405965600031f, 0.761997659011457f, 0.763584762205797f, 0.765167265622459f, - 0.766745159728562f, 0.768318435018988f, 0.769887082016445f, 0.771451091271519f, - 0.773010453362737f, 0.774565158896617f, 0.776115198507728f, 0.777660562858748f, - 0.779201242640517f, 0.780737228572095f, 0.782268511400816f, 0.783795081902349f, - 0.785316930880745f, 0.786834049168500f, 0.788346427626606f, 0.789854057144609f, - 0.791356928640660f, 0.792855033061574f, 0.794348361382882f, 0.795836904608884f, - 0.797320653772707f, 0.798799599936358f, 0.800273734190774f, 0.801743047655881f, - 0.803207531480645f, 0.804667176843123f, 0.806121974950521f, 0.807571917039243f, - 0.809016994374948f, 0.810457198252595f, 0.811892519996505f, 0.813322950960406f, - 0.814748482527489f, 0.816169106110459f, 0.817584813151584f, 0.818995595122750f, - 0.820401443525514f, 0.821802349891147f, 0.823198305780696f, 0.824589302785025f, - 0.825975332524873f, 0.827356386650900f, 0.828732456843738f, 0.830103534814044f, - 0.831469612302545f, 0.832830681080094f, 0.834186732947712f, 0.835537759736646f, - 0.836883753308409f, 0.838224705554838f, 0.839560608398136f, 0.840891453790923f, - 0.842217233716286f, 0.843537940187827f, 0.844853565249707f, 0.846164100976699f, - 0.847469539474234f, 0.848769872878448f, 0.850065093356229f, 0.851355193105265f, - 0.852640164354092f, 0.853919999362139f, 0.855194690419775f, 0.856464229848356f, - 0.857728610000272f, 0.858987823258990f, 0.860241862039105f, 0.861490718786378f, - 0.862734385977792f, 0.863972856121587f, 0.865206121757311f, 0.866434175455865f, - 0.867657009819544f, 0.868874617482086f, 0.870086991108711f, 0.871294123396174f, - 0.872496007072797f, 0.873692634898524f, 0.874883999664958f, 0.876070094195407f, - 0.877250911344924f, 0.878426444000357f, 0.879596685080383f, 0.880761627535558f, - 0.881921264348355f, 0.883075588533209f, 0.884224593136556f, 0.885368271236879f, - 0.886506615944746f, 0.887639620402854f, 0.888767277786068f, 0.889889581301463f, - 0.891006524188368f, 0.892118099718401f, 0.893224301195515f, 0.894325121956035f, - 0.895420555368697f, 0.896510594834693f, 0.897595233787707f, 0.898674465693954f, - 0.899748284052221f, 0.900816682393908f, 0.901879654283062f, 0.902937193316419f, - 0.903989293123443f, 0.905035947366364f, 0.906077149740215f, 0.907112893972869f, - 0.908143173825081f, 0.909167983090522f, 0.910187315595818f, 0.911201165200584f, - 0.912209525797468f, 0.913212391312179f, 0.914209755703531f, 0.915201612963474f, - 0.916187957117136f, 0.917168782222852f, 0.918144082372204f, 0.919113851690058f, - 0.920078084334595f, 0.921036774497350f, 0.921989916403245f, 0.922937504310623f, - 0.923879532511287f, 0.924815995330528f, 0.925746887127164f, 0.926672202293573f, - 0.927591935255724f, 0.928506080473216f, 0.929414632439304f, 0.930317585680942f, - 0.931214934758804f, 0.932106674267327f, 0.932992798834739f, 0.933873303123092f, - 0.934748181828292f, 0.935617429680138f, 0.936481041442343f, 0.937339011912575f, - 0.938191335922484f, 0.939038008337734f, 0.939879024058033f, 0.940714378017165f, - 0.941544065183021f, 0.942368080557626f, 0.943186419177173f, 0.943999076112052f, - 0.944806046466878f, 0.945607325380521f, 0.946402908026138f, 0.947192789611197f, - 0.947976965377510f, 0.948755430601262f, 0.949528180593037f, 0.950295210697844f, - 0.951056516295154f, 0.951812092798916f, 0.952561935657595f, 0.953306040354194f, - 0.954044402406280f, 0.954777017366017f, 0.955503880820186f, 0.956224988390216f, - 0.956940335732209f, 0.957649918536965f, 0.958353732530011f, 0.959051773471624f, - 0.959744037156857f, 0.960430519415566f, 0.961111216112432f, 0.961786123146989f, - 0.962455236453647f, 0.963118552001719f, 0.963776065795440f, 0.964427773873996f, - 0.965073672311547f, 0.965713757217249f, 0.966348024735277f, 0.966976471044852f, - 0.967599092360260f, 0.968215884930876f, 0.968826845041188f, 0.969431969010818f, - 0.970031253194544f, 0.970624693982323f, 0.971212287799312f, 0.971794031105889f, - 0.972369920397677f, 0.972939952205560f, 0.973504123095711f, 0.974062429669605f, - 0.974614868564045f, 0.975161436451181f, 0.975702130038529f, 0.976236946068990f, - 0.976765881320873f, 0.977288932607910f, 0.977806096779282f, 0.978317370719628f, - 0.978822751349072f, 0.979322235623241f, 0.979815820533276f, 0.980303503105861f, - 0.980785280403230f, 0.981261149523195f, 0.981731107599154f, 0.982195151800116f, - 0.982653279330712f, 0.983105487431216f, 0.983551773377562f, 0.983992134481354f, - 0.984426568089892f, 0.984855071586178f, 0.985277642388941f, 0.985694277952645f, - 0.986104975767509f, 0.986509733359519f, 0.986908548290446f, 0.987301418157858f, - 0.987688340595138f, 0.988069313271492f, 0.988444333891970f, 0.988813400197476f, - 0.989176509964781f, 0.989533661006540f, 0.989884851171301f, 0.990230078343521f, - 0.990569340443577f, 0.990902635427780f, 0.991229961288385f, 0.991551316053606f, - 0.991866697787626f, 0.992176104590609f, 0.992479534598710f, 0.992776985984091f, - 0.993068456954926f, 0.993353945755417f, 0.993633450665799f, 0.993906970002356f, - 0.994174502117428f, 0.994436045399422f, 0.994691598272820f, 0.994941159198190f, - 0.995184726672197f, 0.995422299227608f, 0.995653875433303f, 0.995879453894286f, - 0.996099033251687f, 0.996312612182778f, 0.996520189400975f, 0.996721763655847f, - 0.996917333733128f, 0.997106898454717f, 0.997290456678690f, 0.997468007299307f, - 0.997639549247016f, 0.997805081488460f, 0.997964603026487f, 0.998118112900149f, - 0.998265610184716f, 0.998407093991674f, 0.998542563468736f, 0.998672017799843f, - 0.998795456205172f, 0.998912877941140f, 0.999024282300407f, 0.999129668611881f, - 0.999229036240723f, 0.999322384588350f, 0.999409713092437f, 0.999491021226926f, - 0.999566308502021f, 0.999635574464198f, 0.999698818696204f, 0.999756040817060f, - 0.999807240482065f, 0.999852417382795f, 0.999891571247108f, 0.999924701839145f, - 0.999951808959328f, 0.999972892444367f, 0.999987952167257f, 0.999996988037278f -}; -#endif const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1] = { 1.00000000000000f, 0.999987952167257f, 0.999951808959328f, 0.999891571247108f, @@ -4022,91 +3611,6 @@ const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1] = 0.0196336924606283f, 0.0147256833114584f, 0.00981731933714973f, 0.00490871880799808f ,0.0000000000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_320[IVAS_320_PT_LEN] = -{ - 0.00000000000000f, 0.00490871880799799f, 0.00981731933714962f, 0.0147256833114585f, - 0.0196336924606283f, 0.0245412285229123f, 0.0294481732479632f, 0.0343544083996823f, - 0.0392598157590686f, 0.0441642771270674f, 0.0490676743274180f, 0.0539698892095019f, - 0.0588708036511890f, 0.0637702995616845f, 0.0686682588843738f, 0.0735645635996674f, - 0.0784590957278449f, 0.0833517373318975f, 0.0882423705203695f, 0.0931308774501998f, - 0.0980171403295606f, 0.102901041420696f, 0.107782463042759f, 0.112661287574648f, - 0.117537397457838f, 0.122410675199216f, 0.127281003373913f, 0.132148264628130f, - 0.137012341681968f, 0.141873117332253f, 0.146730474455362f, 0.151584296010041f, - 0.156434465040231f, 0.161280864677880f, 0.166123378145765f, 0.170961888760301f, - 0.175796279934355f, 0.180626435180053f, 0.185452238111591f, 0.190273572448036f, - 0.195090322016128f, 0.199902370753082f, 0.204709602709380f, 0.209511902051569f, - 0.214309153065051f, 0.219101240156870f, 0.223888047858498f, 0.228669460828619f, - 0.233445363855905f, 0.238215641861795f, 0.242980179903264f, 0.247738863175598f, - 0.252491577015158f, 0.257238206902140f, 0.261978638463337f, 0.266712757474898f, - 0.271440449865074f, 0.276161601716971f, 0.280876099271292f, 0.285583828929082f, - 0.290284677254462f, 0.294978530977364f, 0.299665276996257f, 0.304344802380877f, - 0.309016994374947f, 0.313681740398891f, 0.318338928052550f, 0.322988445117886f, - 0.327630179561694f, 0.332264019538291f, 0.336889853392220f, 0.341507569660936f, - 0.346117057077493f, 0.350718204573223f, 0.355310901280416f, 0.359895036534988f, - 0.364470499879150f, 0.369037181064066f, 0.373594970052516f, 0.378143757021541f, - 0.382683432365090f, 0.387213886696666f, 0.391735010851956f, 0.396246695891466f, - 0.400748833103141f, 0.405241314004990f, 0.409724030347695f, 0.414196874117224f, - 0.418659737537428f, 0.423112513072644f, 0.427555093430282f, 0.431987371563412f, - 0.436409240673342f, 0.440820594212194f, 0.445221325885468f, 0.449611329654607f, - 0.453990499739547f, 0.458358730621271f, 0.462715917044350f, 0.467061954019477f, - 0.471396736825998f, 0.475720161014437f, 0.480032122409011f, 0.484332517110141f, - 0.488621241496955f, 0.492898192229784f, 0.497163266252654f, 0.501416360795769f, - 0.505657373377985f, 0.509886201809281f, 0.514102744193222f, 0.518306898929413f, - 0.522498564715949f, 0.526677640551852f, 0.530844025739509f, 0.534997619887097f, - 0.539138322911000f, 0.543266035038224f, 0.547380656808796f, 0.551482089078169f, - 0.555570233019602f, 0.559644990126546f, 0.563706262215017f, 0.567753951425961f, - 0.571787960227612f, 0.575808191417845f, 0.579814548126514f, 0.583806933817786f, - 0.587785252292473f, 0.591749407690343f, 0.595699304492433f, 0.599634847523352f, - 0.603555941953571f, 0.607462493301711f, 0.611354407436817f, 0.615231590580627f, - 0.619093949309834f, 0.622941390558334f, 0.626773821619470f, 0.630591150148264f, - 0.634393284163646f, 0.638180132050665f, 0.641951602562703f, 0.645707604823667f, - 0.649448048330184f, 0.653172842953777f, 0.656881898943041f, 0.660575126925805f, - 0.664252437911282f, 0.667913743292216f, 0.671558954847018f, 0.675187984741890f, - 0.678800745532942f, 0.682397150168297f, 0.685977111990193f, 0.689540544737067f, - 0.693087362545636f, 0.696617479952964f, 0.700130811898524f, 0.703627273726243f, - 0.707106781186548f, 0.710569250438390f, 0.714014598051268f, 0.717442741007240f, - 0.720853596702919f, 0.724247082951467f, 0.727623117984575f, 0.730981620454432f, - 0.734322509435686f, 0.737645704427393f, 0.740951125354959f, 0.744238692572067f, - 0.747508326862597f, 0.750759949442534f, 0.753993481961869f, 0.757208846506485f, - 0.760405965600031f, 0.763584762205797f, 0.766745159728562f, 0.769887082016445f, - 0.773010453362737f, 0.776115198507728f, 0.779201242640517f, 0.782268511400816f, - 0.785316930880745f, 0.788346427626606f, 0.791356928640660f, 0.794348361382882f, - 0.797320653772707f, 0.800273734190774f, 0.803207531480645f, 0.806121974950521f, - 0.809016994374948f, 0.811892519996505f, 0.814748482527489f, 0.817584813151584f, - 0.820401443525514f, 0.823198305780696f, 0.825975332524873f, 0.828732456843738f, - 0.831469612302545f, 0.834186732947712f, 0.836883753308409f, 0.839560608398136f, - 0.842217233716286f, 0.844853565249707f, 0.847469539474234f, 0.850065093356229f, - 0.852640164354092f, 0.855194690419775f, 0.857728610000272f, 0.860241862039105f, - 0.862734385977792f, 0.865206121757311f, 0.867657009819544f, 0.870086991108711f, - 0.872496007072797f, 0.874883999664958f, 0.877250911344924f, 0.879596685080383f, - 0.881921264348355f, 0.884224593136556f, 0.886506615944746f, 0.888767277786068f, - 0.891006524188368f, 0.893224301195515f, 0.895420555368697f, 0.897595233787707f, - 0.899748284052221f, 0.901879654283062f, 0.903989293123443f, 0.906077149740215f, - 0.908143173825081f, 0.910187315595818f, 0.912209525797468f, 0.914209755703531f, - 0.916187957117136f, 0.918144082372204f, 0.920078084334595f, 0.921989916403245f, - 0.923879532511287f, 0.925746887127164f, 0.927591935255724f, 0.929414632439304f, - 0.931214934758804f, 0.932992798834739f, 0.934748181828292f, 0.936481041442343f, - 0.938191335922484f, 0.939879024058033f, 0.941544065183021f, 0.943186419177173f, - 0.944806046466878f, 0.946402908026138f, 0.947976965377510f, 0.949528180593037f, - 0.951056516295154f, 0.952561935657595f, 0.954044402406280f, 0.955503880820186f, - 0.956940335732209f, 0.958353732530011f, 0.959744037156857f, 0.961111216112432f, - 0.962455236453647f, 0.963776065795440f, 0.965073672311547f, 0.966348024735277f, - 0.967599092360260f, 0.968826845041188f, 0.970031253194544f, 0.971212287799312f, - 0.972369920397677f, 0.973504123095711f, 0.974614868564045f, 0.975702130038529f, - 0.976765881320873f, 0.977806096779282f, 0.978822751349072f, 0.979815820533276f, - 0.980785280403230f, 0.981731107599154f, 0.982653279330712f, 0.983551773377562f, - 0.984426568089892f, 0.985277642388941f, 0.986104975767509f, 0.986908548290446f, - 0.987688340595138f, 0.988444333891970f, 0.989176509964781f, 0.989884851171301f, - 0.990569340443577f, 0.991229961288385f, 0.991866697787626f, 0.992479534598710f, - 0.993068456954926f, 0.993633450665799f, 0.994174502117428f, 0.994691598272820f, - 0.995184726672197f, 0.995653875433303f, 0.996099033251687f, 0.996520189400975f, - 0.996917333733128f, 0.997290456678690f, 0.997639549247016f, 0.997964603026487f, - 0.998265610184716f, 0.998542563468736f, 0.998795456205172f, 0.999024282300407f, - 0.999229036240723f, 0.999409713092437f, 0.999566308502021f, 0.999698818696204f, - 0.999807240482065f, 0.999891571247108f, 0.999951808959328f, 0.999987952167257f -}; -#endif const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1] = { 1.0000000000f, 0.9999785817f, 0.9999143276f, 0.9998072405f, 0.9996573250f, 0.9994645875f, @@ -4151,51 +3655,6 @@ const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1] = 0.0392598158f, 0.0327190828f, 0.0261769483f, 0.0196336925f, 0.0130895956f, 0.0065449380f, 0.000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_240[IVAS_240_PT_LEN] = -{ - 0.0000000000f, 0.0065449380f, 0.0130895956f, 0.0196336925f, 0.0261769483f, 0.0327190828f, - 0.0392598158f, 0.0457988669f, 0.0523359562f, 0.0588708037f, 0.0654031292f, 0.0719326532f, - 0.0784590957f, 0.0849821774f, 0.0915016187f, 0.0980171403f, 0.1045284633f, 0.1110353086f, - 0.1175373975f, 0.1240344515f, 0.1305261922f, 0.1370123417f, 0.1434926220f, 0.1499667556f, - 0.1564344650f, 0.1628954734f, 0.1693495038f, 0.1757962799f, 0.1822355255f, 0.1886669647f, - 0.1950903220f, 0.2015053223f, 0.2079116908f, 0.2143091531f, 0.2206974350f, 0.2270762630f, - 0.2334453639f, 0.2398044647f, 0.2461532930f, 0.2524915770f, 0.2588190451f, 0.2651354262f, - 0.2714404499f, 0.2777338459f, 0.2840153447f, 0.2902846773f, 0.2965415750f, 0.3027857698f, - 0.3090169944f, 0.3152349816f, 0.3214394653f, 0.3276301796f, 0.3338068592f, 0.3399692397f, - 0.3461170571f, 0.3522500479f, 0.3583679495f, 0.3644704999f, 0.3705574375f, 0.3766285017f, - 0.3826834324f, 0.3887219702f, 0.3947438564f, 0.4007488331f, 0.4067366431f, 0.4127070298f, - 0.4186597375f, 0.4245945113f, 0.4305110968f, 0.4364092407f, 0.4422886902f, 0.4481491936f, - 0.4539904997f, 0.4598123584f, 0.4656145203f, 0.4713967368f, 0.4771587603f, 0.4829003438f, - 0.4886212415f, 0.4943212083f, 0.5000000000f, 0.5056573734f, 0.5112930861f, 0.5169068967f, - 0.5224985647f, 0.5280678507f, 0.5336145159f, 0.5391383229f, 0.5446390350f, 0.5501164166f, - 0.5555702330f, 0.5610002507f, 0.5664062369f, 0.5717879602f, 0.5771451900f, 0.5824776969f, - 0.5877852523f, 0.5930676290f, 0.5983246006f, 0.6035559420f, 0.6087614290f, 0.6139408388f, - 0.6190939493f, 0.6242205399f, 0.6293203910f, 0.6343932842f, 0.6394390020f, 0.6444573284f, - 0.6494480483f, 0.6544109481f, 0.6593458151f, 0.6642524379f, 0.6691306064f, 0.6739801115f, - 0.6788007455f, 0.6835923020f, 0.6883545757f, 0.6930873625f, 0.6977904598f, 0.7024636661f, - 0.7071067812f, 0.7117196062f, 0.7163019434f, 0.7208535967f, 0.7253743710f, 0.7298640727f, - 0.7343225094f, 0.7387494902f, 0.7431448255f, 0.7475083269f, 0.7518398075f, 0.7561390818f, - 0.7604059656f, 0.7646402762f, 0.7688418321f, 0.7730104534f, 0.7771459615f, 0.7812481792f, - 0.7853169309f, 0.7893520422f, 0.7933533403f, 0.7973206538f, 0.8012538127f, 0.8051526486f, - 0.8090169944f, 0.8128466846f, 0.8166415552f, 0.8204014435f, 0.8241261886f, 0.8278156309f, - 0.8314696123f, 0.8350879763f, 0.8386705679f, 0.8422172337f, 0.8457278217f, 0.8492021815f, - 0.8526401644f, 0.8560416229f, 0.8594064115f, 0.8627343860f, 0.8660254038f, 0.8692793239f, - 0.8724960071f, 0.8756753154f, 0.8788171127f, 0.8819212643f, 0.8849876375f, 0.8880161007f, - 0.8910065242f, 0.8939587800f, 0.8968727415f, 0.8997482841f, 0.9025852843f, 0.9053836209f, - 0.9081431738f, 0.9108638249f, 0.9135454576f, 0.9161879571f, 0.9187912101f, 0.9213551052f, - 0.9238795325f, 0.9263643839f, 0.9288095529f, 0.9312149348f, 0.9335804265f, 0.9359059268f, - 0.9381913359f, 0.9404365561f, 0.9426414911f, 0.9448060465f, 0.9469301295f, 0.9490136492f, - 0.9510565163f, 0.9530586433f, 0.9550199445f, 0.9569403357f, 0.9588197349f, 0.9606580614f, - 0.9624552365f, 0.9642111832f, 0.9659258263f, 0.9675990924f, 0.9692309097f, 0.9708212084f, - 0.9723699204f, 0.9738769793f, 0.9753423205f, 0.9767658813f, 0.9781476007f, 0.9794874196f, - 0.9807852804f, 0.9820411277f, 0.9832549076f, 0.9844265681f, 0.9855560591f, 0.9866433321f, - 0.9876883406f, 0.9886910398f, 0.9896513868f, 0.9905693404f, 0.9914448614f, 0.9922779121f, - 0.9930684570f, 0.9938164621f, 0.9945218954f, 0.9951847267f, 0.9958049276f, 0.9963824715f, - 0.9969173337f, 0.9974094913f, 0.9978589232f, 0.9982656102f, 0.9986295348f, 0.9989506814f, - 0.9992290362f, 0.9994645875f, 0.9996573250f, 0.9998072405f, 0.9999143276f, 0.9999785817f -}; -#endif const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1] = { 1.0000000000f, 0.9999518090f, 0.9998072405f, 0.9995663085f, 0.9992290362f, 0.9987954562f, @@ -4226,38 +3685,6 @@ const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1] = 0.0980171403f, 0.0882423705f, 0.0784590957f, 0.0686682589f, 0.0588708037f, 0.0490676743f, 0.0392598158f, 0.0294481732f, 0.0196336925f, 0.0098173193f, 0.000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_160[IVAS_160_PT_LEN] = -{ - 0.0000000000f, 0.0098173193f, 0.0196336925f, 0.0294481732f, 0.0392598158f, 0.0490676743f, - 0.0588708037f, 0.0686682589f, 0.0784590957f, 0.0882423705f, 0.0980171403f, 0.1077824630f, - 0.1175373975f, 0.1272810034f, 0.1370123417f, 0.1467304745f, 0.1564344650f, 0.1661233781f, - 0.1757962799f, 0.1854522381f, 0.1950903220f, 0.2047096027f, 0.2143091531f, 0.2238880479f, - 0.2334453639f, 0.2429801799f, 0.2524915770f, 0.2619786385f, 0.2714404499f, 0.2808760993f, - 0.2902846773f, 0.2996652770f, 0.3090169944f, 0.3183389281f, 0.3276301796f, 0.3368898534f, - 0.3461170571f, 0.3553109013f, 0.3644704999f, 0.3735949701f, 0.3826834324f, 0.3917350109f, - 0.4007488331f, 0.4097240303f, 0.4186597375f, 0.4275550934f, 0.4364092407f, 0.4452213259f, - 0.4539904997f, 0.4627159170f, 0.4713967368f, 0.4800321224f, 0.4886212415f, 0.4971632663f, - 0.5056573734f, 0.5141027442f, 0.5224985647f, 0.5308440257f, 0.5391383229f, 0.5473806568f, - 0.5555702330f, 0.5637062622f, 0.5717879602f, 0.5798145481f, 0.5877852523f, 0.5956993045f, - 0.6035559420f, 0.6113544074f, 0.6190939493f, 0.6267738216f, 0.6343932842f, 0.6419516026f, - 0.6494480483f, 0.6568818989f, 0.6642524379f, 0.6715589548f, 0.6788007455f, 0.6859771120f, - 0.6930873625f, 0.7001308119f, 0.7071067812f, 0.7140145981f, 0.7208535967f, 0.7276231180f, - 0.7343225094f, 0.7409511254f, 0.7475083269f, 0.7539934820f, 0.7604059656f, 0.7667451597f, - 0.7730104534f, 0.7792012426f, 0.7853169309f, 0.7913569286f, 0.7973206538f, 0.8032075315f, - 0.8090169944f, 0.8147484825f, 0.8204014435f, 0.8259753325f, 0.8314696123f, 0.8368837533f, - 0.8422172337f, 0.8474695395f, 0.8526401644f, 0.8577286100f, 0.8627343860f, 0.8676570098f, - 0.8724960071f, 0.8772509113f, 0.8819212643f, 0.8865066159f, 0.8910065242f, 0.8954205554f, - 0.8997482841f, 0.9039892931f, 0.9081431738f, 0.9122095258f, 0.9161879571f, 0.9200780843f, - 0.9238795325f, 0.9275919353f, 0.9312149348f, 0.9347481818f, 0.9381913359f, 0.9415440652f, - 0.9448060465f, 0.9479769654f, 0.9510565163f, 0.9540444024f, 0.9569403357f, 0.9597440372f, - 0.9624552365f, 0.9650736723f, 0.9675990924f, 0.9700312532f, 0.9723699204f, 0.9746148686f, - 0.9767658813f, 0.9788227513f, 0.9807852804f, 0.9826532793f, 0.9844265681f, 0.9861049758f, - 0.9876883406f, 0.9891765100f, 0.9905693404f, 0.9918666978f, 0.9930684570f, 0.9941745021f, - 0.9951847267f, 0.9960990333f, 0.9969173337f, 0.9976395492f, 0.9982656102f, 0.9987954562f, - 0.9992290362f, 0.9995663085f, 0.9998072405f, 0.9999518090f -}; -#endif const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1] = { 1.0000000000f, 0.9998072405f, 0.9992290362f, 0.9982656102f, 0.9969173337f, 0.9951847267f, @@ -4275,25 +3702,6 @@ const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1] = 0.1564344650f, 0.1370123417f, 0.1175373975f, 0.0980171403f, 0.0784590957f, 0.0588708037f, 0.0392598158f, 0.0196336925f, 0.000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_80[IVAS_80_PT_LEN] = -{ - 0.0000000000f, 0.0196336925f, 0.0392598158f, 0.0588708037f, 0.0784590957f, 0.0980171403f, - 0.1175373975f, 0.1370123417f, 0.1564344650f, 0.1757962799f, 0.1950903220f, 0.2143091531f, - 0.2334453639f, 0.2524915770f, 0.2714404499f, 0.2902846773f, 0.3090169944f, 0.3276301796f, - 0.3461170571f, 0.3644704999f, 0.3826834324f, 0.4007488331f, 0.4186597375f, 0.4364092407f, - 0.4539904997f, 0.4713967368f, 0.4886212415f, 0.5056573734f, 0.5224985647f, 0.5391383229f, - 0.5555702330f, 0.5717879602f, 0.5877852523f, 0.6035559420f, 0.6190939493f, 0.6343932842f, - 0.6494480483f, 0.6642524379f, 0.6788007455f, 0.6930873625f, 0.7071067812f, 0.7208535967f, - 0.7343225094f, 0.7475083269f, 0.7604059656f, 0.7730104534f, 0.7853169309f, 0.7973206538f, - 0.8090169944f, 0.8204014435f, 0.8314696123f, 0.8422172337f, 0.8526401644f, 0.8627343860f, - 0.8724960071f, 0.8819212643f, 0.8910065242f, 0.8997482841f, 0.9081431738f, 0.9161879571f, - 0.9238795325f, 0.9312149348f, 0.9381913359f, 0.9448060465f, 0.9510565163f, 0.9569403357f, - 0.9624552365f, 0.9675990924f, 0.9723699204f, 0.9767658813f, 0.9807852804f, 0.9844265681f, - 0.9876883406f, 0.9905693404f, 0.9930684570f, 0.9951847267f, 0.9969173337f, 0.9982656102f, - 0.9992290362f, 0.9998072405f -}; -#endif const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1] = { 1.0000000000f, 0.9992290362f, 0.9969173337f, 0.9930684570f, 0.9876883406f, 0.9807852804f, @@ -4304,18 +3712,6 @@ const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1] = 0.3826834324f, 0.3461170571f, 0.3090169944f, 0.2714404499f, 0.2334453639f, 0.1950903220f, 0.1564344650f, 0.1175373975f, 0.0784590957f, 0.0392598158f, 0.000000000f }; -#ifndef MDFT_ROM_OPTIMIZE -const float ivas_mdft_coeff_sin_twid_40[IVAS_40_PT_LEN] = -{ - 0.0000000000f, 0.0392598158f, 0.0784590957f, 0.1175373975f, 0.1564344650f, 0.1950903220f, - 0.2334453639f, 0.2714404499f, 0.3090169944f, 0.3461170571f, 0.3826834324f, 0.4186597375f, - 0.4539904997f, 0.4886212415f, 0.5224985647f, 0.5555702330f, 0.5877852523f, 0.6190939493f, - 0.6494480483f, 0.6788007455f, 0.7071067812f, 0.7343225094f, 0.7604059656f, 0.7853169309f, - 0.8090169944f, 0.8314696123f, 0.8526401644f, 0.8724960071f, 0.8910065242f, 0.9081431738f, - 0.9238795325f, 0.9381913359f, 0.9510565163f, 0.9624552365f, 0.9723699204f, 0.9807852804f, - 0.9876883406f, 0.9930684570f, 0.9969173337f, 0.9992290362f -}; -#endif const float ivas_sin_twiddle_480[IVAS_480_PT_LEN >> 1] = { -0.000818122995607253f, -0.00736304124977957f, -0.0139076440957708f, -0.0204516511845773f, diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h index 084c2d071b..2b3755087c 100644 --- a/lib_com/ivas_rom_com.h +++ b/lib_com/ivas_rom_com.h @@ -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]; diff --git a/lib_com/options.h b/lib_com/options.h index c899f5103c..91e6fda501 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -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. */ -- GitLab From 651a4334fcd22aaa6a85a91b6cd94b31d44f40ce Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 19 Aug 2022 09:00:02 +0200 Subject: [PATCH 3/4] [cleanup] accept LFE_NO_ENTROPY_CODING, FIX_79_MASA2TC_BITRATE_SWITCHING --- lib_com/options.h | 2 -- lib_dec/ivas_lfe_dec.c | 8 ------- lib_dec/ivas_stat_dec.h | 2 -- lib_dec/ivas_stereo_switching_dec.c | 4 ---- lib_enc/ivas_lfe_enc.c | 33 ----------------------------- lib_enc/ivas_stat_enc.h | 2 -- 6 files changed, 51 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 91e6fda501..7345441ef4 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,8 +147,6 @@ /*#define FIX_I1_113*/ /* under review : MCT bit distribution optimization for SBA high bitrates*/ -#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. */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index 957d37ba3a..a909801b8f 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -154,10 +154,8 @@ static int16_t ivas_lfe_dec_dequant( { int16_t shift_bits, i; int16_t quant_strategy; -#ifdef LFE_NO_ENTROPY_CODING int16_t coding_strategy; int16_t base2_bit_size; -#endif int16_t lfe_bits; int16_t all_zeros_dct; int16_t min_shift_bits; @@ -199,7 +197,6 @@ static int16_t ivas_lfe_dec_dequant( sign_bits[i] = get_next_indice( st0, 1 ); } -#ifdef LFE_NO_ENTROPY_CODING coding_strategy = get_next_indice( st0, 1 ); if ( coding_strategy ) @@ -214,7 +211,6 @@ static int16_t ivas_lfe_dec_dequant( } } else -#endif { for ( iii = 0; iii < num_groups; iii++ ) { @@ -364,9 +360,7 @@ ivas_error ivas_create_lfe_dec( const float *filt_coeff; LFE_DEC_HANDLE hLFE; float lfe_addl_delay_s; -#ifdef LFE_NO_ENTROPY_CODING int16_t i, j; -#endif low_pass_delay_dec_out = 0; block_offset_s = 0; @@ -458,7 +452,6 @@ ivas_error ivas_create_lfe_dec( hLFE->lfe_delay_buf = NULL; } -#ifdef LFE_NO_ENTROPY_CODING /* Initialization base2 bits for each subgroup for no entropy coding */ for ( i = 0; i < IVAS_MAX_NUM_QUANT_STRATS; i++ ) { @@ -468,7 +461,6 @@ ivas_error ivas_create_lfe_dec( (int16_t) ceilf( log2f( (float) ( ivas_lfe_num_ele_in_coder_models[i][j] + 1 ) ) ); } } -#endif *hLFE_out = hLFE; diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 32c864f169..9df27a84ee 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1860,9 +1860,7 @@ typedef struct ivas_lfe_dec_data_structure ivas_filters_process_state_t filter_state; LFE_WINDOW_HANDLE pWindow_state; const uint16_t *cum_freq_models[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; -#ifdef LFE_NO_ENTROPY_CODING int16_t lfe_dec_indices_coeffs_tbl[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; -#endif float lfe_block_delay_s; int16_t lfe_prior_buf_len; float *prior_out_buffer; diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 80bd618dd8..66cbf5bf3a 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -891,14 +891,12 @@ ivas_error stereo_memory_dec( count_free( hCPE->prev_synth_chs[1] ); hCPE->prev_synth_chs[1] = NULL; } -#ifdef FIX_79_MASA2TC_BITRATE_SWITCHING if ( hCPE->hStereoTCA != NULL ) { count_free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; } -#endif } else /* nchan_out == 2 */ { @@ -917,7 +915,6 @@ ivas_error stereo_memory_dec( } set_zero( hCPE->prev_synth_chs[1], NS2SA( st->output_Fs, FRAME_SIZE_NS ) ); } -#ifdef FIX_79_MASA2TC_BITRATE_SWITCHING if ( hCPE->hStereoICBWE == NULL && hCPE->element_mode == IVAS_CPE_DFT ) { @@ -954,7 +951,6 @@ ivas_error stereo_memory_dec( hCPE->hStereoICBWE = NULL; } } -#endif } } diff --git a/lib_enc/ivas_lfe_enc.c b/lib_enc/ivas_lfe_enc.c index d3a026db6b..a333995d69 100644 --- a/lib_enc/ivas_lfe_enc.c +++ b/lib_enc/ivas_lfe_enc.c @@ -105,13 +105,11 @@ static void ivas_lfe_enc_quant( int16_t values[IVAS_LFE_MAX_NUM_DCT_COEFFS << 1]; float temp_lfe_dct[IVAS_LFE_MAX_NUM_DCT_COEFFS]; int16_t target_bits; -#ifdef LFE_NO_ENTROPY_CODING int16_t base2_num_bits_tot; int16_t coding_strategy; int16_t bits_written_arith_enc; int16_t next_ind_pos_arith_enc; int16_t num_ele_per_grp = IVAS_LFE_NUM_COEFFS_IN_SUBGRP << 1; -#endif target_bits = (int16_t) ( IVAS_LFE_BITRATE_5000 / FRAMES_PER_SEC ); @@ -134,9 +132,7 @@ static void ivas_lfe_enc_quant( uint16_t all_zeros_dct; lfe_abs_sum = 0; -#ifdef LFE_NO_ENTROPY_CODING coding_strategy = 0; -#endif num_dct_pass_bins = ivas_lfe_num_dct_pass_bins_tbl[quant_strategy]; max_of_vals = 0; num_groups = num_dct_pass_bins >> 1; @@ -246,43 +242,19 @@ static void ivas_lfe_enc_quant( push_next_indice( hBstr, write_bit, 1 ); } -#ifdef LFE_NO_ENTROPY_CODING bits_written_arith_enc = hBstr->nb_bits_tot; next_ind_pos_arith_enc = hBstr->next_ind; push_next_indice( hBstr, coding_strategy, 1 ); base2_num_bits_tot = hBstr->nb_bits_tot - bits_written; -#endif ivas_lfe_arith_coding( hLFE, hBstr, quant_strategy, values ); -#ifdef LFE_NO_ENTROPY_CODING for ( i = 0; i < num_groups; i++ ) { int16_t base2_num_bits = hLFE->lfe_enc_indices_coeffs_tbl[quant_strategy][i]; base2_num_bits_tot += ( num_ele_per_grp * base2_num_bits ); } -#endif -#ifndef LFE_NO_ENTROPY_CODING - if ( ( target_bits + IVAS_LFE_ID_BITS ) >= ( hBstr->nb_bits_tot - bits_written ) ) - { - break; - } - else - { - if ( quant_strategy < ( num_quant_strategies - 1 ) ) - { - /* reset all indices that were already written - TODO: maybe better store them temporarily first and write at the very end? */ - for ( j = hBstr->next_ind - 1; j >= next_ind_pos; j-- ) - { - hBstr->ind_list[j].nb_bits = 0; - } - - hBstr->nb_bits_tot = bits_written; - hBstr->next_ind = next_ind_pos; - } - } -#else if ( ( base2_num_bits_tot ) < ( hBstr->nb_bits_tot - bits_written ) ) { if ( quant_strategy == ( num_quant_strategies - 1 ) || ( ( target_bits + IVAS_LFE_ID_BITS ) >= base2_num_bits_tot ) ) @@ -336,7 +308,6 @@ static void ivas_lfe_enc_quant( } } } -#endif } /* bits spent for LFE coding */ @@ -412,9 +383,7 @@ ivas_error ivas_create_lfe_enc( int16_t input_frame; LFE_ENC_HANDLE hLFE; const float *filt_coeff; -#ifdef LFE_NO_ENTROPY_CODING int16_t i, j; -#endif input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); @@ -468,7 +437,6 @@ ivas_error ivas_create_lfe_enc( hLFE->cum_freq_models[1][2] = ivas_str_lfe_freq_models.entropy_coder_model_coarse_sg3; hLFE->cum_freq_models[1][3] = &ivas_str_lfe_freq_models.entropy_coder_model_coarse_sg4; -#ifdef LFE_NO_ENTROPY_CODING /* Initialization base2 bits for each subgroup for no entropy coding */ for ( i = 0; i < IVAS_MAX_NUM_QUANT_STRATS; i++ ) { @@ -478,7 +446,6 @@ ivas_error ivas_create_lfe_enc( (int16_t) ceilf( log2f( (float) ( ivas_lfe_num_ele_in_coder_models[i][j] + 1 ) ) ); } } -#endif *hLFE_out = hLFE; diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index dcba372dfb..e542fed71c 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -971,9 +971,7 @@ typedef struct ivas_lfe_enc_data_structure LFE_WINDOW_HANDLE pWindow_state; BSTR_ENC_HANDLE hBstr; /* pointer to encoder bitstream handle */ const uint16_t *cum_freq_models[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; -#ifdef LFE_NO_ENTROPY_CODING int16_t lfe_enc_indices_coeffs_tbl[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; -#endif int16_t lfe_bits; float *old_wtda_audio; -- GitLab From e6c750f693f7b103f0882dbe20ba454ae6c45fe1 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 19 Aug 2022 09:12:21 +0200 Subject: [PATCH 4/4] [cleanup] formatting --- lib_com/ivas_mdft_imdft.c | 6 ++---- lib_dec/ivas_stereo_switching_dec.c | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) mode change 100644 => 100755 lib_com/ivas_mdft_imdft.c mode change 100644 => 100755 lib_dec/ivas_stereo_switching_dec.c diff --git a/lib_com/ivas_mdft_imdft.c b/lib_com/ivas_mdft_imdft.c old mode 100644 new mode 100755 index c3953c9788..4c986e84e5 --- a/lib_com/ivas_mdft_imdft.c +++ b/lib_com/ivas_mdft_imdft.c @@ -50,8 +50,7 @@ static void ivas_get_mdft_twid_factors( const int16_t length, - const float **ppTwid -) + const float **ppTwid ) { switch ( length ) { @@ -220,8 +219,7 @@ void ivas_mdft( len_by_2 = mdft_length >> 1; ivas_get_mdft_twid_factors( mdft_length, - &pTwid - ); + &pTwid ); if ( mdft_length == input_length ) { diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c old mode 100644 new mode 100755 index 66cbf5bf3a..b2b7889569 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -891,7 +891,7 @@ ivas_error stereo_memory_dec( count_free( hCPE->prev_synth_chs[1] ); hCPE->prev_synth_chs[1] = NULL; } - + if ( hCPE->hStereoTCA != NULL ) { count_free( hCPE->hStereoTCA ); @@ -938,7 +938,7 @@ ivas_error stereo_memory_dec( if ( hCPE->element_mode == IVAS_CPE_MDCT ) { - if( hCPE->hStereoTCA != NULL ) + if ( hCPE->hStereoTCA != NULL ) { /* note: in MASA, hCPE->hStereoMdct->itd = 0 */ count_free( hCPE->hStereoTCA ); -- GitLab