Lines Matching refs:matrix

58     void   **matrix;
102 static void MIX_FUNC_NAME(fmt, cfmt)(stype **samples, ctype **matrix, \
111 sum += samples[in][i] * matrix[out][in]; \
126 static void mix_2_to_1_fltp_flt_c(float **samples, float **matrix, int len,
132 float m0 = matrix[0][0];
133 float m1 = matrix[0][1];
148 static void mix_2_to_1_s16p_flt_c(int16_t **samples, float **matrix, int len,
154 float m0 = matrix[0][0];
155 float m1 = matrix[0][1];
170 static void mix_2_to_1_s16p_q8_c(int16_t **samples, int16_t **matrix, int len,
176 int16_t m0 = matrix[0][0];
177 int16_t m1 = matrix[0][1];
192 static void mix_1_to_2_fltp_flt_c(float **samples, float **matrix, int len,
199 float m0 = matrix[0][0];
200 float m1 = matrix[1][0];
225 static void mix_6_to_2_fltp_flt_c(float **samples, float **matrix, int len,
237 float *m0 = matrix[0];
238 float *m1 = matrix[1];
259 static void mix_2_to_6_fltp_flt_c(float **samples, float **matrix, int len,
275 *dst0++ = v0 * matrix[0][0] + v1 * matrix[0][1];
276 *dst1++ = v0 * matrix[1][0] + v1 * matrix[1][1];
277 *dst2++ = v0 * matrix[2][0] + v1 * matrix[2][1];
278 *dst3++ = v0 * matrix[3][0] + v1 * matrix[3][1];
279 *dst4++ = v0 * matrix[4][0] + v1 * matrix[4][1];
280 *dst5++ = v0 * matrix[5][0] + v1 * matrix[5][1];
366 /* build matrix if the user did not already set one */
394 av_log(avr, AV_LOG_ERROR, "error setting mix matrix\n");
417 if (am->matrix) {
418 av_free(am->matrix[0]);
419 am->matrix = NULL;
465 am->mix_generic(data, am->matrix, len, am->out_matrix_channels,
468 am->mix(data, am->matrix, len, am->out_matrix_channels,
483 int ff_audio_mix_get_matrix(AudioMix *am, double *matrix, int stride)
495 av_log(am->avr, AV_LOG_ERROR, "matrix is not set\n"); \
501 matrix[o * stride + i] = 0.0; \
503 matrix[o * stride + i] = am->matrix_ ## suffix[o0][i0] * \
530 static void reduce_matrix(AudioMix *am, const double *matrix, int stride)
544 if (matrix[o * stride + i] != 0.0) {
553 if (matrix[i * stride + o] != 0.0) {
579 if ((o != i && matrix[o * stride + i] != 0.0) ||
580 (o == i && matrix[o * stride + i] != 1.0)) {
588 if (i0 != i && matrix[o * stride + i0] != 0.0) {
605 if (matrix[o * stride + i] != 0.0) {
627 if ((o != i && matrix[o * stride + i] != 0.0) ||
628 (o == i && matrix[o * stride + i] != 1.0)) {
637 if (o0 != i && matrix[o0 * stride + i] != 0.0) {
653 int ff_audio_mix_set_matrix(AudioMix *am, const double *matrix, int stride)
665 if (am->matrix) {
666 av_free(am->matrix[0]);
667 am->matrix = NULL;
673 reduce_matrix(am, matrix, stride);
691 v = matrix[o * stride + i]; \
697 am->matrix = (void **)am->matrix_## type;
726 av_log(am->avr, AV_LOG_DEBUG, "matrix size: %d x %d\n",
736 matrix[o * am->in_channels + i]);