Loading lib_com/options.h +6 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,12 @@ #define ISSUE_24_CLEANUP_MCT_LFE /* Issue 24: Cleanup LFE path withing MCT */ #define USE_HRIR_128_METH5_IRC_53_Q10_SYML_ITRP1_48000 #define USE_HRIR_128_48000_DOLBY_SBA1 #define USE_HRIR_128_48000_DOLBY_SBA2 #define USE_HRIR_128_48000_DOLBY_SBA3 //#define USE_ORANGE_HRIR_53_HOA3S_48000 #define USE_IIS_BRIR_OFFICIALMPEG_COMBINED /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_rend/ivas_rom_binaural_crend_head.c +1225 −14 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_rend/ivas_rom_binaural_crend_head.h +162 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,8 @@ #include "cnst.h" #include "ivas_cnst.h" #ifdef USE_HRIR_128_METH5_IRC_53_Q10_SYML_ITRP1_48000 /********************** CRendBin_Combined_HRIR **********************/ Loading Loading @@ -95,6 +97,10 @@ extern float CRendBin_Combined_HRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][80]; extern float CRendBin_Combined_HRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][80]; extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_METH5_IRC_53_Q10_SYML_ITRP1_48000 */ #ifdef USE_ORANGE_HRIR_53_HOA3S_48000 /********************** CRendBin_HOA3_HRIR **********************/ Loading Loading @@ -141,6 +147,160 @@ extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][160]; extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][160]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_ORANGE_HRIR_53_HOA3S_48000 */ #ifdef USE_HRIR_128_48000_DOLBY_SBA1 /********************** CRendBin_FOA_HRIR **********************/ extern float CRendBin_FOA_HRIR_latency_s; /* Sample Rate = 48000 */ extern int16_t CRendBin_FOA_HRIR_max_num_iterations_48kHz; extern uint16_t CRendBin_FOA_HRIR_num_iterations_48kHz[4][BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[4][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[4]; extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; extern float CRendBin_FOA_HRIR_coeff_re_48kHz[4][BINAURAL_CHANNELS][240]; extern float CRendBin_FOA_HRIR_coeff_im_48kHz[4][BINAURAL_CHANNELS][240]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern int16_t CRendBin_FOA_HRIR_max_num_iterations_32kHz; extern uint16_t CRendBin_FOA_HRIR_num_iterations_32kHz[4][BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[4][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_32kHz; extern float CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[4]; extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; extern float CRendBin_FOA_HRIR_coeff_re_32kHz[4][BINAURAL_CHANNELS][160]; extern float CRendBin_FOA_HRIR_coeff_im_32kHz[4][BINAURAL_CHANNELS][160]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern int16_t CRendBin_FOA_HRIR_max_num_iterations_16kHz; extern uint16_t CRendBin_FOA_HRIR_num_iterations_16kHz[4][BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[4][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_16kHz; extern float CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[4]; extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; extern float CRendBin_FOA_HRIR_coeff_re_16kHz[4][BINAURAL_CHANNELS][80]; extern float CRendBin_FOA_HRIR_coeff_im_16kHz[4][BINAURAL_CHANNELS][80]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_48000_DOLBY_SBA1 */ #ifdef USE_HRIR_128_48000_DOLBY_SBA2 /********************** CRendBin_HOA2_HRIR **********************/ extern float CRendBin_HOA2_HRIR_latency_s; /* Sample Rate = 48000 */ extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_48kHz; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_48kHz[9][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[9][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[9]; extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA2_HRIR_coeff_re_48kHz[9][BINAURAL_CHANNELS][240]; extern float CRendBin_HOA2_HRIR_coeff_im_48kHz[9][BINAURAL_CHANNELS][240]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_32kHz; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_32kHz[9][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[9][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_32kHz; extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[9]; extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA2_HRIR_coeff_re_32kHz[9][BINAURAL_CHANNELS][160]; extern float CRendBin_HOA2_HRIR_coeff_im_32kHz[9][BINAURAL_CHANNELS][160]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_16kHz; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_16kHz[9][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[9][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_16kHz; extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[9]; extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA2_HRIR_coeff_re_16kHz[9][BINAURAL_CHANNELS][80]; extern float CRendBin_HOA2_HRIR_coeff_im_16kHz[9][BINAURAL_CHANNELS][80]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_48000_DOLBY_SBA2 */ #ifdef USE_HRIR_128_48000_DOLBY_SBA3 /********************** CRendBin_HOA3_HRIR **********************/ extern float CRendBin_HOA3_HRIR_latency_s; /* Sample Rate = 48000 */ extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[16][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[16][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[16]; extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA3_HRIR_coeff_re_48kHz[16][BINAURAL_CHANNELS][240]; extern float CRendBin_HOA3_HRIR_coeff_im_48kHz[16][BINAURAL_CHANNELS][240]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[16][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[16][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[16]; extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA3_HRIR_coeff_re_32kHz[16][BINAURAL_CHANNELS][160]; extern float CRendBin_HOA3_HRIR_coeff_im_32kHz[16][BINAURAL_CHANNELS][160]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[16][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[16][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[16]; extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][80]; extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][80]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_48000_DOLBY_SBA3 */ #ifdef USE_IIS_BRIR_OFFICIALMPEG_COMBINED /********************** CRendBin_Combined_BRIR **********************/ Loading Loading @@ -187,4 +347,6 @@ extern float CRendBin_Combined_BRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][1774]; extern float CRendBin_Combined_BRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][1774]; extern float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2522]; extern float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2522]; #endif /* USE_IIS_BRIR_OFFICIALMPEG_COMBINED */ #endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */ scripts/binauralRenderer_interface/generate_crend_ivas_tables_from_sofa.c +42 −0 Original line number Diff line number Diff line Loading @@ -169,7 +169,9 @@ int main( int argc, char *argv[] ) char *lib_rend_path = NULL; bool no_optim = false; bool add_define = false; int notEndingWithSeparator = 0; char *sofa_name = NULL; int i = 1; /* Optional arguments */ Loading @@ -194,6 +196,11 @@ int main( int argc, char *argv[] ) no_optim = true; i++; } else if ( strcmp( to_upper( argv[i] ), "-ADD_DEFINE" ) == 0 ) { add_define = true; i++; } else { fprintf( stderr, "Unknown option: %s\n\n", argv[i] ); Loading Loading @@ -389,9 +396,44 @@ int main( int argc, char *argv[] ) int err = 0; for ( ; i < argc; i++ ) { if ( add_define ) { fp = fopen( c_file_path, "a" ); if ( fp ) { sofa_name = strrchr( argv[i], '/' ); size_t size_path = strlen( sofa_name ); sofa_name = malloc( sizeof( char ) * size_path - 5 ); strncpy( sofa_name, strrchr( argv[i], '/' ) + 1, size_path - 5 ); sofa_name[size_path - 6] = '\0'; fprintf( fp, "\n#ifdef USE_%s\n", to_upper( sofa_name ) ); fclose( fp ); } fp = fopen( h_file_path, "a" ); if ( fp ) { fprintf( fp, "\n#ifdef USE_%s\n", to_upper( sofa_name ) ); fclose( fp ); } } err = generate_crend_ivas_tables_from_sofa( argv[i], no_optim ); if ( err != 0 ) return err; if ( add_define ) { fp = fopen( c_file_path, "a" ); if ( fp ) { fprintf( fp, "\n#endif /* USE_%s */\n", to_upper( sofa_name ) ); fclose( fp ); } fp = fopen( h_file_path, "a" ); if ( fp ) { fprintf( fp, "\n#endif /* USE_%s */\n", to_upper( sofa_name ) ); fclose( fp ); } } } fp = fopen( h_file_path, "a" ); if ( fp ) Loading Loading
lib_com/options.h +6 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,12 @@ #define ISSUE_24_CLEANUP_MCT_LFE /* Issue 24: Cleanup LFE path withing MCT */ #define USE_HRIR_128_METH5_IRC_53_Q10_SYML_ITRP1_48000 #define USE_HRIR_128_48000_DOLBY_SBA1 #define USE_HRIR_128_48000_DOLBY_SBA2 #define USE_HRIR_128_48000_DOLBY_SBA3 //#define USE_ORANGE_HRIR_53_HOA3S_48000 #define USE_IIS_BRIR_OFFICIALMPEG_COMBINED /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_rend/ivas_rom_binaural_crend_head.c +1225 −14 File changed.Preview size limit exceeded, changes collapsed. Show changes
lib_rend/ivas_rom_binaural_crend_head.h +162 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,8 @@ #include "cnst.h" #include "ivas_cnst.h" #ifdef USE_HRIR_128_METH5_IRC_53_Q10_SYML_ITRP1_48000 /********************** CRendBin_Combined_HRIR **********************/ Loading Loading @@ -95,6 +97,10 @@ extern float CRendBin_Combined_HRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][80]; extern float CRendBin_Combined_HRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][80]; extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_METH5_IRC_53_Q10_SYML_ITRP1_48000 */ #ifdef USE_ORANGE_HRIR_53_HOA3S_48000 /********************** CRendBin_HOA3_HRIR **********************/ Loading Loading @@ -141,6 +147,160 @@ extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][160]; extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][160]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_ORANGE_HRIR_53_HOA3S_48000 */ #ifdef USE_HRIR_128_48000_DOLBY_SBA1 /********************** CRendBin_FOA_HRIR **********************/ extern float CRendBin_FOA_HRIR_latency_s; /* Sample Rate = 48000 */ extern int16_t CRendBin_FOA_HRIR_max_num_iterations_48kHz; extern uint16_t CRendBin_FOA_HRIR_num_iterations_48kHz[4][BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[4][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[4]; extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; extern float CRendBin_FOA_HRIR_coeff_re_48kHz[4][BINAURAL_CHANNELS][240]; extern float CRendBin_FOA_HRIR_coeff_im_48kHz[4][BINAURAL_CHANNELS][240]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern int16_t CRendBin_FOA_HRIR_max_num_iterations_32kHz; extern uint16_t CRendBin_FOA_HRIR_num_iterations_32kHz[4][BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[4][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_32kHz; extern float CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[4]; extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; extern float CRendBin_FOA_HRIR_coeff_re_32kHz[4][BINAURAL_CHANNELS][160]; extern float CRendBin_FOA_HRIR_coeff_im_32kHz[4][BINAURAL_CHANNELS][160]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern int16_t CRendBin_FOA_HRIR_max_num_iterations_16kHz; extern uint16_t CRendBin_FOA_HRIR_num_iterations_16kHz[4][BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[4][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_FOA_HRIR_index_frequency_max_diffuse_16kHz; extern float CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[4]; extern uint16_t *CRendBin_FOA_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; extern float CRendBin_FOA_HRIR_coeff_re_16kHz[4][BINAURAL_CHANNELS][80]; extern float CRendBin_FOA_HRIR_coeff_im_16kHz[4][BINAURAL_CHANNELS][80]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_FOA_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_48000_DOLBY_SBA1 */ #ifdef USE_HRIR_128_48000_DOLBY_SBA2 /********************** CRendBin_HOA2_HRIR **********************/ extern float CRendBin_HOA2_HRIR_latency_s; /* Sample Rate = 48000 */ extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_48kHz; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_48kHz[9][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[9][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[9]; extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA2_HRIR_coeff_re_48kHz[9][BINAURAL_CHANNELS][240]; extern float CRendBin_HOA2_HRIR_coeff_im_48kHz[9][BINAURAL_CHANNELS][240]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_32kHz; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_32kHz[9][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[9][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_32kHz; extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[9]; extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA2_HRIR_coeff_re_32kHz[9][BINAURAL_CHANNELS][160]; extern float CRendBin_HOA2_HRIR_coeff_im_32kHz[9][BINAURAL_CHANNELS][160]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern int16_t CRendBin_HOA2_HRIR_max_num_iterations_16kHz; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_16kHz[9][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[9][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA2_HRIR_index_frequency_max_diffuse_16kHz; extern float CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[9]; extern uint16_t *CRendBin_HOA2_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA2_HRIR_coeff_re_16kHz[9][BINAURAL_CHANNELS][80]; extern float CRendBin_HOA2_HRIR_coeff_im_16kHz[9][BINAURAL_CHANNELS][80]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA2_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_48000_DOLBY_SBA2 */ #ifdef USE_HRIR_128_48000_DOLBY_SBA3 /********************** CRendBin_HOA3_HRIR **********************/ extern float CRendBin_HOA3_HRIR_latency_s; /* Sample Rate = 48000 */ extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[16][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[16][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[16]; extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA3_HRIR_coeff_re_48kHz[16][BINAURAL_CHANNELS][240]; extern float CRendBin_HOA3_HRIR_coeff_im_48kHz[16][BINAURAL_CHANNELS][240]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; /* Sample Rate = 32000 */ extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[16][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[16][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[16]; extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA3_HRIR_coeff_re_32kHz[16][BINAURAL_CHANNELS][160]; extern float CRendBin_HOA3_HRIR_coeff_im_32kHz[16][BINAURAL_CHANNELS][160]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; /* Sample Rate = 16000 */ extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[16][BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[16][BINAURAL_CHANNELS][1]; extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[16]; extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][80]; extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][80]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; #endif /* USE_HRIR_128_48000_DOLBY_SBA3 */ #ifdef USE_IIS_BRIR_OFFICIALMPEG_COMBINED /********************** CRendBin_Combined_BRIR **********************/ Loading Loading @@ -187,4 +347,6 @@ extern float CRendBin_Combined_BRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][1774]; extern float CRendBin_Combined_BRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][1774]; extern float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2522]; extern float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2522]; #endif /* USE_IIS_BRIR_OFFICIALMPEG_COMBINED */ #endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */
scripts/binauralRenderer_interface/generate_crend_ivas_tables_from_sofa.c +42 −0 Original line number Diff line number Diff line Loading @@ -169,7 +169,9 @@ int main( int argc, char *argv[] ) char *lib_rend_path = NULL; bool no_optim = false; bool add_define = false; int notEndingWithSeparator = 0; char *sofa_name = NULL; int i = 1; /* Optional arguments */ Loading @@ -194,6 +196,11 @@ int main( int argc, char *argv[] ) no_optim = true; i++; } else if ( strcmp( to_upper( argv[i] ), "-ADD_DEFINE" ) == 0 ) { add_define = true; i++; } else { fprintf( stderr, "Unknown option: %s\n\n", argv[i] ); Loading Loading @@ -389,9 +396,44 @@ int main( int argc, char *argv[] ) int err = 0; for ( ; i < argc; i++ ) { if ( add_define ) { fp = fopen( c_file_path, "a" ); if ( fp ) { sofa_name = strrchr( argv[i], '/' ); size_t size_path = strlen( sofa_name ); sofa_name = malloc( sizeof( char ) * size_path - 5 ); strncpy( sofa_name, strrchr( argv[i], '/' ) + 1, size_path - 5 ); sofa_name[size_path - 6] = '\0'; fprintf( fp, "\n#ifdef USE_%s\n", to_upper( sofa_name ) ); fclose( fp ); } fp = fopen( h_file_path, "a" ); if ( fp ) { fprintf( fp, "\n#ifdef USE_%s\n", to_upper( sofa_name ) ); fclose( fp ); } } err = generate_crend_ivas_tables_from_sofa( argv[i], no_optim ); if ( err != 0 ) return err; if ( add_define ) { fp = fopen( c_file_path, "a" ); if ( fp ) { fprintf( fp, "\n#endif /* USE_%s */\n", to_upper( sofa_name ) ); fclose( fp ); } fp = fopen( h_file_path, "a" ); if ( fp ) { fprintf( fp, "\n#endif /* USE_%s */\n", to_upper( sofa_name ) ); fclose( fp ); } } } fp = fopen( h_file_path, "a" ); if ( fp ) Loading