Loading lib_com/options.h +4 −1 Original line number Diff line number Diff line Loading @@ -161,6 +161,9 @@ #define FIX_1113_CLDFB_REND_IN_ISAR /* issue 1113: fix the use of CLDFB renderer in split-rendering at the external renderer */ #define NONBE_1328_FIX_NON_LINEARITY /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0 */ #define FIX_CREND_SIMPLIFY_CODE #ifdef FIX_CREND_SIMPLIFY_CODE #define FIX_989_TD_REND_ROM /* Eri: Clean-up for TD renderer and completion of ROM generation tool */ #endif /* #################### End BASOP porting switches ############################ */ /* clang-format on */ Loading lib_rend/ivas_objectRenderer_mix.c +21 −22 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ #include "ivas_error.h" #include "wmc_auto.h" #include "ivas_rom_rend.h" #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM #include <math.h> #else #include "ivas_rom_binaural_crend_head.h" Loading @@ -47,7 +47,7 @@ #include "debug.h" #endif #ifndef FIX_CREND_SIMPLIFY_CODE #ifndef FIX_989_TD_REND_ROM /*-------------------------------------------------------------------* * Local constants Loading Loading @@ -310,7 +310,7 @@ ivas_error TDREND_MIX_AddSrc( TDREND_SRC_t *Src_p; ivas_error error; #ifndef FIX_CREND_SIMPLIFY_CODE #ifndef FIX_989_TD_REND_ROM error = IVAS_ERR_OK; #endif Loading Loading @@ -349,7 +349,7 @@ ivas_error TDREND_MIX_AddSrc( hBinRendererTd->Sources[*SrcInd] = Src_p; } } #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM return IVAS_ERR_OK; #else return error; Loading Loading @@ -397,7 +397,7 @@ static ivas_error DefaultBSplineModel( ModelParamsITD_t *modelITD; int16_t i, j; ivas_error error; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM float azimSegSamples; #endif Loading @@ -410,7 +410,7 @@ static ivas_error DefaultBSplineModel( model->modelROM = TRUE; /* int16_t parameters */ #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->UseItdModel = defaultHRIR_rom_model_configuration[0]; model->elevDim3 = defaultHRIR_rom_model_configuration[1]; model->AlphaN = defaultHRIR_rom_model_configuration[2]; Loading Loading @@ -453,12 +453,15 @@ static ivas_error DefaultBSplineModel( } model->azimBsShape[0] = (const float *) defaultHRIR_rom_azimBsShape; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM if ( ( model->azimKSeq = (float **) malloc( model->elevDim3 * sizeof( float * ) ) ) == NULL ) #else if ( ( model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ) ) == NULL ) #endif { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } #ifdef FIX_989_TD_REND_ROM for ( i = 0; i < model->elevDim3; i++ ) { if ( ( model->azimKSeq[i] = (float *) malloc( ( model->azimDim3[i] + 1 ) * sizeof( float * ) ) ) == NULL ) Loading @@ -482,10 +485,6 @@ static ivas_error DefaultBSplineModel( } } #else if ( ( model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } if ( ( model->azimKSeq[0] = (float *) malloc( 2 * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); Loading Loading @@ -519,7 +518,7 @@ static ivas_error DefaultBSplineModel( model->AlphaR = (const float *) defaultHRIR_rom_AlphaR48; model->EL = (const float *) defaultHRIR_rom_EL48; model->ER = (const float *) defaultHRIR_rom_ER48; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->K = defaultHRIR_rom_model_configuration[5]; #else model->K = 128; Loading @@ -534,7 +533,7 @@ static ivas_error DefaultBSplineModel( model->AlphaR = (const float *) defaultHRIR_rom_AlphaR32; model->EL = (const float *) defaultHRIR_rom_EL32; model->ER = (const float *) defaultHRIR_rom_ER32; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->K = (int16_t) ceilf( RESAMPLE_FACTOR_32_48 * defaultHRIR_rom_model_configuration[5] ); #else model->K = 86; Loading @@ -549,7 +548,7 @@ static ivas_error DefaultBSplineModel( model->AlphaR = (const float *) defaultHRIR_rom_AlphaR16; model->EL = (const float *) defaultHRIR_rom_EL16; model->ER = (const float *) defaultHRIR_rom_ER16; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->K = (int16_t) ceilf( RESAMPLE_FACTOR_16_48 * defaultHRIR_rom_model_configuration[5] ); #else model->K = 43; Loading @@ -563,18 +562,13 @@ static ivas_error DefaultBSplineModel( break; } #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM modelITD->elevDim3 = defaultHRIR_rom_ITD_model_configuration[0]; modelITD->azimDim3 = defaultHRIR_rom_ITD_model_configuration[1]; modelITD->elevSegSamples = defaultHRIR_rom_ITD_model_configuration[2]; modelITD->azimSegSamples = defaultHRIR_rom_ITD_model_configuration[3]; modelITD->elevBsLen = defaultHRIR_rom_ITD_elevBsLen; modelITD->elevBsStart = defaultHRIR_rom_ITD_elevBsStart; modelITD->elevKSeq = defaultHRIR_rom_ITD_elevKSeq; modelITD->azimBsLen = defaultHRIR_rom_ITD_azimBsLen; modelITD->azimBsStart = defaultHRIR_rom_ITD_azimBsStart; #else modelITD->N = 4; modelITD->elevDim2 = 20; Loading @@ -590,9 +584,14 @@ static ivas_error DefaultBSplineModel( modelITD->elevBsStart[1] = 4; modelITD->elevBsStart[2] = 11; modelITD->elevBsStart[3] = 21; #endif modelITD->elevKSeq = defaultHRIR_rom_ITD_elevKSeq; #ifdef FIX_989_TD_REND_ROM modelITD->azimBsLen = defaultHRIR_rom_ITD_azimBsLen; modelITD->azimBsStart = defaultHRIR_rom_ITD_azimBsStart; #else modelITD->azimBsLen[0] = 11; modelITD->azimBsLen[1] = 21; modelITD->azimBsLen[2] = 31; Loading @@ -603,8 +602,8 @@ static ivas_error DefaultBSplineModel( modelITD->azimBsStart[3] = 63; modelITD->azimSegSamples = 10; #endif modelITD->azimKSeq = defaultHRIR_rom_ITD_azimKSeq; modelITD->W = (const float *) defaultHRIR_rom_ITD_W; modelITD->azimBsShape = (const float *) defaultHRIR_rom_ITD_azimBsShape; Loading lib_rend/ivas_rom_TdBinauralRenderer.c +19 −19 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ #endif const float defaultHRIR_rom_latency_s = 0.000020834f; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t defaultHRIR_rom_model_configuration[6] = { 1, /* UseItdModel */ 15, /* elevDim3 */ Loading Loading @@ -10166,7 +10166,7 @@ const uint32_t defaultHRIR_rom_ITD_W[658] = { 0x3c678a1c,0xbdeb0ba5,0xbe2218a5,0x3e58dcde,0x3d71aaa0,0xbef80fb9,0xbf3d07e1,0x3f3485be,0x3db783c0,0x3c142933,0xbed36b04,0xbb9f1f49,0x3ebfdc23,0xbcc7652e,0xbdb4e6cd,0xbf3be092,0x3f399c4e,0x3ef2eb6a,0xbd93a618,0xbe480d88,0x3e1bd187,0x3df79a5d,0xbc53f8d6,0xbf002186,0xbd41bc42, 0x3e5c0f28,0x3f2ad402,0xbf3cc2c3,0xbedc59d1,0xbe021816,0x3ea43429,0x3d349309,0xbab986b3, }; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t defaultHRIR_rom_ITD_model_configuration[4] = { 18, /* elevDim3 */ 41, /* azimDim3 */ Loading @@ -10187,17 +10187,17 @@ const int16_t defaultHRIR_rom_ITD_azimBsStart[4] = { }; #endif const uint32_t defaultHRIR_rom_ITD_azimBsShape[84] = { 0x3f7ffe00,0x3f3aa000,0x3f031200,0x3eaf9c00,0x3e5d3000,0x3e000000,0x3d831000,0x3cdd4000,0x3c030000,0x3a840000,0x00000000,0x00000000,0x3e837400,0x3ede3400,0x3f0ad000,0x3f178e00,0x3f180000,0x3f0eda00,0x3efd9000,0x3ed4fc00,0x3ea95800,0x3e800000,0x3e3aa000,0x3e031000,0x3dafa000, 0x3d5d2000,0x3d000000,0x3c830000,0x3bdd0000,0x3b040000,0x39800000,0x00000000,0x00000000,0x3c668000,0x3d57c000,0x3de1d000,0x3e39b000,0x3e855400,0x3eaf1c00,0x3ed75800,0x3efb3800,0x3f0bf800,0x3f155600,0x3f18ae00,0x3f168800,0x3f0fc400,0x3f054a00,0x3ef00000,0x3ed19400,0x3eb11c00, 0x3e906400,0x3e626000,0x3e2aa800,0x3df8d000,0x3daec000,0x3d6a2000,0x3d138000,0x3caac000,0x3c2f0000,0x3b930000,0x3ab00000,0x39200000,0x00000000,0x00000000,0x39200000,0x3ab00000,0x3b930000,0x3c2f0000,0x3caac000,0x3d138000,0x3d6a2000,0x3daec000,0x3df8d000,0x3e2aa800,0x3e627800, 0x3e90b800,0x3eb24400,0x3ed45000,0x3ef55400,0x3f09e600,0x3f171600,0x3f217400,0x3f283c00,0x3f2aaa00, 0x3f800000,0x3f3a9fbe,0x3f03126f,0x3eaf9db2,0x3e5d2f1b,0x3e000000,0x3d83126f,0x3cdd2f1b,0x3c03126f,0x3a83126f,0xa5800000,0x00000000,0x3e8374bc,0x3ede353f,0x3f0ad0e5,0x3f178d50,0x3f180000,0x3f0ed917,0x3efd9168,0x3ed4fdf4,0x3ea95810,0x3e800000,0x3e3a9fbe,0x3e03126f,0x3daf9db2, 0x3d5d2f1b,0x3d000000,0x3c83126f,0x3bdd2f1b,0x3b03126f,0x3983126f,0xa6000000,0x00000000,0x3c66bdc8,0x3d57b901,0x3de1cac1,0x3e39af72,0x3e855555,0x3eaf1aa0,0x3ed756b3,0x3efb38a9,0x3f0bf7cf,0x3f155555,0x3f18aec3,0x3f16872b,0x3f0fc3ed,0x3f054a69,0x3ef00000,0x3ed19423,0x3eb11bfd, 0x3e90624e,0x3e6263ab,0x3e2aaaab,0x3df8d4fe,0x3daec33e,0x3d6a2798,0x3d1374bc,0x3caaaaab,0x3c2ec33e,0x3b9374bc,0x3aaec33e,0x392ec33e,0xa6800000,0x00000000,0x392ec33e,0x3aaec33e,0x3b9374bc,0x3c2ec33e,0x3caaaaab,0x3d1374bc,0x3d6a2798,0x3daec33e,0x3df8d4fe,0x3e2aaaab,0x3e627984, 0x3e90b9af,0x3eb242e7,0x3ed44f30,0x3ef55555,0x3f09e60f,0x3f17152a,0x3f21735f,0x3f283c13,0x3f2aaaab, }; const float defaultHRIR_rom_ITD_azimKSeq[19] = { 0.000000f, 10.000000f, 20.000000f, 30.000000f, 40.000000f, 50.000000f, 60.000000f, 70.000000f, 80.000000f, 90.000000f, 100.000000f, 110.000000f, 120.000000f, 130.000000f, 140.000000f, 150.000000f, 160.000000f, 170.000000f, 180.000000f, }; const uint32_t defaultHRIR_rom_ITD_elevBsShape[28] = { 0x3f7ffe00,0x3e97b400,0x3d17c000,0x00000000,0x00000000,0x3f109800,0x3f04be00,0x3e800000,0x3d97b000,0x3c178000,0x00000000,0x00000000,0x3e07e800,0x3eca4400,0x3f155600,0x3f0ca400,0x3ebc0c00,0x3e2aa800,0x3d4a4000,0x3bca0000,0x00000000,0x00000000,0x3bca0000,0x3d4a4000,0x3e2aa800, 0x3ebda000,0x3f12f600,0x3f2aaa00, 0x3f800000,0x3e97b426,0x3d17b426,0x00000000,0x00000000,0x3f1097b4,0x3f04bda1,0x3e800000,0x3d97b426,0x3c17b426,0x00000000,0x00000000,0x3e07e6b7,0x3eca4588,0x3f155555,0x3f0ca458,0x3ebc0ca4,0x3e2aaaab,0x3d4a4588,0x3bca4588,0x00000000,0x00000000,0x3bca4588,0x3d4a4588,0x3e2aaaab, 0x3ebda12f,0x3f12f685,0x3f2aaaab, }; const float defaultHRIR_rom_ITD_elevKSeq[16] = { -90.000000f, -78.000000f, -66.000000f, -54.000000f, -42.000000f, -30.000000f, -18.000000f, -6.000000f, 6.000000f, 18.000000f, 30.000000f, 42.000000f, 54.000000f, 66.000000f, 78.000000f, 90.000000f, lib_rend/ivas_rom_TdBinauralRenderer.h +3 −3 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ *------------------------------------------------------------------------*/ /* TD renderer default HRIR model */ extern const float defaultHRIR_rom_latency_s; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM extern const int16_t defaultHRIR_rom_model_configuration[6]; #else extern const int16_t defaultHRIR_rom_azimDim2[15]; Loading @@ -70,7 +70,7 @@ extern const uint32_t defaultHRIR_rom_EL32[HRTF_MODEL_N_SECTIONS * 470]; extern const uint32_t defaultHRIR_rom_ER32[HRTF_MODEL_N_SECTIONS * 470]; extern const uint32_t defaultHRIR_rom_EL16[HRTF_MODEL_N_SECTIONS * 470]; extern const uint32_t defaultHRIR_rom_ER16[HRTF_MODEL_N_SECTIONS * 470]; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM extern const int16_t defaultHRIR_rom_elevBsLen[4]; extern const int16_t defaultHRIR_rom_elevBsStart[4]; #endif Loading @@ -81,7 +81,7 @@ extern const uint32_t defaultHRIR_rom_ITD_azimBsShape[84]; extern const float defaultHRIR_rom_ITD_azimKSeq[19]; extern const uint32_t defaultHRIR_rom_ITD_elevBsShape[28]; extern const float defaultHRIR_rom_ITD_elevKSeq[16]; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM extern const int16_t defaultHRIR_rom_ITD_model_configuration[4]; extern const int16_t defaultHRIR_rom_ITD_elevBsLen[4]; extern const int16_t defaultHRIR_rom_ITD_elevBsStart[4]; Loading lib_rend/ivas_stat_rend.h +19 −20 Original line number Diff line number Diff line Loading @@ -920,28 +920,24 @@ typedef struct er_struct_t typedef struct { #ifdef FIX_CREND_SIMPLIFY_CODE int16_t modelROM; /* Flag that indicates that the model resides in ROM (controls init/dealloc). */ int16_t UseItdModel; /* Controls whether ITD model is used. */ #ifdef FIX_989_TD_REND_ROM int16_t K; /* Length of filter */ int16_t elevDim3; int16_t AlphaN; /* Number of rows in Alpha matrices */ int16_t num_unique_azim_splines; int16_t elevSegSamples; const int16_t *elevBsLen; const int16_t *elevBsStart; #else int16_t modelROM; /* Flag that indicates that the model resides in ROM (controls init/dealloc). */ int16_t UseItdModel; /* Controls whether ITD model is used. */ int16_t SplineDegree; /* Degree of the spline functions */ int16_t K; /* Length of filter */ int16_t elevDim2; #endif int16_t elevDim3; int16_t AlphaN; /* Number of rows in Alpha matrices */ int16_t num_unique_azim_splines; int16_t elevSegSamples; #ifdef FIX_989_TD_REND_ROM const int16_t *elevBsLen; const int16_t *elevBsStart; #else int16_t elevBsLen[HRTF_MODEL_BSPLINE_NUM_COEFFS]; int16_t elevBsStart[HRTF_MODEL_BSPLINE_NUM_COEFFS]; const int16_t *azimDim2; Loading Loading @@ -972,7 +968,7 @@ typedef struct float *ER_dyn; float *elevBsShape_dyn; float *elevKSeq_dyn; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM int16_t *elevBsLen_dyn; int16_t *elevBsStart_dyn; #else Loading @@ -990,22 +986,25 @@ typedef struct typedef struct { #ifndef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM int16_t elevDim3; const float *elevKSeq; /* Array, length elevDim3-2 */ int16_t azimDim3; const float *azimKSeq; /* Array, length azimDim3-2 */ const float *W; /* Array, size (elevDim3*azimDim3) x K */ #else int16_t N; /* Polynomial degree */ int16_t elevDim2; #endif int16_t elevDim3; const float *elevKSeq; /* Array, length elevDim3-2 */ #ifndef FIX_CREND_SIMPLIFY_CODE int16_t azimDim2; #endif int16_t azimDim3; const float *azimKSeq; /* Array, length azimDim3-2 */ const float *W; /* Array, size (elevDim3*azimDim3) x K */ #endif #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t *azimBsLen; const int16_t *azimBsStart; #else Loading @@ -1016,7 +1015,7 @@ typedef struct const float *azimBsShape; int16_t azimSegSamples; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t *elevBsLen; const int16_t *elevBsStart; #else Loading @@ -1034,7 +1033,7 @@ typedef struct float *W_dyn; float *azimBsShape_dyn; float *elevBsShape_dyn; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM int16_t *azimBsLen_dyn; int16_t *azimBsStart_dyn; int16_t *elevBsLen_dyn; Loading Loading
lib_com/options.h +4 −1 Original line number Diff line number Diff line Loading @@ -161,6 +161,9 @@ #define FIX_1113_CLDFB_REND_IN_ISAR /* issue 1113: fix the use of CLDFB renderer in split-rendering at the external renderer */ #define NONBE_1328_FIX_NON_LINEARITY /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0 */ #define FIX_CREND_SIMPLIFY_CODE #ifdef FIX_CREND_SIMPLIFY_CODE #define FIX_989_TD_REND_ROM /* Eri: Clean-up for TD renderer and completion of ROM generation tool */ #endif /* #################### End BASOP porting switches ############################ */ /* clang-format on */ Loading
lib_rend/ivas_objectRenderer_mix.c +21 −22 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ #include "ivas_error.h" #include "wmc_auto.h" #include "ivas_rom_rend.h" #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM #include <math.h> #else #include "ivas_rom_binaural_crend_head.h" Loading @@ -47,7 +47,7 @@ #include "debug.h" #endif #ifndef FIX_CREND_SIMPLIFY_CODE #ifndef FIX_989_TD_REND_ROM /*-------------------------------------------------------------------* * Local constants Loading Loading @@ -310,7 +310,7 @@ ivas_error TDREND_MIX_AddSrc( TDREND_SRC_t *Src_p; ivas_error error; #ifndef FIX_CREND_SIMPLIFY_CODE #ifndef FIX_989_TD_REND_ROM error = IVAS_ERR_OK; #endif Loading Loading @@ -349,7 +349,7 @@ ivas_error TDREND_MIX_AddSrc( hBinRendererTd->Sources[*SrcInd] = Src_p; } } #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM return IVAS_ERR_OK; #else return error; Loading Loading @@ -397,7 +397,7 @@ static ivas_error DefaultBSplineModel( ModelParamsITD_t *modelITD; int16_t i, j; ivas_error error; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM float azimSegSamples; #endif Loading @@ -410,7 +410,7 @@ static ivas_error DefaultBSplineModel( model->modelROM = TRUE; /* int16_t parameters */ #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->UseItdModel = defaultHRIR_rom_model_configuration[0]; model->elevDim3 = defaultHRIR_rom_model_configuration[1]; model->AlphaN = defaultHRIR_rom_model_configuration[2]; Loading Loading @@ -453,12 +453,15 @@ static ivas_error DefaultBSplineModel( } model->azimBsShape[0] = (const float *) defaultHRIR_rom_azimBsShape; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM if ( ( model->azimKSeq = (float **) malloc( model->elevDim3 * sizeof( float * ) ) ) == NULL ) #else if ( ( model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ) ) == NULL ) #endif { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } #ifdef FIX_989_TD_REND_ROM for ( i = 0; i < model->elevDim3; i++ ) { if ( ( model->azimKSeq[i] = (float *) malloc( ( model->azimDim3[i] + 1 ) * sizeof( float * ) ) ) == NULL ) Loading @@ -482,10 +485,6 @@ static ivas_error DefaultBSplineModel( } } #else if ( ( model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } if ( ( model->azimKSeq[0] = (float *) malloc( 2 * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); Loading Loading @@ -519,7 +518,7 @@ static ivas_error DefaultBSplineModel( model->AlphaR = (const float *) defaultHRIR_rom_AlphaR48; model->EL = (const float *) defaultHRIR_rom_EL48; model->ER = (const float *) defaultHRIR_rom_ER48; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->K = defaultHRIR_rom_model_configuration[5]; #else model->K = 128; Loading @@ -534,7 +533,7 @@ static ivas_error DefaultBSplineModel( model->AlphaR = (const float *) defaultHRIR_rom_AlphaR32; model->EL = (const float *) defaultHRIR_rom_EL32; model->ER = (const float *) defaultHRIR_rom_ER32; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->K = (int16_t) ceilf( RESAMPLE_FACTOR_32_48 * defaultHRIR_rom_model_configuration[5] ); #else model->K = 86; Loading @@ -549,7 +548,7 @@ static ivas_error DefaultBSplineModel( model->AlphaR = (const float *) defaultHRIR_rom_AlphaR16; model->EL = (const float *) defaultHRIR_rom_EL16; model->ER = (const float *) defaultHRIR_rom_ER16; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM model->K = (int16_t) ceilf( RESAMPLE_FACTOR_16_48 * defaultHRIR_rom_model_configuration[5] ); #else model->K = 43; Loading @@ -563,18 +562,13 @@ static ivas_error DefaultBSplineModel( break; } #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM modelITD->elevDim3 = defaultHRIR_rom_ITD_model_configuration[0]; modelITD->azimDim3 = defaultHRIR_rom_ITD_model_configuration[1]; modelITD->elevSegSamples = defaultHRIR_rom_ITD_model_configuration[2]; modelITD->azimSegSamples = defaultHRIR_rom_ITD_model_configuration[3]; modelITD->elevBsLen = defaultHRIR_rom_ITD_elevBsLen; modelITD->elevBsStart = defaultHRIR_rom_ITD_elevBsStart; modelITD->elevKSeq = defaultHRIR_rom_ITD_elevKSeq; modelITD->azimBsLen = defaultHRIR_rom_ITD_azimBsLen; modelITD->azimBsStart = defaultHRIR_rom_ITD_azimBsStart; #else modelITD->N = 4; modelITD->elevDim2 = 20; Loading @@ -590,9 +584,14 @@ static ivas_error DefaultBSplineModel( modelITD->elevBsStart[1] = 4; modelITD->elevBsStart[2] = 11; modelITD->elevBsStart[3] = 21; #endif modelITD->elevKSeq = defaultHRIR_rom_ITD_elevKSeq; #ifdef FIX_989_TD_REND_ROM modelITD->azimBsLen = defaultHRIR_rom_ITD_azimBsLen; modelITD->azimBsStart = defaultHRIR_rom_ITD_azimBsStart; #else modelITD->azimBsLen[0] = 11; modelITD->azimBsLen[1] = 21; modelITD->azimBsLen[2] = 31; Loading @@ -603,8 +602,8 @@ static ivas_error DefaultBSplineModel( modelITD->azimBsStart[3] = 63; modelITD->azimSegSamples = 10; #endif modelITD->azimKSeq = defaultHRIR_rom_ITD_azimKSeq; modelITD->W = (const float *) defaultHRIR_rom_ITD_W; modelITD->azimBsShape = (const float *) defaultHRIR_rom_ITD_azimBsShape; Loading
lib_rend/ivas_rom_TdBinauralRenderer.c +19 −19 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ #endif const float defaultHRIR_rom_latency_s = 0.000020834f; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t defaultHRIR_rom_model_configuration[6] = { 1, /* UseItdModel */ 15, /* elevDim3 */ Loading Loading @@ -10166,7 +10166,7 @@ const uint32_t defaultHRIR_rom_ITD_W[658] = { 0x3c678a1c,0xbdeb0ba5,0xbe2218a5,0x3e58dcde,0x3d71aaa0,0xbef80fb9,0xbf3d07e1,0x3f3485be,0x3db783c0,0x3c142933,0xbed36b04,0xbb9f1f49,0x3ebfdc23,0xbcc7652e,0xbdb4e6cd,0xbf3be092,0x3f399c4e,0x3ef2eb6a,0xbd93a618,0xbe480d88,0x3e1bd187,0x3df79a5d,0xbc53f8d6,0xbf002186,0xbd41bc42, 0x3e5c0f28,0x3f2ad402,0xbf3cc2c3,0xbedc59d1,0xbe021816,0x3ea43429,0x3d349309,0xbab986b3, }; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t defaultHRIR_rom_ITD_model_configuration[4] = { 18, /* elevDim3 */ 41, /* azimDim3 */ Loading @@ -10187,17 +10187,17 @@ const int16_t defaultHRIR_rom_ITD_azimBsStart[4] = { }; #endif const uint32_t defaultHRIR_rom_ITD_azimBsShape[84] = { 0x3f7ffe00,0x3f3aa000,0x3f031200,0x3eaf9c00,0x3e5d3000,0x3e000000,0x3d831000,0x3cdd4000,0x3c030000,0x3a840000,0x00000000,0x00000000,0x3e837400,0x3ede3400,0x3f0ad000,0x3f178e00,0x3f180000,0x3f0eda00,0x3efd9000,0x3ed4fc00,0x3ea95800,0x3e800000,0x3e3aa000,0x3e031000,0x3dafa000, 0x3d5d2000,0x3d000000,0x3c830000,0x3bdd0000,0x3b040000,0x39800000,0x00000000,0x00000000,0x3c668000,0x3d57c000,0x3de1d000,0x3e39b000,0x3e855400,0x3eaf1c00,0x3ed75800,0x3efb3800,0x3f0bf800,0x3f155600,0x3f18ae00,0x3f168800,0x3f0fc400,0x3f054a00,0x3ef00000,0x3ed19400,0x3eb11c00, 0x3e906400,0x3e626000,0x3e2aa800,0x3df8d000,0x3daec000,0x3d6a2000,0x3d138000,0x3caac000,0x3c2f0000,0x3b930000,0x3ab00000,0x39200000,0x00000000,0x00000000,0x39200000,0x3ab00000,0x3b930000,0x3c2f0000,0x3caac000,0x3d138000,0x3d6a2000,0x3daec000,0x3df8d000,0x3e2aa800,0x3e627800, 0x3e90b800,0x3eb24400,0x3ed45000,0x3ef55400,0x3f09e600,0x3f171600,0x3f217400,0x3f283c00,0x3f2aaa00, 0x3f800000,0x3f3a9fbe,0x3f03126f,0x3eaf9db2,0x3e5d2f1b,0x3e000000,0x3d83126f,0x3cdd2f1b,0x3c03126f,0x3a83126f,0xa5800000,0x00000000,0x3e8374bc,0x3ede353f,0x3f0ad0e5,0x3f178d50,0x3f180000,0x3f0ed917,0x3efd9168,0x3ed4fdf4,0x3ea95810,0x3e800000,0x3e3a9fbe,0x3e03126f,0x3daf9db2, 0x3d5d2f1b,0x3d000000,0x3c83126f,0x3bdd2f1b,0x3b03126f,0x3983126f,0xa6000000,0x00000000,0x3c66bdc8,0x3d57b901,0x3de1cac1,0x3e39af72,0x3e855555,0x3eaf1aa0,0x3ed756b3,0x3efb38a9,0x3f0bf7cf,0x3f155555,0x3f18aec3,0x3f16872b,0x3f0fc3ed,0x3f054a69,0x3ef00000,0x3ed19423,0x3eb11bfd, 0x3e90624e,0x3e6263ab,0x3e2aaaab,0x3df8d4fe,0x3daec33e,0x3d6a2798,0x3d1374bc,0x3caaaaab,0x3c2ec33e,0x3b9374bc,0x3aaec33e,0x392ec33e,0xa6800000,0x00000000,0x392ec33e,0x3aaec33e,0x3b9374bc,0x3c2ec33e,0x3caaaaab,0x3d1374bc,0x3d6a2798,0x3daec33e,0x3df8d4fe,0x3e2aaaab,0x3e627984, 0x3e90b9af,0x3eb242e7,0x3ed44f30,0x3ef55555,0x3f09e60f,0x3f17152a,0x3f21735f,0x3f283c13,0x3f2aaaab, }; const float defaultHRIR_rom_ITD_azimKSeq[19] = { 0.000000f, 10.000000f, 20.000000f, 30.000000f, 40.000000f, 50.000000f, 60.000000f, 70.000000f, 80.000000f, 90.000000f, 100.000000f, 110.000000f, 120.000000f, 130.000000f, 140.000000f, 150.000000f, 160.000000f, 170.000000f, 180.000000f, }; const uint32_t defaultHRIR_rom_ITD_elevBsShape[28] = { 0x3f7ffe00,0x3e97b400,0x3d17c000,0x00000000,0x00000000,0x3f109800,0x3f04be00,0x3e800000,0x3d97b000,0x3c178000,0x00000000,0x00000000,0x3e07e800,0x3eca4400,0x3f155600,0x3f0ca400,0x3ebc0c00,0x3e2aa800,0x3d4a4000,0x3bca0000,0x00000000,0x00000000,0x3bca0000,0x3d4a4000,0x3e2aa800, 0x3ebda000,0x3f12f600,0x3f2aaa00, 0x3f800000,0x3e97b426,0x3d17b426,0x00000000,0x00000000,0x3f1097b4,0x3f04bda1,0x3e800000,0x3d97b426,0x3c17b426,0x00000000,0x00000000,0x3e07e6b7,0x3eca4588,0x3f155555,0x3f0ca458,0x3ebc0ca4,0x3e2aaaab,0x3d4a4588,0x3bca4588,0x00000000,0x00000000,0x3bca4588,0x3d4a4588,0x3e2aaaab, 0x3ebda12f,0x3f12f685,0x3f2aaaab, }; const float defaultHRIR_rom_ITD_elevKSeq[16] = { -90.000000f, -78.000000f, -66.000000f, -54.000000f, -42.000000f, -30.000000f, -18.000000f, -6.000000f, 6.000000f, 18.000000f, 30.000000f, 42.000000f, 54.000000f, 66.000000f, 78.000000f, 90.000000f,
lib_rend/ivas_rom_TdBinauralRenderer.h +3 −3 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ *------------------------------------------------------------------------*/ /* TD renderer default HRIR model */ extern const float defaultHRIR_rom_latency_s; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM extern const int16_t defaultHRIR_rom_model_configuration[6]; #else extern const int16_t defaultHRIR_rom_azimDim2[15]; Loading @@ -70,7 +70,7 @@ extern const uint32_t defaultHRIR_rom_EL32[HRTF_MODEL_N_SECTIONS * 470]; extern const uint32_t defaultHRIR_rom_ER32[HRTF_MODEL_N_SECTIONS * 470]; extern const uint32_t defaultHRIR_rom_EL16[HRTF_MODEL_N_SECTIONS * 470]; extern const uint32_t defaultHRIR_rom_ER16[HRTF_MODEL_N_SECTIONS * 470]; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM extern const int16_t defaultHRIR_rom_elevBsLen[4]; extern const int16_t defaultHRIR_rom_elevBsStart[4]; #endif Loading @@ -81,7 +81,7 @@ extern const uint32_t defaultHRIR_rom_ITD_azimBsShape[84]; extern const float defaultHRIR_rom_ITD_azimKSeq[19]; extern const uint32_t defaultHRIR_rom_ITD_elevBsShape[28]; extern const float defaultHRIR_rom_ITD_elevKSeq[16]; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM extern const int16_t defaultHRIR_rom_ITD_model_configuration[4]; extern const int16_t defaultHRIR_rom_ITD_elevBsLen[4]; extern const int16_t defaultHRIR_rom_ITD_elevBsStart[4]; Loading
lib_rend/ivas_stat_rend.h +19 −20 Original line number Diff line number Diff line Loading @@ -920,28 +920,24 @@ typedef struct er_struct_t typedef struct { #ifdef FIX_CREND_SIMPLIFY_CODE int16_t modelROM; /* Flag that indicates that the model resides in ROM (controls init/dealloc). */ int16_t UseItdModel; /* Controls whether ITD model is used. */ #ifdef FIX_989_TD_REND_ROM int16_t K; /* Length of filter */ int16_t elevDim3; int16_t AlphaN; /* Number of rows in Alpha matrices */ int16_t num_unique_azim_splines; int16_t elevSegSamples; const int16_t *elevBsLen; const int16_t *elevBsStart; #else int16_t modelROM; /* Flag that indicates that the model resides in ROM (controls init/dealloc). */ int16_t UseItdModel; /* Controls whether ITD model is used. */ int16_t SplineDegree; /* Degree of the spline functions */ int16_t K; /* Length of filter */ int16_t elevDim2; #endif int16_t elevDim3; int16_t AlphaN; /* Number of rows in Alpha matrices */ int16_t num_unique_azim_splines; int16_t elevSegSamples; #ifdef FIX_989_TD_REND_ROM const int16_t *elevBsLen; const int16_t *elevBsStart; #else int16_t elevBsLen[HRTF_MODEL_BSPLINE_NUM_COEFFS]; int16_t elevBsStart[HRTF_MODEL_BSPLINE_NUM_COEFFS]; const int16_t *azimDim2; Loading Loading @@ -972,7 +968,7 @@ typedef struct float *ER_dyn; float *elevBsShape_dyn; float *elevKSeq_dyn; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM int16_t *elevBsLen_dyn; int16_t *elevBsStart_dyn; #else Loading @@ -990,22 +986,25 @@ typedef struct typedef struct { #ifndef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM int16_t elevDim3; const float *elevKSeq; /* Array, length elevDim3-2 */ int16_t azimDim3; const float *azimKSeq; /* Array, length azimDim3-2 */ const float *W; /* Array, size (elevDim3*azimDim3) x K */ #else int16_t N; /* Polynomial degree */ int16_t elevDim2; #endif int16_t elevDim3; const float *elevKSeq; /* Array, length elevDim3-2 */ #ifndef FIX_CREND_SIMPLIFY_CODE int16_t azimDim2; #endif int16_t azimDim3; const float *azimKSeq; /* Array, length azimDim3-2 */ const float *W; /* Array, size (elevDim3*azimDim3) x K */ #endif #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t *azimBsLen; const int16_t *azimBsStart; #else Loading @@ -1016,7 +1015,7 @@ typedef struct const float *azimBsShape; int16_t azimSegSamples; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM const int16_t *elevBsLen; const int16_t *elevBsStart; #else Loading @@ -1034,7 +1033,7 @@ typedef struct float *W_dyn; float *azimBsShape_dyn; float *elevBsShape_dyn; #ifdef FIX_CREND_SIMPLIFY_CODE #ifdef FIX_989_TD_REND_ROM int16_t *azimBsLen_dyn; int16_t *azimBsStart_dyn; int16_t *elevBsLen_dyn; Loading