constWord16num_inputs,/* i : number of input channels */
constWord16num_outputs,/* i : number of output channels */
constWord32*Cx,/* i : input channel covariance matrix */
Word16Cx_e,
constWord32*Cy,/* i : target covariance matrix */
Word16Cy_e,
constWord32*Q,/* i : prototype matrix (usually a upmix matrix) */
Word16Q_fx_e,
constWord16energy_compensation_flag,/* i : flag indicating that the energy compensation should be performed (i.e. no residual mixing matrix will follow) */
constWord32reg_Sx_fx,/* i : regularization factor for the input channel singular values */
Word16reg_Sx_e,
constWord32reg_ghat_fx,/* i : regularization factor for the normalization matrix */
Word16reg_ghat_e,
Word32*mixing_matrix_fx,/* o : resulting mixing matrix */
Word16*mixing_matrix_out_e,
Word32*Cr_fx,/* o : residual covariance matrix */
Word16*Cr_e
);
#endif
int16_tcomputeMixingMatricesResidual(
constint16_tnum_outputs,/* i : number of output channels */
constfloat*Cx,/* i : vector containing the diagonal diffuse prototype covariance */