- if (s->dsp.float_to_int16_interleave == ff_float_to_int16_interleave_c) {
- for(ch = 0; ch < s->nb_channels; ch++) {
- ptr = samples + ch;
- iptr = s->frame_out[ch];
-
- for(i=0;i<n;i++) {
- *ptr = av_clip_int16(lrintf(*iptr++));
- ptr += incr;
- }
- /* prepare for next block */
- memmove(&s->frame_out[ch][0], &s->frame_out[ch][s->frame_len],
- s->frame_len * sizeof(float));
- }
- } else {
- float *output[MAX_CHANNELS];
- for (ch = 0; ch < MAX_CHANNELS; ch++)
- output[ch] = s->frame_out[ch];
- s->dsp.float_to_int16_interleave(samples, (const float **)output, n, incr);
- for(ch = 0; ch < incr; ch++) {
- /* prepare for next block */
- memmove(&s->frame_out[ch][0], &s->frame_out[ch][n], n * sizeof(float));
- }
+ for (ch = 0; ch < MAX_CHANNELS; ch++)
+ output[ch] = s->frame_out[ch];
+ s->fmt_conv.float_to_int16_interleave(samples, output, n, incr);
+ for (ch = 0; ch < incr; ch++) {
+ /* prepare for next block */
+ memmove(&s->frame_out[ch][0], &s->frame_out[ch][n], n * sizeof(float));