Loading scripts/binauralRenderer_interface/generate_crend_ivas_tables_from_sofa.c +26 −27 Original line number Diff line number Diff line Loading @@ -76,7 +76,6 @@ #define MAX_DIFF_ELE 10 /* angle in degree */ #define DEFAULT_SAMPLERATE 48000 /* Hz */ #define TEMPLTATE_C_ROM_FILE_NAME "ivas_license_header.template" #define FORCE_COPY_TO_LIB_REND #define ROM_FILE_NAME "ivas_rom_binaural_crend_head" #define FORMAT_FLOAT "%8.6f" #define NUM_SAMPLES_PER_LINES 96 Loading Loading @@ -1264,23 +1263,23 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, ConfigReader *c struct ivas_layout_config lscfg; if ( sofa_M == 4 ) get_ls_layout_config( AUDIO_CONFIG_FOA, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_FOA, &lscfg ); else if ( sofa_M == 9 ) get_ls_layout_config( AUDIO_CONFIG_HOA2, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_HOA2, &lscfg ); else if ( sofa_M == 16 ) get_ls_layout_config( AUDIO_CONFIG_HOA3, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_HOA3, &lscfg ); else if ( sofa_M == 6 ) get_ls_layout_config( AUDIO_CONFIG_5_1, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_5_1, &lscfg ); else if ( ( sofa_M == 8 ) && ( strstr( sofa_file_path, "710" ) != 0 ) ) get_ls_layout_config( AUDIO_CONFIG_7_1, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_7_1, &lscfg ); else if ( ( sofa_M == 8 ) && ( strstr( sofa_file_path, "512" ) != 0 ) ) get_ls_layout_config( AUDIO_CONFIG_5_1_2, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_5_1_2, &lscfg ); else if ( sofa_M == 10 ) get_ls_layout_config( AUDIO_CONFIG_5_1_4, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_5_1_4, &lscfg ); else if ( sofa_M == 12 ) get_ls_layout_config( AUDIO_CONFIG_7_1_4, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_7_1_4, &lscfg ); else get_ls_layout_config( AUDIO_CONFIG_EXTERNAL, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_EXTERNAL, &lscfg ); /* general information about the loaded HRTF set */ fprintf( stderr, "Number of HRTFs: %d\n", sofa_M ); Loading Loading @@ -1685,7 +1684,7 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, ConfigReader *c latency_48k_optim = hrtf_data.latency_s; } if ( lib_rend_path ) if ( lib_rend_path != NULL ) { update_h_file( &hrtf_data, lscfg, sample_rates[indSR], frame_len ); update_c_file( &hrtf_data, lscfg, sample_rates[indSR], frame_len ); Loading Loading @@ -2099,7 +2098,7 @@ int generate_reverb_ivas_tables_from_sofa( const char *file_path ) ivas_mdft( pTemp, pHrtf_set_r_re[i], pHrtf_set_r_im[i], frame_len, frame_len ); } ivas_reverb_get_hrtf_set_properties( pHrtf_set_l_re, pHrtf_set_l_im, pHrtf_set_r_re, pHrtf_set_r_im, AUDIO_CONFIG_5_1, sofa_M, frame_len, ivas_reverb_get_hrtf_set_properties( pHrtf_set_l_re, pHrtf_set_l_im, pHrtf_set_r_re, pHrtf_set_r_im, IVAS_AUDIO_CONFIG_5_1, sofa_M, frame_len, nr_fc_fft_filter, p_avg_lr, &p_avg_lr[nr_fc_fft_filter], pCoherence ); update_h_file_with_reverb( sample_rates[indSR] ); Loading Loading @@ -3184,7 +3183,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con switch ( ls_layout_config ) { case AUDIO_CONFIG_FOA: case IVAS_AUDIO_CONFIG_FOA: strcpy( ls_struct->name, "FOA" ); ls_struct->nb_channel = 4; ls_struct->isloudspeaker = 0; Loading @@ -3192,7 +3191,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_HOA2: case IVAS_AUDIO_CONFIG_HOA2: strcpy( ls_struct->name, "HOA2" ); ls_struct->nb_channel = 9; ls_struct->isloudspeaker = 0; Loading @@ -3200,7 +3199,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_HOA3: case IVAS_AUDIO_CONFIG_HOA3: strcpy( ls_struct->name, "HOA3" ); ls_struct->nb_channel = 16; ls_struct->isloudspeaker = 0; Loading @@ -3208,7 +3207,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_MONO: case IVAS_AUDIO_CONFIG_MONO: strcpy( ls_struct->name, "MONO" ); ls_struct->nb_channel = 1; ls_struct->isloudspeaker = 1; Loading @@ -3216,7 +3215,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_STEREO: case IVAS_AUDIO_CONFIG_STEREO: strcpy( ls_struct->name, "STEREO" ); ls_struct->nb_channel = 2; memcpy( ls_struct->azi, ls_azimuth_CICP2, sizeof( float ) * ls_struct->nb_channel ); Loading @@ -3225,7 +3224,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_5_1: case IVAS_AUDIO_CONFIG_5_1: strcpy( ls_struct->name, "5_1" ); ls_struct->nb_channel = 5; ls_struct->isloudspeaker = 1; Loading @@ -3236,7 +3235,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP6, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_7_1: case IVAS_AUDIO_CONFIG_7_1: strcpy( ls_struct->name, "7_1" ); ls_struct->nb_channel = 7; ls_struct->isloudspeaker = 1; Loading @@ -3247,7 +3246,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP12, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_5_1_2: case IVAS_AUDIO_CONFIG_5_1_2: strcpy( ls_struct->name, "5_1_2" ); ls_struct->nb_channel = 7; ls_struct->isloudspeaker = 1; Loading @@ -3257,7 +3256,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP14, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_5_1_4: case IVAS_AUDIO_CONFIG_5_1_4: strcpy( ls_struct->name, "5_1_4" ); ls_struct->nb_channel = 9; ls_struct->isloudspeaker = 1; Loading @@ -3268,7 +3267,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP16, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_7_1_4: case IVAS_AUDIO_CONFIG_7_1_4: strcpy( ls_struct->name, "7_1_4" ); ls_struct->nb_channel = 11; ls_struct->isloudspeaker = 1; Loading @@ -3279,7 +3278,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP19, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_EXTERNAL: case IVAS_AUDIO_CONFIG_EXTERNAL: default: { const float tmp_azi[15] = { 30, -30, 0, 135, -135, 110, -110, 90, -90, 30, -30, 110, -110, 135, -135 }; Loading Loading
scripts/binauralRenderer_interface/generate_crend_ivas_tables_from_sofa.c +26 −27 Original line number Diff line number Diff line Loading @@ -76,7 +76,6 @@ #define MAX_DIFF_ELE 10 /* angle in degree */ #define DEFAULT_SAMPLERATE 48000 /* Hz */ #define TEMPLTATE_C_ROM_FILE_NAME "ivas_license_header.template" #define FORCE_COPY_TO_LIB_REND #define ROM_FILE_NAME "ivas_rom_binaural_crend_head" #define FORMAT_FLOAT "%8.6f" #define NUM_SAMPLES_PER_LINES 96 Loading Loading @@ -1264,23 +1263,23 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, ConfigReader *c struct ivas_layout_config lscfg; if ( sofa_M == 4 ) get_ls_layout_config( AUDIO_CONFIG_FOA, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_FOA, &lscfg ); else if ( sofa_M == 9 ) get_ls_layout_config( AUDIO_CONFIG_HOA2, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_HOA2, &lscfg ); else if ( sofa_M == 16 ) get_ls_layout_config( AUDIO_CONFIG_HOA3, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_HOA3, &lscfg ); else if ( sofa_M == 6 ) get_ls_layout_config( AUDIO_CONFIG_5_1, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_5_1, &lscfg ); else if ( ( sofa_M == 8 ) && ( strstr( sofa_file_path, "710" ) != 0 ) ) get_ls_layout_config( AUDIO_CONFIG_7_1, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_7_1, &lscfg ); else if ( ( sofa_M == 8 ) && ( strstr( sofa_file_path, "512" ) != 0 ) ) get_ls_layout_config( AUDIO_CONFIG_5_1_2, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_5_1_2, &lscfg ); else if ( sofa_M == 10 ) get_ls_layout_config( AUDIO_CONFIG_5_1_4, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_5_1_4, &lscfg ); else if ( sofa_M == 12 ) get_ls_layout_config( AUDIO_CONFIG_7_1_4, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_7_1_4, &lscfg ); else get_ls_layout_config( AUDIO_CONFIG_EXTERNAL, &lscfg ); get_ls_layout_config( IVAS_AUDIO_CONFIG_EXTERNAL, &lscfg ); /* general information about the loaded HRTF set */ fprintf( stderr, "Number of HRTFs: %d\n", sofa_M ); Loading Loading @@ -1685,7 +1684,7 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, ConfigReader *c latency_48k_optim = hrtf_data.latency_s; } if ( lib_rend_path ) if ( lib_rend_path != NULL ) { update_h_file( &hrtf_data, lscfg, sample_rates[indSR], frame_len ); update_c_file( &hrtf_data, lscfg, sample_rates[indSR], frame_len ); Loading Loading @@ -2099,7 +2098,7 @@ int generate_reverb_ivas_tables_from_sofa( const char *file_path ) ivas_mdft( pTemp, pHrtf_set_r_re[i], pHrtf_set_r_im[i], frame_len, frame_len ); } ivas_reverb_get_hrtf_set_properties( pHrtf_set_l_re, pHrtf_set_l_im, pHrtf_set_r_re, pHrtf_set_r_im, AUDIO_CONFIG_5_1, sofa_M, frame_len, ivas_reverb_get_hrtf_set_properties( pHrtf_set_l_re, pHrtf_set_l_im, pHrtf_set_r_re, pHrtf_set_r_im, IVAS_AUDIO_CONFIG_5_1, sofa_M, frame_len, nr_fc_fft_filter, p_avg_lr, &p_avg_lr[nr_fc_fft_filter], pCoherence ); update_h_file_with_reverb( sample_rates[indSR] ); Loading Loading @@ -3184,7 +3183,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con switch ( ls_layout_config ) { case AUDIO_CONFIG_FOA: case IVAS_AUDIO_CONFIG_FOA: strcpy( ls_struct->name, "FOA" ); ls_struct->nb_channel = 4; ls_struct->isloudspeaker = 0; Loading @@ -3192,7 +3191,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_HOA2: case IVAS_AUDIO_CONFIG_HOA2: strcpy( ls_struct->name, "HOA2" ); ls_struct->nb_channel = 9; ls_struct->isloudspeaker = 0; Loading @@ -3200,7 +3199,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_HOA3: case IVAS_AUDIO_CONFIG_HOA3: strcpy( ls_struct->name, "HOA3" ); ls_struct->nb_channel = 16; ls_struct->isloudspeaker = 0; Loading @@ -3208,7 +3207,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_MONO: case IVAS_AUDIO_CONFIG_MONO: strcpy( ls_struct->name, "MONO" ); ls_struct->nb_channel = 1; ls_struct->isloudspeaker = 1; Loading @@ -3216,7 +3215,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_STEREO: case IVAS_AUDIO_CONFIG_STEREO: strcpy( ls_struct->name, "STEREO" ); ls_struct->nb_channel = 2; memcpy( ls_struct->azi, ls_azimuth_CICP2, sizeof( float ) * ls_struct->nb_channel ); Loading @@ -3225,7 +3224,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->num_lfe = 0; memset( ls_struct->lfe_index, -1, sizeof( int16_t ) * 2 ); break; case AUDIO_CONFIG_5_1: case IVAS_AUDIO_CONFIG_5_1: strcpy( ls_struct->name, "5_1" ); ls_struct->nb_channel = 5; ls_struct->isloudspeaker = 1; Loading @@ -3236,7 +3235,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP6, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_7_1: case IVAS_AUDIO_CONFIG_7_1: strcpy( ls_struct->name, "7_1" ); ls_struct->nb_channel = 7; ls_struct->isloudspeaker = 1; Loading @@ -3247,7 +3246,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP12, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_5_1_2: case IVAS_AUDIO_CONFIG_5_1_2: strcpy( ls_struct->name, "5_1_2" ); ls_struct->nb_channel = 7; ls_struct->isloudspeaker = 1; Loading @@ -3257,7 +3256,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP14, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_5_1_4: case IVAS_AUDIO_CONFIG_5_1_4: strcpy( ls_struct->name, "5_1_4" ); ls_struct->nb_channel = 9; ls_struct->isloudspeaker = 1; Loading @@ -3268,7 +3267,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP16, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_7_1_4: case IVAS_AUDIO_CONFIG_7_1_4: strcpy( ls_struct->name, "7_1_4" ); ls_struct->nb_channel = 11; ls_struct->isloudspeaker = 1; Loading @@ -3279,7 +3278,7 @@ void get_ls_layout_config( AUDIO_CONFIG ls_layout_config, struct ivas_layout_con ls_struct->gain_lfe = GAIN_LFE; memcpy( ls_struct->azi, ls_azimuth_CICP19, sizeof( float ) * ls_struct->nb_channel ); break; case AUDIO_CONFIG_EXTERNAL: case IVAS_AUDIO_CONFIG_EXTERNAL: default: { const float tmp_azi[15] = { 30, -30, 0, 135, -135, 110, -110, 90, -90, 30, -30, 110, -110, 135, -135 }; Loading