|
@@ -378,32 +378,35 @@ int ff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in)
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- switch (ac->func_type) {
|
|
|
- case CONV_FUNC_TYPE_FLAT: {
|
|
|
- if (!in->is_planar)
|
|
|
- len *= in->channels;
|
|
|
- if (use_generic) {
|
|
|
- for (p = 0; p < ac->planes; p++)
|
|
|
- ac->conv_flat_generic(out->data[p], in->data[p], len);
|
|
|
- } else {
|
|
|
- for (p = 0; p < ac->planes; p++)
|
|
|
- ac->conv_flat(out->data[p], in->data[p], len);
|
|
|
+ switch (ac->func_type) {
|
|
|
+ case CONV_FUNC_TYPE_FLAT: {
|
|
|
+ if (!in->is_planar)
|
|
|
+ len *= in->channels;
|
|
|
+ if (use_generic) {
|
|
|
+ for (p = 0; p < ac->planes; p++)
|
|
|
+ ac->conv_flat_generic(out->data[p], in->data[p], len);
|
|
|
+ } else {
|
|
|
+ for (p = 0; p < ac->planes; p++)
|
|
|
+ ac->conv_flat(out->data[p], in->data[p], len);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case CONV_FUNC_TYPE_INTERLEAVE:
|
|
|
+ if (use_generic)
|
|
|
+ ac->conv_interleave_generic(out->data[0], in->data, len,
|
|
|
+ ac->channels);
|
|
|
+ else
|
|
|
+ ac->conv_interleave(out->data[0], in->data, len, ac->channels);
|
|
|
+ break;
|
|
|
+ case CONV_FUNC_TYPE_DEINTERLEAVE:
|
|
|
+ if (use_generic)
|
|
|
+ ac->conv_deinterleave_generic(out->data, in->data[0], len,
|
|
|
+ ac->channels);
|
|
|
+ else
|
|
|
+ ac->conv_deinterleave(out->data, in->data[0], len,
|
|
|
+ ac->channels);
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
- }
|
|
|
- case CONV_FUNC_TYPE_INTERLEAVE:
|
|
|
- if (use_generic)
|
|
|
- ac->conv_interleave_generic(out->data[0], in->data, len, ac->channels);
|
|
|
- else
|
|
|
- ac->conv_interleave(out->data[0], in->data, len, ac->channels);
|
|
|
- break;
|
|
|
- case CONV_FUNC_TYPE_DEINTERLEAVE:
|
|
|
- if (use_generic)
|
|
|
- ac->conv_deinterleave_generic(out->data, in->data[0], len, ac->channels);
|
|
|
- else
|
|
|
- ac->conv_deinterleave(out->data, in->data[0], len, ac->channels);
|
|
|
- break;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
out->nb_samples = in->nb_samples;
|