Lines Matching full:matrix
64 int swr_set_matrix(struct SwrContext *s, const double *matrix, int stride) in swr_set_matrix() argument
70 memset(s->matrix, 0, sizeof(s->matrix)); in swr_set_matrix()
78 s->matrix_flt[out][in] = s->matrix[out][in] = matrix[in]; in swr_set_matrix()
79 matrix += stride; in swr_set_matrix()
126 double matrix[NUM_NAMED_CHANNELS][NUM_NAMED_CHANNELS]={{0}}; in swr_build_matrix() local
166 for(i=0; i<FF_ARRAY_ELEMS(matrix); i++){ in swr_build_matrix()
168 matrix[i][i]= 1.0; in swr_build_matrix()
180 matrix[ FRONT_LEFT][FRONT_CENTER]+= center_mix_level; in swr_build_matrix()
181 matrix[FRONT_RIGHT][FRONT_CENTER]+= center_mix_level; in swr_build_matrix()
183 matrix[ FRONT_LEFT][FRONT_CENTER]+= M_SQRT1_2; in swr_build_matrix()
184 matrix[FRONT_RIGHT][FRONT_CENTER]+= M_SQRT1_2; in swr_build_matrix()
191 matrix[FRONT_CENTER][ FRONT_LEFT]+= M_SQRT1_2; in swr_build_matrix()
192 matrix[FRONT_CENTER][FRONT_RIGHT]+= M_SQRT1_2; in swr_build_matrix()
194 matrix[FRONT_CENTER][ FRONT_CENTER] = center_mix_level*sqrt(2); in swr_build_matrix()
201 matrix[ BACK_LEFT][BACK_CENTER]+= M_SQRT1_2; in swr_build_matrix()
202 matrix[BACK_RIGHT][BACK_CENTER]+= M_SQRT1_2; in swr_build_matrix()
204 matrix[ SIDE_LEFT][BACK_CENTER]+= M_SQRT1_2; in swr_build_matrix()
205 matrix[SIDE_RIGHT][BACK_CENTER]+= M_SQRT1_2; in swr_build_matrix()
210 matrix[FRONT_LEFT ][BACK_CENTER] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
211 matrix[FRONT_RIGHT][BACK_CENTER] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
213 matrix[FRONT_LEFT ][BACK_CENTER] -= surround_mix_level; in swr_build_matrix()
214 matrix[FRONT_RIGHT][BACK_CENTER] += surround_mix_level; in swr_build_matrix()
217 matrix[ FRONT_LEFT][BACK_CENTER]+= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
218 matrix[FRONT_RIGHT][BACK_CENTER]+= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
221 matrix[ FRONT_CENTER][BACK_CENTER]+= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
227 matrix[BACK_CENTER][ BACK_LEFT]+= M_SQRT1_2; in swr_build_matrix()
228 matrix[BACK_CENTER][BACK_RIGHT]+= M_SQRT1_2; in swr_build_matrix()
231 matrix[ SIDE_LEFT][ BACK_LEFT]+= M_SQRT1_2; in swr_build_matrix()
232 matrix[SIDE_RIGHT][BACK_RIGHT]+= M_SQRT1_2; in swr_build_matrix()
234 matrix[ SIDE_LEFT][ BACK_LEFT]+= 1.0; in swr_build_matrix()
235 matrix[SIDE_RIGHT][BACK_RIGHT]+= 1.0; in swr_build_matrix()
239 matrix[FRONT_LEFT ][BACK_LEFT ] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
240 matrix[FRONT_LEFT ][BACK_RIGHT] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
241 matrix[FRONT_RIGHT][BACK_LEFT ] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
242 matrix[FRONT_RIGHT][BACK_RIGHT] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
244 matrix[FRONT_LEFT ][BACK_LEFT ] -= surround_mix_level * SQRT3_2; in swr_build_matrix()
245 matrix[FRONT_LEFT ][BACK_RIGHT] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
246 matrix[FRONT_RIGHT][BACK_LEFT ] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
247 matrix[FRONT_RIGHT][BACK_RIGHT] += surround_mix_level * SQRT3_2; in swr_build_matrix()
249 matrix[ FRONT_LEFT][ BACK_LEFT] += surround_mix_level; in swr_build_matrix()
250 matrix[FRONT_RIGHT][BACK_RIGHT] += surround_mix_level; in swr_build_matrix()
253 matrix[ FRONT_CENTER][BACK_LEFT ]+= surround_mix_level*M_SQRT1_2; in swr_build_matrix()
254 matrix[ FRONT_CENTER][BACK_RIGHT]+= surround_mix_level*M_SQRT1_2; in swr_build_matrix()
264 matrix[BACK_LEFT ][SIDE_LEFT ] += M_SQRT1_2; in swr_build_matrix()
265 matrix[BACK_RIGHT][SIDE_RIGHT] += M_SQRT1_2; in swr_build_matrix()
267 matrix[BACK_LEFT ][SIDE_LEFT ] += 1.0; in swr_build_matrix()
268 matrix[BACK_RIGHT][SIDE_RIGHT] += 1.0; in swr_build_matrix()
271 matrix[BACK_CENTER][ SIDE_LEFT]+= M_SQRT1_2; in swr_build_matrix()
272 matrix[BACK_CENTER][SIDE_RIGHT]+= M_SQRT1_2; in swr_build_matrix()
275 matrix[FRONT_LEFT ][SIDE_LEFT ] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
276 matrix[FRONT_LEFT ][SIDE_RIGHT] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
277 matrix[FRONT_RIGHT][SIDE_LEFT ] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
278 matrix[FRONT_RIGHT][SIDE_RIGHT] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
280 matrix[FRONT_LEFT ][SIDE_LEFT ] -= surround_mix_level * SQRT3_2; in swr_build_matrix()
281 matrix[FRONT_LEFT ][SIDE_RIGHT] -= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
282 matrix[FRONT_RIGHT][SIDE_LEFT ] += surround_mix_level * M_SQRT1_2; in swr_build_matrix()
283 matrix[FRONT_RIGHT][SIDE_RIGHT] += surround_mix_level * SQRT3_2; in swr_build_matrix()
285 matrix[ FRONT_LEFT][ SIDE_LEFT] += surround_mix_level; in swr_build_matrix()
286 matrix[FRONT_RIGHT][SIDE_RIGHT] += surround_mix_level; in swr_build_matrix()
289 matrix[ FRONT_CENTER][SIDE_LEFT ]+= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
290 matrix[ FRONT_CENTER][SIDE_RIGHT]+= surround_mix_level * M_SQRT1_2; in swr_build_matrix()
297 matrix[ FRONT_LEFT][ FRONT_LEFT_OF_CENTER]+= 1.0; in swr_build_matrix()
298 matrix[FRONT_RIGHT][FRONT_RIGHT_OF_CENTER]+= 1.0; in swr_build_matrix()
300 matrix[ FRONT_CENTER][ FRONT_LEFT_OF_CENTER]+= M_SQRT1_2; in swr_build_matrix()
301 matrix[ FRONT_CENTER][FRONT_RIGHT_OF_CENTER]+= M_SQRT1_2; in swr_build_matrix()
308 matrix[FRONT_CENTER][LOW_FREQUENCY] += lfe_mix_level; in swr_build_matrix()
310 matrix[FRONT_LEFT ][LOW_FREQUENCY] += lfe_mix_level * M_SQRT1_2; in swr_build_matrix()
311 matrix[FRONT_RIGHT][LOW_FREQUENCY] += lfe_mix_level * M_SQRT1_2; in swr_build_matrix()
324 if (i < FF_ARRAY_ELEMS(matrix) && j < FF_ARRAY_ELEMS(matrix[0])) in swr_build_matrix()
325 matrix_param[stride*out_i + in_i] = matrix[i][j]; in swr_build_matrix()
352 av_log(log_context, AV_LOG_DEBUG, "Matrix coefficients:\n"); in swr_build_matrix()
379 memset(s->matrix, 0, sizeof(s->matrix)); in auto_matrix()
382 maxval, s->rematrix_volume, (double*)s->matrix, in auto_matrix()
383 s->matrix[1] - s->matrix[0], s->matrix_encoding, s); in auto_matrix()
387 for (i = 0; i < FF_ARRAY_ELEMS(s->matrix[0]); i++) in auto_matrix()
388 for (j = 0; j < FF_ARRAY_ELEMS(s->matrix[0]); j++) in auto_matrix()
389 s->matrix_flt[i][j] = s->matrix[i][j]; in auto_matrix()
418 double target = s->matrix[i][j] * 32768 + rem; in swri_rematrix_init()
442 ((float*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j]; in swri_rematrix_init()
454 ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j]; in swri_rematrix_init()
472 double target = s->matrix[i][j] * 32768 + rem; in swri_rematrix_init()
487 s->matrix32[i][j]= lrintf(s->matrix[i][j] * 32768); in swri_rematrix_init()
488 if(s->matrix[i][j]) in swri_rematrix_init()
533 if(s->matrix[out_i][in_i]!=1.0){ in swri_rematrix()
569 v+= ((double*)in->ch[in_i])[i] * s->matrix[out_i][in_i]; in swri_rematrix()