Loading lib_com/ivas_cnst.h +4 −3 Original line number Diff line number Diff line Loading @@ -1046,14 +1046,15 @@ typedef enum /* Common SPAR metadata constants */ #define IVAS_ACTIVEW_DM_F_SCALE 0.5f #define IVAS_ACTIVEW_DM_F_SCALE_FX ONE_IN_Q30 #define IVAS_ACTIVEW_DM_F_SCALE_FX IVAS_ACTIVEW_DM_F_SCALE * ONE_IN_Q31 #define IVAS_ACTIVEW_DM_F_SCALE_DTX 0.25f #define IVAS_ACTIVEW_DM_F_SCALE_DTX_FX ONE_IN_Q29 #define IVAS_ACTIVEW_DM_F_SCALE_DTX_FX IVAS_ACTIVEW_DM_F_SCALE_DTX * ONE_IN_Q31 #define IVAS_ACTIVEW_DM_F_SCALE_VLBR 0.25f #define IVAS_ACTIVEW_DM_F_SCALE_VLBR_FX ONE_IN_Q29 #define IVAS_ACTIVEW_DM_F_SCALE_VLBR_FX IVAS_ACTIVEW_DM_F_SCALE_VLBR * ONE_IN_Q31 #define IVAS_SPAR_FOA_DFLT_FREQ_PER_CHAN 24000 #define IVAS_SPAR_DYN_ACTIVEW_THRESH (0.0039f) #define IVAS_SPAR_DYN_ACTIVEW_THRESH_FX IVAS_SPAR_DYN_ACTIVEW_THRESH * ONE_IN_Q31 #define IVAS_SPAR_SIDE_CH_DYN_ACTIVEW_THRESH (32.0f) #define MAX_QUANT_STRATS 3 Loading lib_com/ivas_prot.h +30 −6 Original line number Diff line number Diff line Loading @@ -5453,6 +5453,23 @@ void ivas_create_fullr_dmx_mat( ivas_spar_md_com_cfg *hMdCfg ); #ifdef IVAS_FLOAT_FIXED void ivas_create_fullr_dmx_mat_fx( Word32 pred_coeffs_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], Word16 q_pred_coeffs_re, Word32 dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], Word16 q_dm_fv_re, Word32 ***mixer_mat, Word16 *q_mixer_mat, const Word16 in_chans, const Word16 start_band, const Word16 end_band, const Word16 active_w, ivas_spar_md_com_cfg *hMdCfg ); #endif // IVAS_FLOAT_FIXED void ivas_calc_c_p_coeffs( ivas_spar_md_t *pSparMd, float *pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading @@ -5467,18 +5484,18 @@ void ivas_calc_c_p_coeffs( ); #ifdef IVAS_FLOAT_FIXED void ivas_get_spar_md_from_dirac_fx( float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float diffuseness[IVAS_MAX_NUM_BANDS], Word32 azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], Word32 ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], Word32 diffuseness[IVAS_MAX_NUM_BANDS], const int16_t n_ts, float ***mixer_mat, Word32 ***mixer_mat, ivas_spar_md_t *hSpar_md, ivas_spar_md_com_cfg *hSpar_md_cfg, const int16_t start_band, const int16_t end_band, const int16_t order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS], Word32 Wscale_d[IVAS_MAX_NUM_BANDS], const uint8_t useLowerRes, const int16_t active_w_vlbr, const int16_t dyn_active_w_flag Loading Loading @@ -5582,7 +5599,14 @@ void ivas_spar_to_dirac( const int16_t bw, /* i : band joining factor */ const int16_t dyn_active_w_flag /* i : dynamic active W flag */ ); void ivas_spar_to_dirac_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t dtx_vad, /* i : DTX frame flag */ const int16_t num_bands_out, /* i : number of output bands */ const int16_t bw, /* i : band joining factor */ const int16_t dyn_active_w_flag /* i : dynamic active W flag */ ); void ivas_spar_update_md_hist( ivas_spar_md_dec_state_t *hMdDec /* i/o: SPAR MD decoder handle */ ); Loading lib_com/ivas_prot_fx.h +55 −16 Original line number Diff line number Diff line Loading @@ -687,22 +687,26 @@ Word16 masa_sq_fx( ); void ivas_compute_spar_params_fx( Word32 * pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 q_cov_real, Word32 dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], const int16_t i_ts, float ***mixer_mat, const int16_t start_band, const int16_t end_band, const int16_t dtx_vad, const int16_t num_ch, const int16_t bands_bw, const int16_t active_w, const int16_t active_w_vlbr, Word16 *q_dm_fv_re, const Word16 i_ts, Word32 ***mixer_mat_fx, Word16 *q_mixer_mat, const Word16 start_band, const Word16 end_band, const Word16 dtx_vad, const Word16 num_ch, const Word16 bands_bw, const Word16 active_w, const Word16 active_w_vlbr, ivas_spar_md_com_cfg *hSparCfg, ivas_spar_md_t *hSparMd, float *pWscale, const int16_t from_dirac, const int16_t dyn_active_w_flag Word32 *pWscale_fx, Word16 *q_pWscale, const Word16 from_dirac, const Word16 dyn_active_w_flag ); ivas_error ivas_ism_metadata_dec_fx( Loading Loading @@ -1416,6 +1420,14 @@ void ivas_sba_dirac_stereo_dec_fx( const Word16 mcmasa /* i : McMASA flag */ ); ivas_error ivas_osba_render_sf_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const UWord16 nSamplesAsked, /* i : number of CLDFB slots requested */ UWord16 *nSamplesRendered, /* o : number of CLDFB slots rendered */ UWord16 *nSamplesAvailableNext, /* o : number of CLDFB slots still to render */ Word32 *p_output[] /* o : rendered time signal */ ); void ivas_hq_core_dec_fx( Decoder_State *st_fx, /* i/o: decoder state structure fx */ Word16 synth[], /* o : output synthesis */ Loading Loading @@ -1943,6 +1955,13 @@ ivas_error ivas_spar_dec_fx( Word16 *nb_bits_read /* o : number of MD bits read */ ); void ivas_spar_md_dec_process_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling */ const Word16 num_bands_out, /* i : number of output bands */ const Word16 sba_order /* i : Ambisonic (SBA) order */ ); ivas_error TDREND_Update_object_positions_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD Renderer handle */ const Word16 num_src, /* i : number of sources to render */ Loading Loading @@ -2058,4 +2077,24 @@ void td_bwe_dec_init_ivas_fx( TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ const Word32 output_Fs /* i : output sampling rate */ ); ivas_error ivas_sba_dec_reconfigure_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ uint16_t *nSamplesFlushed, /* o : number of samples flushed */ int16_t *data /* o : output synthesis signal */ ); ivas_error ivas_spar_md_dec_matrix_open_fx( ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t num_channels, /* i : number of internal channels */ const int16_t num_md_sub_frames /* i : number of MD subframes */ ); void ivas_spar_md_dec_matrix_close_fx( ivas_spar_md_dec_state_t *hMdDecoder, /* i/o: SPAR MD decoder handle */ const int16_t num_channels /* i : number of internal channels */ ); ivas_error ivas_spar_dec_open_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ ); #endif lib_com/ivas_rom_com.c +3 −3 Original line number Diff line number Diff line Loading @@ -2784,7 +2784,7 @@ const float ivas_param_mc_quant_ild_5d1_48[PARAM_MC_SZ_ILD_QUANTIZER_4BITS] = }; #ifdef IVAS_FLOAT_FIXED //Q7 //Q8 const Word16 ivas_param_mc_quant_ild_5d1_48_fx[PARAM_MC_SZ_ILD_QUANTIZER_4BITS] = { -25600 ,-5120 ,-3328 ,-2560 ,-2048 ,-1408 ,-896 ,-384 ,0 ,384 ,896 ,1408 ,2048 ,2560 ,3328 ,5120 , Loading @@ -2798,10 +2798,10 @@ const float ivas_param_mc_quant_icc[PARAM_MC_SZ_ICC_QUANTIZER] = }; #ifdef IVAS_FLOAT_FIXED //Q14 //Q15 const Word16 ivas_param_mc_quant_icc_fx[PARAM_MC_SZ_ICC_QUANTIZER] = { -16220 ,-9650 ,0 ,6023 ,9845 ,13782 ,15352 ,16384 , -32440,-19300,0,12046,19690,27563,30703,32767 }; #endif Loading lib_com/ivas_spar_com.c +1202 −137 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
lib_com/ivas_cnst.h +4 −3 Original line number Diff line number Diff line Loading @@ -1046,14 +1046,15 @@ typedef enum /* Common SPAR metadata constants */ #define IVAS_ACTIVEW_DM_F_SCALE 0.5f #define IVAS_ACTIVEW_DM_F_SCALE_FX ONE_IN_Q30 #define IVAS_ACTIVEW_DM_F_SCALE_FX IVAS_ACTIVEW_DM_F_SCALE * ONE_IN_Q31 #define IVAS_ACTIVEW_DM_F_SCALE_DTX 0.25f #define IVAS_ACTIVEW_DM_F_SCALE_DTX_FX ONE_IN_Q29 #define IVAS_ACTIVEW_DM_F_SCALE_DTX_FX IVAS_ACTIVEW_DM_F_SCALE_DTX * ONE_IN_Q31 #define IVAS_ACTIVEW_DM_F_SCALE_VLBR 0.25f #define IVAS_ACTIVEW_DM_F_SCALE_VLBR_FX ONE_IN_Q29 #define IVAS_ACTIVEW_DM_F_SCALE_VLBR_FX IVAS_ACTIVEW_DM_F_SCALE_VLBR * ONE_IN_Q31 #define IVAS_SPAR_FOA_DFLT_FREQ_PER_CHAN 24000 #define IVAS_SPAR_DYN_ACTIVEW_THRESH (0.0039f) #define IVAS_SPAR_DYN_ACTIVEW_THRESH_FX IVAS_SPAR_DYN_ACTIVEW_THRESH * ONE_IN_Q31 #define IVAS_SPAR_SIDE_CH_DYN_ACTIVEW_THRESH (32.0f) #define MAX_QUANT_STRATS 3 Loading
lib_com/ivas_prot.h +30 −6 Original line number Diff line number Diff line Loading @@ -5453,6 +5453,23 @@ void ivas_create_fullr_dmx_mat( ivas_spar_md_com_cfg *hMdCfg ); #ifdef IVAS_FLOAT_FIXED void ivas_create_fullr_dmx_mat_fx( Word32 pred_coeffs_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], Word16 q_pred_coeffs_re, Word32 dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], Word16 q_dm_fv_re, Word32 ***mixer_mat, Word16 *q_mixer_mat, const Word16 in_chans, const Word16 start_band, const Word16 end_band, const Word16 active_w, ivas_spar_md_com_cfg *hMdCfg ); #endif // IVAS_FLOAT_FIXED void ivas_calc_c_p_coeffs( ivas_spar_md_t *pSparMd, float *pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading @@ -5467,18 +5484,18 @@ void ivas_calc_c_p_coeffs( ); #ifdef IVAS_FLOAT_FIXED void ivas_get_spar_md_from_dirac_fx( float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], float diffuseness[IVAS_MAX_NUM_BANDS], Word32 azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], Word32 ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], Word32 diffuseness[IVAS_MAX_NUM_BANDS], const int16_t n_ts, float ***mixer_mat, Word32 ***mixer_mat, ivas_spar_md_t *hSpar_md, ivas_spar_md_com_cfg *hSpar_md_cfg, const int16_t start_band, const int16_t end_band, const int16_t order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS], Word32 Wscale_d[IVAS_MAX_NUM_BANDS], const uint8_t useLowerRes, const int16_t active_w_vlbr, const int16_t dyn_active_w_flag Loading Loading @@ -5582,7 +5599,14 @@ void ivas_spar_to_dirac( const int16_t bw, /* i : band joining factor */ const int16_t dyn_active_w_flag /* i : dynamic active W flag */ ); void ivas_spar_to_dirac_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t dtx_vad, /* i : DTX frame flag */ const int16_t num_bands_out, /* i : number of output bands */ const int16_t bw, /* i : band joining factor */ const int16_t dyn_active_w_flag /* i : dynamic active W flag */ ); void ivas_spar_update_md_hist( ivas_spar_md_dec_state_t *hMdDec /* i/o: SPAR MD decoder handle */ ); Loading
lib_com/ivas_prot_fx.h +55 −16 Original line number Diff line number Diff line Loading @@ -687,22 +687,26 @@ Word16 masa_sq_fx( ); void ivas_compute_spar_params_fx( Word32 * pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 q_cov_real, Word32 dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], const int16_t i_ts, float ***mixer_mat, const int16_t start_band, const int16_t end_band, const int16_t dtx_vad, const int16_t num_ch, const int16_t bands_bw, const int16_t active_w, const int16_t active_w_vlbr, Word16 *q_dm_fv_re, const Word16 i_ts, Word32 ***mixer_mat_fx, Word16 *q_mixer_mat, const Word16 start_band, const Word16 end_band, const Word16 dtx_vad, const Word16 num_ch, const Word16 bands_bw, const Word16 active_w, const Word16 active_w_vlbr, ivas_spar_md_com_cfg *hSparCfg, ivas_spar_md_t *hSparMd, float *pWscale, const int16_t from_dirac, const int16_t dyn_active_w_flag Word32 *pWscale_fx, Word16 *q_pWscale, const Word16 from_dirac, const Word16 dyn_active_w_flag ); ivas_error ivas_ism_metadata_dec_fx( Loading Loading @@ -1416,6 +1420,14 @@ void ivas_sba_dirac_stereo_dec_fx( const Word16 mcmasa /* i : McMASA flag */ ); ivas_error ivas_osba_render_sf_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const UWord16 nSamplesAsked, /* i : number of CLDFB slots requested */ UWord16 *nSamplesRendered, /* o : number of CLDFB slots rendered */ UWord16 *nSamplesAvailableNext, /* o : number of CLDFB slots still to render */ Word32 *p_output[] /* o : rendered time signal */ ); void ivas_hq_core_dec_fx( Decoder_State *st_fx, /* i/o: decoder state structure fx */ Word16 synth[], /* o : output synthesis */ Loading Loading @@ -1943,6 +1955,13 @@ ivas_error ivas_spar_dec_fx( Word16 *nb_bits_read /* o : number of MD bits read */ ); void ivas_spar_md_dec_process_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling */ const Word16 num_bands_out, /* i : number of output bands */ const Word16 sba_order /* i : Ambisonic (SBA) order */ ); ivas_error TDREND_Update_object_positions_fx( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD Renderer handle */ const Word16 num_src, /* i : number of sources to render */ Loading Loading @@ -2058,4 +2077,24 @@ void td_bwe_dec_init_ivas_fx( TD_BWE_DEC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ const Word32 output_Fs /* i : output sampling rate */ ); ivas_error ivas_sba_dec_reconfigure_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ uint16_t *nSamplesFlushed, /* o : number of samples flushed */ int16_t *data /* o : output synthesis signal */ ); ivas_error ivas_spar_md_dec_matrix_open_fx( ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ const int16_t num_channels, /* i : number of internal channels */ const int16_t num_md_sub_frames /* i : number of MD subframes */ ); void ivas_spar_md_dec_matrix_close_fx( ivas_spar_md_dec_state_t *hMdDecoder, /* i/o: SPAR MD decoder handle */ const int16_t num_channels /* i : number of internal channels */ ); ivas_error ivas_spar_dec_open_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ ); #endif
lib_com/ivas_rom_com.c +3 −3 Original line number Diff line number Diff line Loading @@ -2784,7 +2784,7 @@ const float ivas_param_mc_quant_ild_5d1_48[PARAM_MC_SZ_ILD_QUANTIZER_4BITS] = }; #ifdef IVAS_FLOAT_FIXED //Q7 //Q8 const Word16 ivas_param_mc_quant_ild_5d1_48_fx[PARAM_MC_SZ_ILD_QUANTIZER_4BITS] = { -25600 ,-5120 ,-3328 ,-2560 ,-2048 ,-1408 ,-896 ,-384 ,0 ,384 ,896 ,1408 ,2048 ,2560 ,3328 ,5120 , Loading @@ -2798,10 +2798,10 @@ const float ivas_param_mc_quant_icc[PARAM_MC_SZ_ICC_QUANTIZER] = }; #ifdef IVAS_FLOAT_FIXED //Q14 //Q15 const Word16 ivas_param_mc_quant_icc_fx[PARAM_MC_SZ_ICC_QUANTIZER] = { -16220 ,-9650 ,0 ,6023 ,9845 ,13782 ,15352 ,16384 , -32440,-19300,0,12046,19690,27563,30703,32767 }; #endif Loading
lib_com/ivas_spar_com.c +1202 −137 File changed.Preview size limit exceeded, changes collapsed. Show changes