Loading lib_com/ivas_tools.c +2 −17 Original line number Diff line number Diff line Loading @@ -1892,7 +1892,7 @@ Word16 matrix_diag_product_fx( { Word16 i, j; Word32 *Zp = Z; Word16 valid_data = 0; /* Processing */ IF( EQ_16(transpX, 1 )) /* We use X transpose */ { Loading @@ -1905,10 +1905,6 @@ Word16 matrix_diag_product_fx( FOR( i = 0; i < colsX; ++i ) { *( Zp ) = Mpy_32_32( X[j + i * rowsX], Y[j] ); IF( *( Zp ) ) { valid_data = 1; } Zp++; } } Loading @@ -1925,24 +1921,13 @@ Word16 matrix_diag_product_fx( FOR( i = 0; i < rowsX; ++i ) { *( Zp ) = Mpy_32_32( *( X ), Y[j] ); IF( *( Zp ) ) { valid_data = 1; } Zp++; X++; } } } IF( valid_data ) { *Z_e = add( X_e, Y_e ); } ELSE { *Z_e = 0; } return EXIT_SUCCESS; } Loading lib_dec/ivas_ism_param_dec.c +4 −9 Original line number Diff line number Diff line Loading @@ -2292,19 +2292,14 @@ void ivas_param_ism_dec_digest_tc_fx( #endif /* Compute mixing matrix */ Word16 temp_exp[CLDFB_NO_CHANNELS_MAX]; set16_fx(temp_exp, -31, CLDFB_NO_CHANNELS_MAX); ivas_param_ism_compute_mixing_matrix_fx( st_ivas->nchan_ism, hParamIsmDec, st_ivas->hISMDTX, direct_response_fx, nchan_transport, nchan_out_woLFE, cx_diag_fx, exp_cx_diag, ref_power_fx, exp_ref_power, hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx, temp_exp ); hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx = temp_exp[0]; FOR ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx = s_max(hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx, temp_exp[i]); } hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx = s_min( hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx, 16 ); FOR(i = 0; i < CLDFB_NO_CHANNELS_MAX; i++) /////////fix2float (to be removed) for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { Scale_sig32( hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx[i], PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX, sub( temp_exp[i], hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx ) ); me2f_buf( hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx[i], temp_exp[i], hParamIsmDec->hParamIsmRendering->mixing_matrix_lin[i], PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX ); } ////////////////////////////////// pop_wmops(); Loading lib_dec/ivas_jbm_dec.c +2 −0 Original line number Diff line number Diff line Loading @@ -2761,6 +2761,8 @@ ivas_error ivas_jbm_dec_render( /*i/o : st_ivas->cldfbSynDec[ch]->cldfb_state------------------------------------------------------------Q11----*/ /*--------------------------------------------------------------------------------------------------------------*/ f2me_buf( (float *) st_ivas->hParamIsmDec->hParamIsmRendering->mixing_matrix_lin, (Word32 *) st_ivas->hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx, &st_ivas->hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx, CLDFB_NO_CHANNELS_MAX * ( PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX ) ); Word16 n_slots_to_alloc = st_ivas->hDecoderConfig->Opt_tsm == 1 ? 32 : 16; Word16 n_chan_transport_t = st_ivas->nchan_transport; Word16 freq_bands = st_ivas->hSpatParamRendCom->num_freq_bands; Loading lib_dec/ivas_stat_dec.h +1 −1 Original line number Diff line number Diff line Loading @@ -712,8 +712,8 @@ typedef struct param_ism_rendering #ifndef IVAS_FLOAT_FIXED float *interpolator; float mixing_matrix_lin_old[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX]; float mixing_matrix_lin[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX]; #endif float mixing_matrix_lin[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX]; float *Cldfb_RealBuffer_tc; float *Cldfb_ImagBuffer_tc; Loading Loading
lib_com/ivas_tools.c +2 −17 Original line number Diff line number Diff line Loading @@ -1892,7 +1892,7 @@ Word16 matrix_diag_product_fx( { Word16 i, j; Word32 *Zp = Z; Word16 valid_data = 0; /* Processing */ IF( EQ_16(transpX, 1 )) /* We use X transpose */ { Loading @@ -1905,10 +1905,6 @@ Word16 matrix_diag_product_fx( FOR( i = 0; i < colsX; ++i ) { *( Zp ) = Mpy_32_32( X[j + i * rowsX], Y[j] ); IF( *( Zp ) ) { valid_data = 1; } Zp++; } } Loading @@ -1925,24 +1921,13 @@ Word16 matrix_diag_product_fx( FOR( i = 0; i < rowsX; ++i ) { *( Zp ) = Mpy_32_32( *( X ), Y[j] ); IF( *( Zp ) ) { valid_data = 1; } Zp++; X++; } } } IF( valid_data ) { *Z_e = add( X_e, Y_e ); } ELSE { *Z_e = 0; } return EXIT_SUCCESS; } Loading
lib_dec/ivas_ism_param_dec.c +4 −9 Original line number Diff line number Diff line Loading @@ -2292,19 +2292,14 @@ void ivas_param_ism_dec_digest_tc_fx( #endif /* Compute mixing matrix */ Word16 temp_exp[CLDFB_NO_CHANNELS_MAX]; set16_fx(temp_exp, -31, CLDFB_NO_CHANNELS_MAX); ivas_param_ism_compute_mixing_matrix_fx( st_ivas->nchan_ism, hParamIsmDec, st_ivas->hISMDTX, direct_response_fx, nchan_transport, nchan_out_woLFE, cx_diag_fx, exp_cx_diag, ref_power_fx, exp_ref_power, hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx, temp_exp ); hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx = temp_exp[0]; FOR ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx = s_max(hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx, temp_exp[i]); } hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx = s_min( hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx, 16 ); FOR(i = 0; i < CLDFB_NO_CHANNELS_MAX; i++) /////////fix2float (to be removed) for ( i = 0; i < CLDFB_NO_CHANNELS_MAX; i++ ) { Scale_sig32( hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx[i], PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX, sub( temp_exp[i], hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx ) ); me2f_buf( hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx[i], temp_exp[i], hParamIsmDec->hParamIsmRendering->mixing_matrix_lin[i], PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX ); } ////////////////////////////////// pop_wmops(); Loading
lib_dec/ivas_jbm_dec.c +2 −0 Original line number Diff line number Diff line Loading @@ -2761,6 +2761,8 @@ ivas_error ivas_jbm_dec_render( /*i/o : st_ivas->cldfbSynDec[ch]->cldfb_state------------------------------------------------------------Q11----*/ /*--------------------------------------------------------------------------------------------------------------*/ f2me_buf( (float *) st_ivas->hParamIsmDec->hParamIsmRendering->mixing_matrix_lin, (Word32 *) st_ivas->hParamIsmDec->hParamIsmRendering->mixing_matrix_lin_fx, &st_ivas->hParamIsmDec->hParamIsmRendering->exp_mixing_matrix_lin_fx, CLDFB_NO_CHANNELS_MAX * ( PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX ) ); Word16 n_slots_to_alloc = st_ivas->hDecoderConfig->Opt_tsm == 1 ? 32 : 16; Word16 n_chan_transport_t = st_ivas->nchan_transport; Word16 freq_bands = st_ivas->hSpatParamRendCom->num_freq_bands; Loading
lib_dec/ivas_stat_dec.h +1 −1 Original line number Diff line number Diff line Loading @@ -712,8 +712,8 @@ typedef struct param_ism_rendering #ifndef IVAS_FLOAT_FIXED float *interpolator; float mixing_matrix_lin_old[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX]; float mixing_matrix_lin[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX]; #endif float mixing_matrix_lin[CLDFB_NO_CHANNELS_MAX][PARAM_ISM_MAX_CHAN * PARAM_ISM_MAX_DMX]; float *Cldfb_RealBuffer_tc; float *Cldfb_ImagBuffer_tc; Loading