This function is the one used internally by libavresample for building the
default mixing matrix. It is made public just as a utility function for
building custom matrices.
@param in_layout input channel layout
@param out_layout output channel layout
@param center_mix_level mix level for the center channel
@param surround_mix_level mix level for the surround channel(s)
@param lfe_mix_level mix level for the low-frequency effects channel
@param normalize if 1, coefficients will be normalized to prevent
overflow. if 0, coefficients will not be
normalized.
@paramout matrix mixing coefficients; matrix[i + stride * o] is
the weight of input channel i in output channel o.
@param stride distance between adjacent input channels in the
matrix array
@param matrix_encoding matrixed stereo downmix mode (e.g. dplii)
@return 0 on success, negative AVERROR code on failure
Generate a channel mixing matrix.
This function is the one used internally by libavresample for building the default mixing matrix. It is made public just as a utility function for building custom matrices.
@param in_layout input channel layout @param out_layout output channel layout @param center_mix_level mix level for the center channel @param surround_mix_level mix level for the surround channel(s) @param lfe_mix_level mix level for the low-frequency effects channel @param normalize if 1, coefficients will be normalized to prevent overflow. if 0, coefficients will not be normalized. @paramout matrix mixing coefficients; matrix[i + stride * o] is the weight of input channel i in output channel o. @param stride distance between adjacent input channels in the matrix array @param matrix_encoding matrixed stereo downmix mode (e.g. dplii) @return 0 on success, negative AVERROR code on failure