Loading .gitlab-ci.yml +1 −2 Original line number Diff line number Diff line Loading @@ -321,7 +321,6 @@ codec-smoke-test: - *print-common-info - bash ci/smoke_test.sh ### analyze for failures - cat out/logs/stv1MASA2TC48c_MASA_2TC_1DIR_b96_fb_cbr.enc.txt - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without PLC failed"; exit 1; fi - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; exit 1; fi Loading Loading @@ -1066,7 +1065,7 @@ complexity-ism-in-binaural-out: - *complexity-measurements-setup - in_format=ISM - out_format=BINAURAL - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" "$out_format" - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" - *complexity-measurements-prepare-artifacts complexity-sba-hoa3-in-hoa3-out: Loading lib_com/bitstream.c +4 −0 Original line number Diff line number Diff line Loading @@ -1801,7 +1801,11 @@ ivas_error preview_indices( if ( bit_stream[2] == 0 ) { st_ivas->ivas_format = SBA_FORMAT; #ifndef LBR_SBA st_ivas->sba_mode = ivas_sba_mode_select( total_brate ); #else st_ivas->sba_mode = ivas_sba_mode_select(); #endif } else { Loading lib_com/cnst.h +10 −2 Original line number Diff line number Diff line Loading @@ -1434,7 +1434,12 @@ typedef enum _DCTTYPE #define CHEAP_NORM_SIZE 161 #define CNA_MAX_BRATE ACELP_13k20 #ifdef FIX_I414_OOA_CNA #define CNA_INIT_NBANDS 6 #else #define MAX_CNA_NBANDS 12 #endif #define GAIN_Q_OFFSET_EVS 60.f #define GAIN_Q_OFFSET_IVAS 45.f Loading Loading @@ -1532,7 +1537,10 @@ typedef enum _DCTTYPE #define TOD_NSPEC 80 /* number of spectral bins of the tonal detector */ #define TOD_THR_MASS 0.86f /* initial value for the adaptive threshold of the tonal detector */ #define P2A_FACT 0.9f /* long-term averaging factor for peak-to-average ratio */ #define THR_P2A 80.0f /* threshold to detect strongly peaky signals */ #ifdef FIX_SP2A #define THR_P2A_HIGH 95.0f /* higher threshold to detect strongly peaky signals at low bitrates*/ #endif #define THR_P2A 80.0f /* lower threshold to detect strongly peaky signals at higher bitrates */ /*----------------------------------------------------------------------------------* * LD music post-filter constants Loading lib_com/ivas_cnst.h +7 −0 Original line number Diff line number Diff line Loading @@ -1005,6 +1005,9 @@ typedef enum /* Common SPAR metadata constants */ #define IVAS_ACTIVEW_DM_F_SCALE 0.5f #define IVAS_ACTIVEW_DM_F_SCALE_DTX 0.25f #ifdef LBR_SBA #define IVAS_ACTIVEW_DM_F_SCALE_VLBR 0.25f #endif #define IVAS_SPAR_FOA_DFLT_FREQ_PER_CHAN 24000 #define MAX_QUANT_STRATS 3 Loading Loading @@ -1037,7 +1040,11 @@ typedef enum DECX_COEFF } ivas_coeffs_type_t; #ifdef LBR_SBA #define IVAS_SPAR_BR_TABLE_LEN 20 #else #define IVAS_SPAR_BR_TABLE_LEN 18 #endif /* TD decorr */ // VE: not all 16CH are currently supported -> t be revisited later enum Loading lib_com/ivas_cov_smooth.c +54 −3 Original line number Diff line number Diff line Loading @@ -52,10 +52,54 @@ static void ivas_set_up_cov_smoothing( const float max_update_rate, const int16_t min_pool_size, const int16_t nchan_inp /* i : number of input channels */ #ifdef LBR_SBA_EXTRA_COV_SMOOTH , const int32_t ivas_total_brate #endif ) { int16_t j, k; #ifdef LBR_SBA_DM_COV_FIX if ( ivas_total_brate < IVAS_24k4 ) { for ( j = 0; j < pFb->filterbank_num_bands; j++ ) { float update_factor; float *p_bin_to_band; update_factor = 0.0f; p_bin_to_band = pFb->fb_bin_to_band.pp_short_stride_bin_to_band[j]; int16_t active_bins; active_bins = pFb->fb_bin_to_band.p_short_stride_num_bins_per_band[j]; for ( k = 0; k < active_bins; k++ ) { update_factor += p_bin_to_band[k]; } hCovState->pSmoothing_factor[j] = update_factor / min_pool_size; #ifdef LBR_SBA_EXTRA_COV_SMOOTH float smooth_fact; if ( ivas_total_brate < IVAS_24k4 ) { smooth_fact = 0.5f; } else { smooth_fact = 0.75; } hCovState->pSmoothing_factor[j] *= ( j + 1 ) * smooth_fact; #else hCovState->pSmoothing_factor[j] *= ( j + 1 ) * 0.75f; #endif if ( hCovState->pSmoothing_factor[j] > max_update_rate ) { hCovState->pSmoothing_factor[j] = max_update_rate; } } } else #endif if ( nchan_inp <= FOA_CHANNELS ) { for ( j = 0; j < pFb->filterbank_num_bands; j++ ) Loading Loading @@ -115,6 +159,10 @@ ivas_error ivas_spar_covar_smooth_enc_open( const ivas_cov_smooth_cfg_t *cov_smooth_cfg, /* i : SPAR config. handle */ ivas_filterbank_t *pFb, /* i/o: FB handle */ const int16_t nchan_inp /* i : number of input channels */ #ifdef LBR_SBA_EXTRA_COV_SMOOTH , const int32_t ivas_total_brate /* i : IVAS total bitrate */ #endif ) { ivas_cov_smooth_state_t *hCovState; Loading Loading @@ -142,8 +190,11 @@ ivas_error ivas_spar_covar_smooth_enc_open( } } ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp ); #ifdef LBR_SBA_EXTRA_COV_SMOOTH ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp, ivas_total_brate ); #else ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp ); #endif *hCovState_out = hCovState; Loading Loading
.gitlab-ci.yml +1 −2 Original line number Diff line number Diff line Loading @@ -321,7 +321,6 @@ codec-smoke-test: - *print-common-info - bash ci/smoke_test.sh ### analyze for failures - cat out/logs/stv1MASA2TC48c_MASA_2TC_1DIR_b96_fb_cbr.enc.txt - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without PLC failed"; exit 1; fi - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; exit 1; fi Loading Loading @@ -1066,7 +1065,7 @@ complexity-ism-in-binaural-out: - *complexity-measurements-setup - in_format=ISM - out_format=BINAURAL - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" "$out_format" - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" - *complexity-measurements-prepare-artifacts complexity-sba-hoa3-in-hoa3-out: Loading
lib_com/bitstream.c +4 −0 Original line number Diff line number Diff line Loading @@ -1801,7 +1801,11 @@ ivas_error preview_indices( if ( bit_stream[2] == 0 ) { st_ivas->ivas_format = SBA_FORMAT; #ifndef LBR_SBA st_ivas->sba_mode = ivas_sba_mode_select( total_brate ); #else st_ivas->sba_mode = ivas_sba_mode_select(); #endif } else { Loading
lib_com/cnst.h +10 −2 Original line number Diff line number Diff line Loading @@ -1434,7 +1434,12 @@ typedef enum _DCTTYPE #define CHEAP_NORM_SIZE 161 #define CNA_MAX_BRATE ACELP_13k20 #ifdef FIX_I414_OOA_CNA #define CNA_INIT_NBANDS 6 #else #define MAX_CNA_NBANDS 12 #endif #define GAIN_Q_OFFSET_EVS 60.f #define GAIN_Q_OFFSET_IVAS 45.f Loading Loading @@ -1532,7 +1537,10 @@ typedef enum _DCTTYPE #define TOD_NSPEC 80 /* number of spectral bins of the tonal detector */ #define TOD_THR_MASS 0.86f /* initial value for the adaptive threshold of the tonal detector */ #define P2A_FACT 0.9f /* long-term averaging factor for peak-to-average ratio */ #define THR_P2A 80.0f /* threshold to detect strongly peaky signals */ #ifdef FIX_SP2A #define THR_P2A_HIGH 95.0f /* higher threshold to detect strongly peaky signals at low bitrates*/ #endif #define THR_P2A 80.0f /* lower threshold to detect strongly peaky signals at higher bitrates */ /*----------------------------------------------------------------------------------* * LD music post-filter constants Loading
lib_com/ivas_cnst.h +7 −0 Original line number Diff line number Diff line Loading @@ -1005,6 +1005,9 @@ typedef enum /* Common SPAR metadata constants */ #define IVAS_ACTIVEW_DM_F_SCALE 0.5f #define IVAS_ACTIVEW_DM_F_SCALE_DTX 0.25f #ifdef LBR_SBA #define IVAS_ACTIVEW_DM_F_SCALE_VLBR 0.25f #endif #define IVAS_SPAR_FOA_DFLT_FREQ_PER_CHAN 24000 #define MAX_QUANT_STRATS 3 Loading Loading @@ -1037,7 +1040,11 @@ typedef enum DECX_COEFF } ivas_coeffs_type_t; #ifdef LBR_SBA #define IVAS_SPAR_BR_TABLE_LEN 20 #else #define IVAS_SPAR_BR_TABLE_LEN 18 #endif /* TD decorr */ // VE: not all 16CH are currently supported -> t be revisited later enum Loading
lib_com/ivas_cov_smooth.c +54 −3 Original line number Diff line number Diff line Loading @@ -52,10 +52,54 @@ static void ivas_set_up_cov_smoothing( const float max_update_rate, const int16_t min_pool_size, const int16_t nchan_inp /* i : number of input channels */ #ifdef LBR_SBA_EXTRA_COV_SMOOTH , const int32_t ivas_total_brate #endif ) { int16_t j, k; #ifdef LBR_SBA_DM_COV_FIX if ( ivas_total_brate < IVAS_24k4 ) { for ( j = 0; j < pFb->filterbank_num_bands; j++ ) { float update_factor; float *p_bin_to_band; update_factor = 0.0f; p_bin_to_band = pFb->fb_bin_to_band.pp_short_stride_bin_to_band[j]; int16_t active_bins; active_bins = pFb->fb_bin_to_band.p_short_stride_num_bins_per_band[j]; for ( k = 0; k < active_bins; k++ ) { update_factor += p_bin_to_band[k]; } hCovState->pSmoothing_factor[j] = update_factor / min_pool_size; #ifdef LBR_SBA_EXTRA_COV_SMOOTH float smooth_fact; if ( ivas_total_brate < IVAS_24k4 ) { smooth_fact = 0.5f; } else { smooth_fact = 0.75; } hCovState->pSmoothing_factor[j] *= ( j + 1 ) * smooth_fact; #else hCovState->pSmoothing_factor[j] *= ( j + 1 ) * 0.75f; #endif if ( hCovState->pSmoothing_factor[j] > max_update_rate ) { hCovState->pSmoothing_factor[j] = max_update_rate; } } } else #endif if ( nchan_inp <= FOA_CHANNELS ) { for ( j = 0; j < pFb->filterbank_num_bands; j++ ) Loading Loading @@ -115,6 +159,10 @@ ivas_error ivas_spar_covar_smooth_enc_open( const ivas_cov_smooth_cfg_t *cov_smooth_cfg, /* i : SPAR config. handle */ ivas_filterbank_t *pFb, /* i/o: FB handle */ const int16_t nchan_inp /* i : number of input channels */ #ifdef LBR_SBA_EXTRA_COV_SMOOTH , const int32_t ivas_total_brate /* i : IVAS total bitrate */ #endif ) { ivas_cov_smooth_state_t *hCovState; Loading Loading @@ -142,8 +190,11 @@ ivas_error ivas_spar_covar_smooth_enc_open( } } ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp ); #ifdef LBR_SBA_EXTRA_COV_SMOOTH ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp, ivas_total_brate ); #else ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp ); #endif *hCovState_out = hCovState; Loading