Loading lib_com/options.h +0 −8 Original line number Diff line number Diff line Loading @@ -197,14 +197,6 @@ #define HODIRAC /* FhG: Contribution 32: Sector-based HO-DirAC method for SBA at high bitrates */ /*#define HODIRAC_DEBUG*/ #ifdef HODIRAC_DEBUG //#define HODIRAC_CHECK_VALUE_RANGE //#define HODIRAC_WRITE_PARAMS //#define HODIRAC_READ_PARAMS #endif /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_dec/ivas_dirac_dec.c +0 −88 Original line number Diff line number Diff line Loading @@ -2058,14 +2058,6 @@ void ivas_qmetadata_to_dirac( int16_t no_secs = 1; #endif #ifdef HODIRAC_READ_PARAMS static FILE *f_secparams = 0; if ( f_secparams == 0 ) { f_secparams = fopen( "sector_params.txt", "r" ); } #endif q_direction = &( hQMetaData->q_direction[0] ); hDirAC->numSimultaneousDirections = hQMetaData->no_directions; Loading Loading @@ -2200,38 +2192,6 @@ void ivas_qmetadata_to_dirac( } } #ifdef HODIRAC_READ_PARAMS /* popular sector parameters from file */ int16_t idx_f; int idx_f_f, idx_sec_f; float azi_secs[4][4][DIRAC_MAX_NBANDS], ele_secs[4][4][DIRAC_MAX_NBANDS], ene_secs[4][4][DIRAC_MAX_NBANDS], diff_secs[4][4][DIRAC_MAX_NBANDS], diff[4][DIRAC_MAX_NBANDS]; assert( hDirAC->nb_subframes <= 4 ); for ( block = 0; block < hDirAC->nb_subframes; block++ ) { int16_t block_qmetadata; block_qmetadata = min( block, nblocks - 1 ); block_qmetadata = max( block_qmetadata, 0 ); assert( block_qmetadata == block ); // does this ever happen? for ( idx_f = 0; idx_f < nbands; idx_f++ ) { for ( idx_sec = 0; idx_sec < 4; idx_sec++ ) { if ( 7 != fscanf( f_secparams, "%i %i %f %f %f %f %f\n", &idx_f_f, &idx_sec_f, &azi_secs[block_qmetadata][idx_sec][idx_f], &ele_secs[block_qmetadata][idx_sec][idx_f], &ene_secs[block_qmetadata][idx_sec][idx_f], &diff_secs[block_qmetadata][idx_sec][idx_f], &diff[block_qmetadata][idx_f] ) ) { printf( "ERROR reading parameters!\n" ); exit( -1 ); } if ( azi_secs[block_qmetadata][idx_sec][idx_f] < 0.f ) { azi_secs[block_qmetadata][idx_sec][idx_f] += 360.f; } } } } #endif /* Low-Bands with no spatial data transmitted, analysis at decoder side */ for ( band = 0; band < start_band; band++ ) { Loading Loading @@ -2315,22 +2275,6 @@ void ivas_qmetadata_to_dirac( elevation = q_direction->band_data[qBand_idx].elevation[block_qmetadata]; } #ifdef HODIRAC_READ_PARAMS int16_t tmp_i; tmp_i = 0; ( idx_sec == 0 ) ? ( tmp_i = 1 ) : ( ( idx_sec == 1 ) ? ( tmp_i = 2 ) : ( tmp_i = -99 ) ); assert( tmp_i < 3 ); azimuth = azi_secs[block_qmetadata][tmp_i][qBand_idx]; elevation = ele_secs[block_qmetadata][tmp_i][qBand_idx]; diffuseness = diff[block_qmetadata][qBand_idx]; if ( azimuth < 0.f ) { azimuth += 360.f; } diffuseness_sec = 1.f - ( diff_secs[block_qmetadata][1][qBand_idx] / ( diff_secs[block_qmetadata][1][qBand_idx] + diff_secs[block_qmetadata][2][qBand_idx] + EPSILON ) ); #endif for ( b = band_start; b < band_end; b++ ) { tmp_write_idx_band = tmp_write_idx_param_band; Loading Loading @@ -2453,38 +2397,6 @@ void ivas_qmetadata_to_dirac( } } #ifdef HODIRAC_WRITE_PARAMS if ( hMasa == NULL && sba_analysis_order > 1 && ivas_total_brate > IVAS_256k ) { static FILE *f_params = 0; int16_t tmp_write_idx_band = 0; if ( f_params == 0 ) f_params = fopen( "param_dec", "w" ); tmp_write_idx_band = hDirAC->dirac_bs_md_write_idx; for ( block = 0; block < hDirAC->nb_subframes; block++ ) { int16_t block_qmetadata; block_qmetadata = min( block, nblocks - 1 ); block_qmetadata = max( block_qmetadata, 0 ); for ( band = 0; band < hDirAC->num_freq_bands; band++ ) { fprintf( f_params, "%d ", hDirAC->azimuth[tmp_write_idx_band][band] ); fprintf( f_params, "%d ", hDirAC->elevation[tmp_write_idx_band][band] ); fprintf( f_params, "%f ", hDirAC->diffuseness_vector[tmp_write_idx_band][band] ); fprintf( f_params, "%d ", hDirAC->azimuth2[tmp_write_idx_band][band] ); fprintf( f_params, "%d ", hDirAC->elevation2[tmp_write_idx_band][band] ); fprintf( f_params, "%f\n", 1.0f - hDirAC->energy_ratio2[tmp_write_idx_band][band] ); } tmp_write_idx_band = ( tmp_write_idx_band + 1 ) % hDirAC->dirac_md_buffer_length; } } #endif /* update buffer write index */ if ( hDirAC->hConfig->dec_param_estim == FALSE ) { Loading lib_enc/ivas_dirac_enc.c +1 −40 Original line number Diff line number Diff line Loading @@ -662,23 +662,12 @@ void ivas_dirac_param_est_enc( float ene_secs[2 * DIRAC_MAX_ANA_CHANS * DIRAC_MAX_NBANDS] = { 0 }; #endif #ifdef HODIRAC_WRITE_PARAMS static FILE *f_secparams = 0; #endif push_wmops( "dirac_enc_param_est" ); #ifdef HODIRAC num_freq_bands = hDirAC->hConfig->nbands; #endif #ifdef HODIRAC_WRITE_PARAMS if ( f_secparams == 0 ) { f_secparams = fopen( "sector_params.txt", "w" ); } #endif /* Initialization */ l_ts = input_frame / MAX_PARAM_SPATIAL_SUBFRAMES; if ( useLowerRes ) Loading Loading @@ -830,20 +819,6 @@ void ivas_dirac_param_est_enc( calculate_hodirac_sector_parameters( Cldfb_RealBuffer, Cldfb_ImagBuffer, l_ts, 0.20f, hDirAC->band_grouping, hDirAC->hConfig->nbands, hDirAC->hConfig->enc_param_start_band, azi_secs, ele_secs, diff_secs, ene_secs ); #ifdef HODIRAC_WRITE_PARAMS for ( i = 0; i < num_freq_bands; i++ ) { for ( uint16_t j = 0; j < 4; j++ ) { fprintf( f_secparams, "%d %d %f %f %f %f %f\n", i, j, azi_secs[j * num_freq_bands + i], ele_secs[j * num_freq_bands + i], ene_secs[j * num_freq_bands + i], diff_secs[j * num_freq_bands + i], diffuseness_vector[i] ); } } #endif } #endif Loading Loading @@ -928,20 +903,6 @@ void ivas_dirac_param_est_enc( q_direction[1].band_data[band_m_idx].azimuth[block_m_idx] = azi_secs[num_freq_bands + band_m_idx]; q_direction[1].band_data[band_m_idx].elevation[block_m_idx] = ele_secs[num_freq_bands + band_m_idx]; q_direction[1].band_data[band_m_idx].energy_ratio[block_m_idx] = ( 1.f - diff_secs[band_m_idx] ) / ( ( 1.f - diff_secs[band_m_idx] ) + ( 1.f - diff_secs[num_freq_bands + band_m_idx] ) + EPSILON ); #ifdef HODIRAC_WRITE_PARAMS { static FILE *f_a = 0; if ( f_a == 0 ) f_a = fopen( "param_enc", "w" ); fprintf( f_a, "%f %f %f %f %f %f\n", q_direction->band_data[band_m_idx].azimuth[block_m_idx], q_direction->band_data[band_m_idx].elevation[block_m_idx], diffuseness_vector[band_m_idx], q_direction[1].band_data[band_m_idx].azimuth[block_m_idx], q_direction[1].band_data[band_m_idx].elevation[block_m_idx], q_direction[1].band_data[band_m_idx].energy_ratio[block_m_idx] ); } #endif } } #endif Loading Loading
lib_com/options.h +0 −8 Original line number Diff line number Diff line Loading @@ -197,14 +197,6 @@ #define HODIRAC /* FhG: Contribution 32: Sector-based HO-DirAC method for SBA at high bitrates */ /*#define HODIRAC_DEBUG*/ #ifdef HODIRAC_DEBUG //#define HODIRAC_CHECK_VALUE_RANGE //#define HODIRAC_WRITE_PARAMS //#define HODIRAC_READ_PARAMS #endif /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_dec/ivas_dirac_dec.c +0 −88 Original line number Diff line number Diff line Loading @@ -2058,14 +2058,6 @@ void ivas_qmetadata_to_dirac( int16_t no_secs = 1; #endif #ifdef HODIRAC_READ_PARAMS static FILE *f_secparams = 0; if ( f_secparams == 0 ) { f_secparams = fopen( "sector_params.txt", "r" ); } #endif q_direction = &( hQMetaData->q_direction[0] ); hDirAC->numSimultaneousDirections = hQMetaData->no_directions; Loading Loading @@ -2200,38 +2192,6 @@ void ivas_qmetadata_to_dirac( } } #ifdef HODIRAC_READ_PARAMS /* popular sector parameters from file */ int16_t idx_f; int idx_f_f, idx_sec_f; float azi_secs[4][4][DIRAC_MAX_NBANDS], ele_secs[4][4][DIRAC_MAX_NBANDS], ene_secs[4][4][DIRAC_MAX_NBANDS], diff_secs[4][4][DIRAC_MAX_NBANDS], diff[4][DIRAC_MAX_NBANDS]; assert( hDirAC->nb_subframes <= 4 ); for ( block = 0; block < hDirAC->nb_subframes; block++ ) { int16_t block_qmetadata; block_qmetadata = min( block, nblocks - 1 ); block_qmetadata = max( block_qmetadata, 0 ); assert( block_qmetadata == block ); // does this ever happen? for ( idx_f = 0; idx_f < nbands; idx_f++ ) { for ( idx_sec = 0; idx_sec < 4; idx_sec++ ) { if ( 7 != fscanf( f_secparams, "%i %i %f %f %f %f %f\n", &idx_f_f, &idx_sec_f, &azi_secs[block_qmetadata][idx_sec][idx_f], &ele_secs[block_qmetadata][idx_sec][idx_f], &ene_secs[block_qmetadata][idx_sec][idx_f], &diff_secs[block_qmetadata][idx_sec][idx_f], &diff[block_qmetadata][idx_f] ) ) { printf( "ERROR reading parameters!\n" ); exit( -1 ); } if ( azi_secs[block_qmetadata][idx_sec][idx_f] < 0.f ) { azi_secs[block_qmetadata][idx_sec][idx_f] += 360.f; } } } } #endif /* Low-Bands with no spatial data transmitted, analysis at decoder side */ for ( band = 0; band < start_band; band++ ) { Loading Loading @@ -2315,22 +2275,6 @@ void ivas_qmetadata_to_dirac( elevation = q_direction->band_data[qBand_idx].elevation[block_qmetadata]; } #ifdef HODIRAC_READ_PARAMS int16_t tmp_i; tmp_i = 0; ( idx_sec == 0 ) ? ( tmp_i = 1 ) : ( ( idx_sec == 1 ) ? ( tmp_i = 2 ) : ( tmp_i = -99 ) ); assert( tmp_i < 3 ); azimuth = azi_secs[block_qmetadata][tmp_i][qBand_idx]; elevation = ele_secs[block_qmetadata][tmp_i][qBand_idx]; diffuseness = diff[block_qmetadata][qBand_idx]; if ( azimuth < 0.f ) { azimuth += 360.f; } diffuseness_sec = 1.f - ( diff_secs[block_qmetadata][1][qBand_idx] / ( diff_secs[block_qmetadata][1][qBand_idx] + diff_secs[block_qmetadata][2][qBand_idx] + EPSILON ) ); #endif for ( b = band_start; b < band_end; b++ ) { tmp_write_idx_band = tmp_write_idx_param_band; Loading Loading @@ -2453,38 +2397,6 @@ void ivas_qmetadata_to_dirac( } } #ifdef HODIRAC_WRITE_PARAMS if ( hMasa == NULL && sba_analysis_order > 1 && ivas_total_brate > IVAS_256k ) { static FILE *f_params = 0; int16_t tmp_write_idx_band = 0; if ( f_params == 0 ) f_params = fopen( "param_dec", "w" ); tmp_write_idx_band = hDirAC->dirac_bs_md_write_idx; for ( block = 0; block < hDirAC->nb_subframes; block++ ) { int16_t block_qmetadata; block_qmetadata = min( block, nblocks - 1 ); block_qmetadata = max( block_qmetadata, 0 ); for ( band = 0; band < hDirAC->num_freq_bands; band++ ) { fprintf( f_params, "%d ", hDirAC->azimuth[tmp_write_idx_band][band] ); fprintf( f_params, "%d ", hDirAC->elevation[tmp_write_idx_band][band] ); fprintf( f_params, "%f ", hDirAC->diffuseness_vector[tmp_write_idx_band][band] ); fprintf( f_params, "%d ", hDirAC->azimuth2[tmp_write_idx_band][band] ); fprintf( f_params, "%d ", hDirAC->elevation2[tmp_write_idx_band][band] ); fprintf( f_params, "%f\n", 1.0f - hDirAC->energy_ratio2[tmp_write_idx_band][band] ); } tmp_write_idx_band = ( tmp_write_idx_band + 1 ) % hDirAC->dirac_md_buffer_length; } } #endif /* update buffer write index */ if ( hDirAC->hConfig->dec_param_estim == FALSE ) { Loading
lib_enc/ivas_dirac_enc.c +1 −40 Original line number Diff line number Diff line Loading @@ -662,23 +662,12 @@ void ivas_dirac_param_est_enc( float ene_secs[2 * DIRAC_MAX_ANA_CHANS * DIRAC_MAX_NBANDS] = { 0 }; #endif #ifdef HODIRAC_WRITE_PARAMS static FILE *f_secparams = 0; #endif push_wmops( "dirac_enc_param_est" ); #ifdef HODIRAC num_freq_bands = hDirAC->hConfig->nbands; #endif #ifdef HODIRAC_WRITE_PARAMS if ( f_secparams == 0 ) { f_secparams = fopen( "sector_params.txt", "w" ); } #endif /* Initialization */ l_ts = input_frame / MAX_PARAM_SPATIAL_SUBFRAMES; if ( useLowerRes ) Loading Loading @@ -830,20 +819,6 @@ void ivas_dirac_param_est_enc( calculate_hodirac_sector_parameters( Cldfb_RealBuffer, Cldfb_ImagBuffer, l_ts, 0.20f, hDirAC->band_grouping, hDirAC->hConfig->nbands, hDirAC->hConfig->enc_param_start_band, azi_secs, ele_secs, diff_secs, ene_secs ); #ifdef HODIRAC_WRITE_PARAMS for ( i = 0; i < num_freq_bands; i++ ) { for ( uint16_t j = 0; j < 4; j++ ) { fprintf( f_secparams, "%d %d %f %f %f %f %f\n", i, j, azi_secs[j * num_freq_bands + i], ele_secs[j * num_freq_bands + i], ene_secs[j * num_freq_bands + i], diff_secs[j * num_freq_bands + i], diffuseness_vector[i] ); } } #endif } #endif Loading Loading @@ -928,20 +903,6 @@ void ivas_dirac_param_est_enc( q_direction[1].band_data[band_m_idx].azimuth[block_m_idx] = azi_secs[num_freq_bands + band_m_idx]; q_direction[1].band_data[band_m_idx].elevation[block_m_idx] = ele_secs[num_freq_bands + band_m_idx]; q_direction[1].band_data[band_m_idx].energy_ratio[block_m_idx] = ( 1.f - diff_secs[band_m_idx] ) / ( ( 1.f - diff_secs[band_m_idx] ) + ( 1.f - diff_secs[num_freq_bands + band_m_idx] ) + EPSILON ); #ifdef HODIRAC_WRITE_PARAMS { static FILE *f_a = 0; if ( f_a == 0 ) f_a = fopen( "param_enc", "w" ); fprintf( f_a, "%f %f %f %f %f %f\n", q_direction->band_data[band_m_idx].azimuth[block_m_idx], q_direction->band_data[band_m_idx].elevation[block_m_idx], diffuseness_vector[band_m_idx], q_direction[1].band_data[band_m_idx].azimuth[block_m_idx], q_direction[1].band_data[band_m_idx].elevation[block_m_idx], q_direction[1].band_data[band_m_idx].energy_ratio[block_m_idx] ); } #endif } } #endif Loading