Lines Matching refs:matrix
64 int swr_set_matrix(struct SwrContext *s, const double *matrix, int stride)
71 memset(s->matrix, 0, sizeof(s->matrix));
100 s->matrix_flt[out][in] = s->matrix[out][in] = matrix[in];
101 matrix += stride;
176 double matrix[NUM_NAMED_CHANNELS][NUM_NAMED_CHANNELS]={{0}};
232 for(i=0; i<FF_ARRAY_ELEMS(matrix); i++){
235 matrix[i][i]= 1.0;
247 matrix[ FRONT_LEFT][FRONT_CENTER]+= center_mix_level;
248 matrix[FRONT_RIGHT][FRONT_CENTER]+= center_mix_level;
250 matrix[ FRONT_LEFT][FRONT_CENTER]+= M_SQRT1_2;
251 matrix[FRONT_RIGHT][FRONT_CENTER]+= M_SQRT1_2;
258 matrix[FRONT_CENTER][ FRONT_LEFT]+= M_SQRT1_2;
259 matrix[FRONT_CENTER][FRONT_RIGHT]+= M_SQRT1_2;
261 matrix[FRONT_CENTER][ FRONT_CENTER] = center_mix_level*sqrt(2);
268 matrix[ BACK_LEFT][BACK_CENTER]+= M_SQRT1_2;
269 matrix[BACK_RIGHT][BACK_CENTER]+= M_SQRT1_2;
271 matrix[ SIDE_LEFT][BACK_CENTER]+= M_SQRT1_2;
272 matrix[SIDE_RIGHT][BACK_CENTER]+= M_SQRT1_2;
277 matrix[FRONT_LEFT ][BACK_CENTER] -= surround_mix_level * M_SQRT1_2;
278 matrix[FRONT_RIGHT][BACK_CENTER] += surround_mix_level * M_SQRT1_2;
280 matrix[FRONT_LEFT ][BACK_CENTER] -= surround_mix_level;
281 matrix[FRONT_RIGHT][BACK_CENTER] += surround_mix_level;
284 matrix[ FRONT_LEFT][BACK_CENTER]+= surround_mix_level * M_SQRT1_2;
285 matrix[FRONT_RIGHT][BACK_CENTER]+= surround_mix_level * M_SQRT1_2;
288 matrix[ FRONT_CENTER][BACK_CENTER]+= surround_mix_level * M_SQRT1_2;
294 matrix[BACK_CENTER][ BACK_LEFT]+= M_SQRT1_2;
295 matrix[BACK_CENTER][BACK_RIGHT]+= M_SQRT1_2;
298 matrix[ SIDE_LEFT][ BACK_LEFT]+= M_SQRT1_2;
299 matrix[SIDE_RIGHT][BACK_RIGHT]+= M_SQRT1_2;
301 matrix[ SIDE_LEFT][ BACK_LEFT]+= 1.0;
302 matrix[SIDE_RIGHT][BACK_RIGHT]+= 1.0;
306 matrix[FRONT_LEFT ][BACK_LEFT ] -= surround_mix_level * M_SQRT1_2;
307 matrix[FRONT_LEFT ][BACK_RIGHT] -= surround_mix_level * M_SQRT1_2;
308 matrix[FRONT_RIGHT][BACK_LEFT ] += surround_mix_level * M_SQRT1_2;
309 matrix[FRONT_RIGHT][BACK_RIGHT] += surround_mix_level * M_SQRT1_2;
311 matrix[FRONT_LEFT ][BACK_LEFT ] -= surround_mix_level * SQRT3_2;
312 matrix[FRONT_LEFT ][BACK_RIGHT] -= surround_mix_level * M_SQRT1_2;
313 matrix[FRONT_RIGHT][BACK_LEFT ] += surround_mix_level * M_SQRT1_2;
314 matrix[FRONT_RIGHT][BACK_RIGHT] += surround_mix_level * SQRT3_2;
316 matrix[ FRONT_LEFT][ BACK_LEFT] += surround_mix_level;
317 matrix[FRONT_RIGHT][BACK_RIGHT] += surround_mix_level;
320 matrix[ FRONT_CENTER][BACK_LEFT ]+= surround_mix_level*M_SQRT1_2;
321 matrix[ FRONT_CENTER][BACK_RIGHT]+= surround_mix_level*M_SQRT1_2;
331 matrix[BACK_LEFT ][SIDE_LEFT ] += M_SQRT1_2;
332 matrix[BACK_RIGHT][SIDE_RIGHT] += M_SQRT1_2;
334 matrix[BACK_LEFT ][SIDE_LEFT ] += 1.0;
335 matrix[BACK_RIGHT][SIDE_RIGHT] += 1.0;
338 matrix[BACK_CENTER][ SIDE_LEFT]+= M_SQRT1_2;
339 matrix[BACK_CENTER][SIDE_RIGHT]+= M_SQRT1_2;
342 matrix[FRONT_LEFT ][SIDE_LEFT ] -= surround_mix_level * M_SQRT1_2;
343 matrix[FRONT_LEFT ][SIDE_RIGHT] -= surround_mix_level * M_SQRT1_2;
344 matrix[FRONT_RIGHT][SIDE_LEFT ] += surround_mix_level * M_SQRT1_2;
345 matrix[FRONT_RIGHT][SIDE_RIGHT] += surround_mix_level * M_SQRT1_2;
347 matrix[FRONT_LEFT ][SIDE_LEFT ] -= surround_mix_level * SQRT3_2;
348 matrix[FRONT_LEFT ][SIDE_RIGHT] -= surround_mix_level * M_SQRT1_2;
349 matrix[FRONT_RIGHT][SIDE_LEFT ] += surround_mix_level * M_SQRT1_2;
350 matrix[FRONT_RIGHT][SIDE_RIGHT] += surround_mix_level * SQRT3_2;
352 matrix[ FRONT_LEFT][ SIDE_LEFT] += surround_mix_level;
353 matrix[FRONT_RIGHT][SIDE_RIGHT] += surround_mix_level;
356 matrix[ FRONT_CENTER][SIDE_LEFT ]+= surround_mix_level * M_SQRT1_2;
357 matrix[ FRONT_CENTER][SIDE_RIGHT]+= surround_mix_level * M_SQRT1_2;
364 matrix[ FRONT_LEFT][ FRONT_LEFT_OF_CENTER]+= 1.0;
365 matrix[FRONT_RIGHT][FRONT_RIGHT_OF_CENTER]+= 1.0;
367 matrix[ FRONT_CENTER][ FRONT_LEFT_OF_CENTER]+= M_SQRT1_2;
368 matrix[ FRONT_CENTER][FRONT_RIGHT_OF_CENTER]+= M_SQRT1_2;
375 matrix[FRONT_CENTER][LOW_FREQUENCY] += lfe_mix_level;
377 matrix[FRONT_LEFT ][LOW_FREQUENCY] += lfe_mix_level * M_SQRT1_2;
378 matrix[FRONT_RIGHT][LOW_FREQUENCY] += lfe_mix_level * M_SQRT1_2;
391 if (i < FF_ARRAY_ELEMS(matrix) && j < FF_ARRAY_ELEMS(matrix[0]))
392 matrix_param[stride*out_i + in_i] = matrix[i][j];
453 memset(s->matrix, 0, sizeof(s->matrix));
456 maxval, s->rematrix_volume, (double*)s->matrix,
457 s->matrix[1] - s->matrix[0], s->matrix_encoding, s);
461 for (i = 0; i < FF_ARRAY_ELEMS(s->matrix[0]); i++)
462 for (j = 0; j < FF_ARRAY_ELEMS(s->matrix[0]); j++)
463 s->matrix_flt[i][j] = s->matrix[i][j];
492 double target = s->matrix[i][j] * 32768 + rem;
516 ((float*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
528 ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
546 double target = s->matrix[i][j] * 32768 + rem;
561 s->matrix32[i][j]= lrintf(s->matrix[i][j] * 32768);
562 if(s->matrix[i][j])
608 if(s->matrix[out_i][in_i]!=1.0){
644 v+= ((double*)in->ch[in_i])[i] * s->matrix[out_i][in_i];