for (j = 0; j < nb_in; j++)
((int*)s->native_matrix)[i * nb_in + j] = lrintf(s->matrix[i][j] * 32768);
*((int*)s->native_one) = 32768;
- s->mix_1_1_f = copy_s16;
- s->mix_2_1_f = sum2_s16;
- s->mix_any_f = get_mix_any_func_s16(s);
+ s->mix_1_1_f = (mix_1_1_func_type*)copy_s16;
+ s->mix_2_1_f = (mix_2_1_func_type*)sum2_s16;
+ s->mix_any_f = (mix_any_func_type*)get_mix_any_func_s16(s);
}else if(s->midbuf.fmt == AV_SAMPLE_FMT_FLTP){
s->native_matrix = av_mallocz(nb_in * nb_out * sizeof(float));
s->native_one = av_mallocz(sizeof(float));
for (j = 0; j < nb_in; j++)
((float*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
*((float*)s->native_one) = 1.0;
- s->mix_1_1_f = copy_float;
- s->mix_2_1_f = sum2_float;
- s->mix_any_f = get_mix_any_func_float(s);
+ s->mix_1_1_f = (mix_1_1_func_type*)copy_float;
+ s->mix_2_1_f = (mix_2_1_func_type*)sum2_float;
+ s->mix_any_f = (mix_any_func_type*)get_mix_any_func_float(s);
}else if(s->midbuf.fmt == AV_SAMPLE_FMT_DBLP){
s->native_matrix = av_mallocz(nb_in * nb_out * sizeof(double));
s->native_one = av_mallocz(sizeof(double));
for (j = 0; j < nb_in; j++)
((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
*((double*)s->native_one) = 1.0;
- s->mix_1_1_f = copy_double;
- s->mix_2_1_f = sum2_double;
- s->mix_any_f = get_mix_any_func_double(s);
+ s->mix_1_1_f = (mix_1_1_func_type*)copy_double;
+ s->mix_2_1_f = (mix_2_1_func_type*)sum2_double;
+ s->mix_any_f = (mix_any_func_type*)get_mix_any_func_double(s);
}else
av_assert0(0);
//FIXME quantize for integeres
int off = 0;
if(s->mix_any_f) {
- s->mix_any_f(out->ch, in->ch, s->native_matrix, len);
+ s->mix_any_f(out->ch, (const uint8_t **)in->ch, s->native_matrix, len);
return 0;
}