Loading lib_com/cnst.h +1 −0 Original line number Diff line number Diff line Loading @@ -1481,6 +1481,7 @@ enum #define LOW_RATE_HQ_CORE 1 /* Signal use of Low Rate MDCT core */ #define LOW_RATE_HQ_CORE_TRAN 2 /* Signal use of Low Rate MDCT core Tran SWB */ #define NORM_MDCT_FACTOR L_FRAME8k /* Normalize Low Rate MDCT coefficients to this frame size */ #define SQRT_NORM_MDCT_FACTOR_Q27 (1697734891) /* Normalize Low Rate MDCT coefficients to this frame size */ #define BANDS_MAX ( 4 * 8 ) #define MAX_GQLEVS 32 /* Max fine gain levels */ #define BITS_DE_CMODE 1 Loading lib_com/ivas_cnst.h +4 −1 Original line number Diff line number Diff line Loading @@ -1353,7 +1353,10 @@ enum #define MASA_JBM_RINGBUFFER_FRAMES 3 #ifdef FIX_853_DECODE_MASA_ISM_AZIMUTH_PREC #define TOLERANCE_360_Q22 1510033326 /* 360 in Q22 + 0.02 in Q22*/ #define MINUS_TOLERANCE_360_Q22 -1510033326 /* - (360 in Q22 + 0.02 in Q22) */ #endif typedef enum { MASA_STEREO_NOT_DEFINED, Loading lib_com/ivas_ism_com.c +1 −8 Original line number Diff line number Diff line Loading @@ -811,15 +811,8 @@ void ivas_ism_reset_metadata_enc( move32(); hIsmMeta->pitch_fx = 0; move32(); hIsmMeta->radius_fx = 1 << 9; hIsmMeta->radius_fx = 1 << 9; // Q9 move16(); #ifdef IVAS_FLOAT_FIXED_TO_BE_REMOVED hIsmMeta->azimuth = 0.0f; hIsmMeta->elevation = 0.0f; hIsmMeta->yaw = 0.0f; hIsmMeta->pitch = 0.0f; hIsmMeta->radius = 1.0f; #endif hIsmMeta->ism_metadata_flag = 0; move16(); hIsmMeta->non_diegetic_flag = 0; Loading lib_com/ivas_prot.h +52 −53 Original line number Diff line number Diff line Loading @@ -696,16 +696,16 @@ void decod_gen_2sbfr( #ifdef IVAS_FLOAT_FIXED void decod_gen_2sbfr_ivas_fx( Decoder_State *st, /* i/o: decoder static memory */ const Word16 sharpFlag, /* i : formant sharpening flag */ const Word16 *Aq, /* i : LP filter coefficient */ Word16 *pitch_buf, /* o : floating pitch values for each subframe */ Word16 *voice_factors, /* o : voicing factors */ Word16 *exc, /* i/o: adapt. excitation exc */ Word16 *exc2, /* i/o: adapt. excitation/total exc */ Word16 *bwe_exc, /* o : excitation for SWB TBE */ Word16 *gain_buf, /* o : floating pitch gain for each subframe */ const Word16 tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ const Word16 tdm_Pri_pitch_buf[] /* i : pitch values for primary channel */ const Word16 sharpFlag, /* i : formant sharpening flag `Q0*/ const Word16 *Aq, /* i : LP filter coefficient Q12*/ Word16 *pitch_buf, /* o : Word16 pitch values for each subframe Q6*/ Word16 *voice_factors, /* o : voicing factors Q15*/ Word16 *exc, /* i/o: adapt. excitation exc Q_exc*/ Word16 *exc2, /* i/o: adapt. excitation/total exc Q_exc*/ Word16 *bwe_exc, /* o : excitation for SWB TBE Q_exc*/ Word16 *gain_buf, /* o : Word16 pitch gain for each subframe Q14*/ const Word16 tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag Q0*/ const Word16 tdm_Pri_pitch_buf[] /* i : pitch values for primary channel Q6*/ ); #endif Loading Loading @@ -1860,9 +1860,9 @@ void stereo_dft_quantize_res_gains( ); #ifdef IVAS_FLOAT_FIXED void stereo_dft_dequantize_itd_fx( Word16 *ind, Word32 *out, const Word32 output_Fs Word16 *ind, /* Q0 */ Word32 *out, /* Q15 */ const Word32 output_Fs /* Q0 */ ); #endif // IVAS_FLOAT_FIXED Loading Loading @@ -1894,9 +1894,9 @@ void stereo_dft_enc_sid_coh( #ifdef IVAS_FLOAT_FIXED void stereo_dft_dec_sid_coh_fx( Decoder_State *st, /* i/o: decoder state structure */ const Word16 nbands, /* i : number of DFT stereo bands */ Word16 *coh, /* i/o: coherence */ Word16 *nb_bits /* i/o: number of bits read */ const Word16 nbands, /* i : number of DFT stereo bands Q0*/ Word16 *coh, /* i/o: coherence Q15*/ Word16 *nb_bits /* i/o: number of bits read Q0*/ ); #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2045,17 +2045,17 @@ void bpf_pitch_coherence( ); #ifdef IVAS_FLOAT_FIXED void stereo_dft_dec_read_BS_fx( const Word32 ivas_total_brate, /* i : IVAS total bitrate */ const Word32 element_brate, /* i : element bitrate */ Word32 *total_brate, /* o : total bitrate */ const Word32 ivas_total_brate, /* i : IVAS total bitrate Q0*/ const Word32 element_brate, /* i : element bitrate Q0*/ Word32 *total_brate, /* o : total bitrate Q0*/ Decoder_State *st, /* i/o: decoder state structure */ STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder stereo handle */ const Word16 bwidth, /* i : bandwidth */ const Word16 output_frame, /* i : output frame length */ Word32 res_buf[STEREO_DFT_N_8k], /* o : residual buffer */ Word16 *nb_bits, /* o : number of bits read */ Word16 *coh, /* i/o: Coherence */ const Word16 ivas_format /* i : ivas format */ const Word16 bwidth, /* i : bandwidth Q0*/ const Word16 output_frame, /* i : output frame length Q0*/ Word32 res_buf_fx[STEREO_DFT_N_8k], /* o : residual buffer Q0*/ Word16 *nb_bits, /* o : number of bits read Q0*/ Word16 *coh_fx, /* i/o: Coherence Q15*/ const Word16 ivas_format /* i : ivas format Q0*/ ); #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2960,14 +2960,13 @@ uint16_t get_indice_st( #ifdef IVAS_FLOAT_FIXED void tdm_low_rate_dec_fx( Decoder_State *st, /* i/o: decoder static memory */ Word16 dct_epit[], /* o : GSC excitation in DCT domain */ //Word16 *tmp_noise, /* o : long term temporary noise energy */ Word16 *pitch_buf, /* o : floating pitch values for each subframe */ Word16 *voice_factors, /* o : voicing factors */ Word16 *exc, /* i/o: adapt. excitation exc */ Word16 *exc2, /* i/o: adapt. excitation/total exc */ Word16 *bwe_exc, /* o : excitation for SWB TBE */ const Word16 *lsf_new /* i : ISFs at the end of the frame */ Word16 dct_epit[], /* o : GSC excitation in DCT domain Q_exc*/ Word16 *pitch_buf, /* o : Word16 pitch values for each subframe Q6*/ Word16 *voice_factors, /* o : voicing factors Q15*/ Word16 *exc, /* i/o: adapt. excitation exc Q_exc*/ Word16 *exc2, /* i/o: adapt. excitation/total exc Q_exc*/ Word16 *bwe_exc, /* o : excitation for SWB TBE Q_exc*/ const Word16 *lsf_new /* i : ISFs at the end of the frame Q8/100 (2.56x)*/ ); #endif Loading Loading @@ -5462,18 +5461,18 @@ Word16 matrix_product_mant_exp( #ifdef IVAS_FLOAT_FIXED void mat2svdMat_fx( const Word32 *mat, /* i : matrix as column ordered vector */ Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* o : matrix as two-dimensional arry */ const Word16 nRows, /* i : number of rows of the matrix */ const Word16 mCols, /* i : number of columns of the matrix */ const Word16 transpose /* i : flag indication transposition */ const Word32 *mat, /* i : matrix as column ordered vector Qx*/ Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* o : matrix as two-dimensional arry Qx*/ const Word16 nRows, /* i : number of rows of the matrix Q0*/ const Word16 mCols, /* i : number of columns of the matrix Q0*/ const Word16 transpose /* i : flag indication transposition Q0*/ ); void svdMat2mat_fx( Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* i : matrix as two-dimensional arry */ Word32 *mat, /* o : matrix as column ordered vector */ const Word16 nRows, /* i : number of rows of the matrix */ const Word16 mCols /* i : number of columns of the matrix */ Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* i : matrix as two-dimensional arry Qx*/ Word32 *mat, /* o : matrix as column ordered vector Qx*/ const Word16 nRows, /* i : number of rows of the matrix Q0*/ const Word16 mCols /* i : number of columns of the matrix Q0*/ ); #else Loading Loading @@ -5599,14 +5598,14 @@ Word16 computeMixingMatricesResidual_fx( #ifdef IVAS_FLOAT_FIXED /*! r: error or success */ Word16 svd_fx( Word32 InputMatrix[][MAX_OUTPUT_CHANNELS], /* i : matrix to be decomposed (M) */ Word32 InputMatrix[][MAX_OUTPUT_CHANNELS], /* i : matrix to be decomposed (M) InputMatrix_e*/ Word16 InputMatrix_e, Word32 singularVectors_Left[][MAX_OUTPUT_CHANNELS], /* o : left singular vectors (U) */ Word32 singularValues[MAX_OUTPUT_CHANNELS], /* o : singular values vector (S) */ Word32 singularVectors_Right[][MAX_OUTPUT_CHANNELS], /* o : right singular vectors (V) */ Word32 singularVectors_Left_fx[][MAX_OUTPUT_CHANNELS], /* o : left singular vectors (U) Q31*/ Word32 singularValues_fx[MAX_OUTPUT_CHANNELS], /* o : singular values vector (S) singularValues_fx_e*/ Word32 singularVectors_Right_fx[][MAX_OUTPUT_CHANNELS], /* o : right singular vectors (V) Q31*/ Word16 singularValues_fx_e[MAX_OUTPUT_CHANNELS], const Word16 nChannelsL, /* i : number of rows in the matrix to be decomposed */ const Word16 nChannelsC /* i : number of columns in the matrix to be decomposed */ const Word16 nChannelsL, /* i : number of rows in the matrix to be decomposed Q0*/ const Word16 nChannelsC /* i : number of columns in the matrix to be decomposed Q0*/ ); #else /*! r: error or success */ Loading Loading @@ -6506,7 +6505,7 @@ void ivas_enc_cov_handler_process_fx( ivas_enc_cov_handler_state_t *hCovEnc, /* i/o: SPAR Covar. encoder handle */ Word32 **ppIn_FR_real, Word32 **ppIn_FR_imag, Word16 *q_ppIn_FR, Word16 q_ppIn_FR, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH], Word32 *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading lib_com/ivas_prot_fx.h +36 −0 Original line number Diff line number Diff line Loading @@ -692,6 +692,28 @@ Word16 masa_sq_fx( const Word16 cb_sz /* i : codebook size */ ); void ivas_compute_spar_params_enc_fx( Word32 *cov_real_fx[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word32 dm_fv_re_fx[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], 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, Word32 *pWscale, Word16 *q_Wscale, const Word16 from_dirac, const Word16 dyn_active_w_flag ); void ivas_compute_spar_params_fx( Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 q_cov_real, Loading Loading @@ -1998,6 +2020,20 @@ Word16 set_ACELP_flag_IVAS( const Word16 cng_type /* i : CNG type */ ); void ivas_calc_c_p_coeffs_enc_fx( ivas_spar_md_t *pSparMd, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], const Word16 i_ts, Word32 ***mixer_mat, Word16 q_mixer_mat, const Word16 num_ch, const Word16 num_dmx, const Word16 band_idx, const Word16 dtx_vad, const Word16 compute_p_flag, const Word16 dyn_active_w_flag ); void ivas_calc_c_p_coeffs_fx( ivas_spar_md_t *pSparMd, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading Loading
lib_com/cnst.h +1 −0 Original line number Diff line number Diff line Loading @@ -1481,6 +1481,7 @@ enum #define LOW_RATE_HQ_CORE 1 /* Signal use of Low Rate MDCT core */ #define LOW_RATE_HQ_CORE_TRAN 2 /* Signal use of Low Rate MDCT core Tran SWB */ #define NORM_MDCT_FACTOR L_FRAME8k /* Normalize Low Rate MDCT coefficients to this frame size */ #define SQRT_NORM_MDCT_FACTOR_Q27 (1697734891) /* Normalize Low Rate MDCT coefficients to this frame size */ #define BANDS_MAX ( 4 * 8 ) #define MAX_GQLEVS 32 /* Max fine gain levels */ #define BITS_DE_CMODE 1 Loading
lib_com/ivas_cnst.h +4 −1 Original line number Diff line number Diff line Loading @@ -1353,7 +1353,10 @@ enum #define MASA_JBM_RINGBUFFER_FRAMES 3 #ifdef FIX_853_DECODE_MASA_ISM_AZIMUTH_PREC #define TOLERANCE_360_Q22 1510033326 /* 360 in Q22 + 0.02 in Q22*/ #define MINUS_TOLERANCE_360_Q22 -1510033326 /* - (360 in Q22 + 0.02 in Q22) */ #endif typedef enum { MASA_STEREO_NOT_DEFINED, Loading
lib_com/ivas_ism_com.c +1 −8 Original line number Diff line number Diff line Loading @@ -811,15 +811,8 @@ void ivas_ism_reset_metadata_enc( move32(); hIsmMeta->pitch_fx = 0; move32(); hIsmMeta->radius_fx = 1 << 9; hIsmMeta->radius_fx = 1 << 9; // Q9 move16(); #ifdef IVAS_FLOAT_FIXED_TO_BE_REMOVED hIsmMeta->azimuth = 0.0f; hIsmMeta->elevation = 0.0f; hIsmMeta->yaw = 0.0f; hIsmMeta->pitch = 0.0f; hIsmMeta->radius = 1.0f; #endif hIsmMeta->ism_metadata_flag = 0; move16(); hIsmMeta->non_diegetic_flag = 0; Loading
lib_com/ivas_prot.h +52 −53 Original line number Diff line number Diff line Loading @@ -696,16 +696,16 @@ void decod_gen_2sbfr( #ifdef IVAS_FLOAT_FIXED void decod_gen_2sbfr_ivas_fx( Decoder_State *st, /* i/o: decoder static memory */ const Word16 sharpFlag, /* i : formant sharpening flag */ const Word16 *Aq, /* i : LP filter coefficient */ Word16 *pitch_buf, /* o : floating pitch values for each subframe */ Word16 *voice_factors, /* o : voicing factors */ Word16 *exc, /* i/o: adapt. excitation exc */ Word16 *exc2, /* i/o: adapt. excitation/total exc */ Word16 *bwe_exc, /* o : excitation for SWB TBE */ Word16 *gain_buf, /* o : floating pitch gain for each subframe */ const Word16 tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ const Word16 tdm_Pri_pitch_buf[] /* i : pitch values for primary channel */ const Word16 sharpFlag, /* i : formant sharpening flag `Q0*/ const Word16 *Aq, /* i : LP filter coefficient Q12*/ Word16 *pitch_buf, /* o : Word16 pitch values for each subframe Q6*/ Word16 *voice_factors, /* o : voicing factors Q15*/ Word16 *exc, /* i/o: adapt. excitation exc Q_exc*/ Word16 *exc2, /* i/o: adapt. excitation/total exc Q_exc*/ Word16 *bwe_exc, /* o : excitation for SWB TBE Q_exc*/ Word16 *gain_buf, /* o : Word16 pitch gain for each subframe Q14*/ const Word16 tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag Q0*/ const Word16 tdm_Pri_pitch_buf[] /* i : pitch values for primary channel Q6*/ ); #endif Loading Loading @@ -1860,9 +1860,9 @@ void stereo_dft_quantize_res_gains( ); #ifdef IVAS_FLOAT_FIXED void stereo_dft_dequantize_itd_fx( Word16 *ind, Word32 *out, const Word32 output_Fs Word16 *ind, /* Q0 */ Word32 *out, /* Q15 */ const Word32 output_Fs /* Q0 */ ); #endif // IVAS_FLOAT_FIXED Loading Loading @@ -1894,9 +1894,9 @@ void stereo_dft_enc_sid_coh( #ifdef IVAS_FLOAT_FIXED void stereo_dft_dec_sid_coh_fx( Decoder_State *st, /* i/o: decoder state structure */ const Word16 nbands, /* i : number of DFT stereo bands */ Word16 *coh, /* i/o: coherence */ Word16 *nb_bits /* i/o: number of bits read */ const Word16 nbands, /* i : number of DFT stereo bands Q0*/ Word16 *coh, /* i/o: coherence Q15*/ Word16 *nb_bits /* i/o: number of bits read Q0*/ ); #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2045,17 +2045,17 @@ void bpf_pitch_coherence( ); #ifdef IVAS_FLOAT_FIXED void stereo_dft_dec_read_BS_fx( const Word32 ivas_total_brate, /* i : IVAS total bitrate */ const Word32 element_brate, /* i : element bitrate */ Word32 *total_brate, /* o : total bitrate */ const Word32 ivas_total_brate, /* i : IVAS total bitrate Q0*/ const Word32 element_brate, /* i : element bitrate Q0*/ Word32 *total_brate, /* o : total bitrate Q0*/ Decoder_State *st, /* i/o: decoder state structure */ STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder stereo handle */ const Word16 bwidth, /* i : bandwidth */ const Word16 output_frame, /* i : output frame length */ Word32 res_buf[STEREO_DFT_N_8k], /* o : residual buffer */ Word16 *nb_bits, /* o : number of bits read */ Word16 *coh, /* i/o: Coherence */ const Word16 ivas_format /* i : ivas format */ const Word16 bwidth, /* i : bandwidth Q0*/ const Word16 output_frame, /* i : output frame length Q0*/ Word32 res_buf_fx[STEREO_DFT_N_8k], /* o : residual buffer Q0*/ Word16 *nb_bits, /* o : number of bits read Q0*/ Word16 *coh_fx, /* i/o: Coherence Q15*/ const Word16 ivas_format /* i : ivas format Q0*/ ); #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2960,14 +2960,13 @@ uint16_t get_indice_st( #ifdef IVAS_FLOAT_FIXED void tdm_low_rate_dec_fx( Decoder_State *st, /* i/o: decoder static memory */ Word16 dct_epit[], /* o : GSC excitation in DCT domain */ //Word16 *tmp_noise, /* o : long term temporary noise energy */ Word16 *pitch_buf, /* o : floating pitch values for each subframe */ Word16 *voice_factors, /* o : voicing factors */ Word16 *exc, /* i/o: adapt. excitation exc */ Word16 *exc2, /* i/o: adapt. excitation/total exc */ Word16 *bwe_exc, /* o : excitation for SWB TBE */ const Word16 *lsf_new /* i : ISFs at the end of the frame */ Word16 dct_epit[], /* o : GSC excitation in DCT domain Q_exc*/ Word16 *pitch_buf, /* o : Word16 pitch values for each subframe Q6*/ Word16 *voice_factors, /* o : voicing factors Q15*/ Word16 *exc, /* i/o: adapt. excitation exc Q_exc*/ Word16 *exc2, /* i/o: adapt. excitation/total exc Q_exc*/ Word16 *bwe_exc, /* o : excitation for SWB TBE Q_exc*/ const Word16 *lsf_new /* i : ISFs at the end of the frame Q8/100 (2.56x)*/ ); #endif Loading Loading @@ -5462,18 +5461,18 @@ Word16 matrix_product_mant_exp( #ifdef IVAS_FLOAT_FIXED void mat2svdMat_fx( const Word32 *mat, /* i : matrix as column ordered vector */ Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* o : matrix as two-dimensional arry */ const Word16 nRows, /* i : number of rows of the matrix */ const Word16 mCols, /* i : number of columns of the matrix */ const Word16 transpose /* i : flag indication transposition */ const Word32 *mat, /* i : matrix as column ordered vector Qx*/ Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* o : matrix as two-dimensional arry Qx*/ const Word16 nRows, /* i : number of rows of the matrix Q0*/ const Word16 mCols, /* i : number of columns of the matrix Q0*/ const Word16 transpose /* i : flag indication transposition Q0*/ ); void svdMat2mat_fx( Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* i : matrix as two-dimensional arry */ Word32 *mat, /* o : matrix as column ordered vector */ const Word16 nRows, /* i : number of rows of the matrix */ const Word16 mCols /* i : number of columns of the matrix */ Word32 svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* i : matrix as two-dimensional arry Qx*/ Word32 *mat, /* o : matrix as column ordered vector Qx*/ const Word16 nRows, /* i : number of rows of the matrix Q0*/ const Word16 mCols /* i : number of columns of the matrix Q0*/ ); #else Loading Loading @@ -5599,14 +5598,14 @@ Word16 computeMixingMatricesResidual_fx( #ifdef IVAS_FLOAT_FIXED /*! r: error or success */ Word16 svd_fx( Word32 InputMatrix[][MAX_OUTPUT_CHANNELS], /* i : matrix to be decomposed (M) */ Word32 InputMatrix[][MAX_OUTPUT_CHANNELS], /* i : matrix to be decomposed (M) InputMatrix_e*/ Word16 InputMatrix_e, Word32 singularVectors_Left[][MAX_OUTPUT_CHANNELS], /* o : left singular vectors (U) */ Word32 singularValues[MAX_OUTPUT_CHANNELS], /* o : singular values vector (S) */ Word32 singularVectors_Right[][MAX_OUTPUT_CHANNELS], /* o : right singular vectors (V) */ Word32 singularVectors_Left_fx[][MAX_OUTPUT_CHANNELS], /* o : left singular vectors (U) Q31*/ Word32 singularValues_fx[MAX_OUTPUT_CHANNELS], /* o : singular values vector (S) singularValues_fx_e*/ Word32 singularVectors_Right_fx[][MAX_OUTPUT_CHANNELS], /* o : right singular vectors (V) Q31*/ Word16 singularValues_fx_e[MAX_OUTPUT_CHANNELS], const Word16 nChannelsL, /* i : number of rows in the matrix to be decomposed */ const Word16 nChannelsC /* i : number of columns in the matrix to be decomposed */ const Word16 nChannelsL, /* i : number of rows in the matrix to be decomposed Q0*/ const Word16 nChannelsC /* i : number of columns in the matrix to be decomposed Q0*/ ); #else /*! r: error or success */ Loading Loading @@ -6506,7 +6505,7 @@ void ivas_enc_cov_handler_process_fx( ivas_enc_cov_handler_state_t *hCovEnc, /* i/o: SPAR Covar. encoder handle */ Word32 **ppIn_FR_real, Word32 **ppIn_FR_imag, Word16 *q_ppIn_FR, Word16 q_ppIn_FR, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH], Word32 *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading
lib_com/ivas_prot_fx.h +36 −0 Original line number Diff line number Diff line Loading @@ -692,6 +692,28 @@ Word16 masa_sq_fx( const Word16 cb_sz /* i : codebook size */ ); void ivas_compute_spar_params_enc_fx( Word32 *cov_real_fx[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word32 dm_fv_re_fx[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], 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, Word32 *pWscale, Word16 *q_Wscale, const Word16 from_dirac, const Word16 dyn_active_w_flag ); void ivas_compute_spar_params_fx( Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 q_cov_real, Loading Loading @@ -1998,6 +2020,20 @@ Word16 set_ACELP_flag_IVAS( const Word16 cng_type /* i : CNG type */ ); void ivas_calc_c_p_coeffs_enc_fx( ivas_spar_md_t *pSparMd, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Word16 *q_cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], const Word16 i_ts, Word32 ***mixer_mat, Word16 q_mixer_mat, const Word16 num_ch, const Word16 num_dmx, const Word16 band_idx, const Word16 dtx_vad, const Word16 compute_p_flag, const Word16 dyn_active_w_flag ); void ivas_calc_c_p_coeffs_fx( ivas_spar_md_t *pSparMd, Word32 *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], Loading