Lines Matching full:flows

112   if (imin > sox_globals.bufsiz / effp->flows) {  in lsx_effect_set_imin()
151 effp->flows = in sox_add_effect()
195 lsx_calloc(effp->flows, sizeof(chain->effects[chain->length][0])); in sox_add_effect()
198 for (f = 1; f < effp->flows; ++f) { in sox_add_effect()
221 * each of several channels separately (flows > 1), the layout is
227 * bufsiz/flows each, starting at offsets 0, bufsiz/flows,
228 * 2*(bufsiz/flows) etc. Within the channel buffers, the data starts
229 * at position obeg/flows and ends before oend/flows. In case bufsiz
230 * is not evenly divisible by flows, there will be an unused area at
235 static void interleave(size_t flows, size_t length, sox_sample_t *from,
237 static void deinterleave(size_t flows, size_t length, sox_sample_t *from,
248 sox_bool il_change = (effp->flows == 1) != in flow_effect()
249 (chain->length == n + 1 || chain->effects[n+1]->flows == 1); in flow_effect()
255 if (effp->flows == 1) { /* Run effect on all channels at once */ in flow_effect()
265 deinterleave(chain->effects[n+1]->flows, obeg, chain->il_buf, in flow_effect()
269 size_t flow_offs = sox_globals.bufsiz/effp->flows; in flow_effect()
287 for (f = 0; f < effp->flows; ++f) { in flow_effect()
288 size_t idonec = idone / effp->flows; in flow_effect()
289 size_t odonec = obeg / effp->flows; in flow_effect()
291 effp1->obuf + f*flow_offs + effp1->obeg/effp->flows, in flow_effect()
292 obuf + f*flow_offs + effp->oend/effp->flows, in flow_effect()
305 idone = effp->flows * idone_max; in flow_effect()
306 obeg = effp->flows * odone_max; in flow_effect()
309 interleave(effp->flows, obeg, chain->il_buf, sox_globals.bufsiz, in flow_effect()
316 size_t flow_offs = sox_globals.bufsiz/effp->flows; in flow_effect()
317 for (f = 0; f < effp->flows; ++f) in flow_effect()
319 effp1->obuf + f * flow_offs + effp1->obeg/effp->flows, in flow_effect()
320 (effp1->oend - effp1->obeg)/effp->flows * sizeof(*effp1->obuf)); in flow_effect()
331 n, effp->flows, pre_idone, pre_odone, idone, obeg, in flow_effect()
345 sox_bool il_change = (effp->flows == 1) != in drain_effect()
346 (chain->length == n + 1 || chain->effects[n+1]->flows == 1); in drain_effect()
351 if (effp->flows == 1) { /* Run effect on all channels at once */ in drain_effect()
360 deinterleave(chain->effects[n+1]->flows, obeg, chain->il_buf, in drain_effect()
364 size_t flow_offs = sox_globals.bufsiz/effp->flows; in drain_effect()
367 for (f = 0; f < effp->flows; ++f) { in drain_effect()
368 size_t odonec = obeg / effp->flows; in drain_effect()
370 obuf + f*flow_offs + effp->oend/effp->flows, in drain_effect()
382 obeg = effp->flows * odone_last; in drain_effect()
385 interleave(effp->flows, obeg, chain->il_buf, sox_globals.bufsiz, in drain_effect()
396 n, effp->flows, (size_t)0, pre_odone, (size_t)0, obeg); in drain_effect()
422 max_flows = max(max_flows, effp->flows); in sox_flow_effects()
433 if (effp->oend > effp->obeg && chain->effects[e+1]->flows > 1) { in sox_flow_effects()
435 deinterleave(chain->effects[e+1]->flows, effp->oend - effp->obeg, in sox_flow_effects()
476 if (effp->oend > effp->obeg && chain->effects[e+1]->flows > 1) { in sox_flow_effects()
478 interleave(chain->effects[e+1]->flows, effp->oend - effp->obeg, in sox_flow_effects()
492 for (f = 0; f < chain->effects[i][0].flows; ++f) in sox_effects_clips()
502 for (f = 0; f < effp->flows; ++f) { in sox_stop_effect()
553 for (f = 0; f < effp->flows; ++f) in sox_delete_effect()
616 * flows: number of samples per wide sample
625 static void interleave(size_t flows, size_t length, sox_sample_t *from, in interleave() argument
629 const size_t wide_samples = length/flows; in interleave()
630 const size_t flow_offs = bufsiz/flows; in interleave()
631 from += offset/flows; in interleave()
634 sox_sample_t *inner_to = to + i * flows; in interleave()
636 for (f = 0; f < flows; f++) { in interleave()
644 * flows: number of samples per wide sample
653 static void deinterleave(size_t flows, size_t length, sox_sample_t *from, in deinterleave() argument
656 const size_t wide_samples = length/flows; in deinterleave()
657 const size_t flow_offs = bufsiz/flows; in deinterleave()
659 to += offset/flows; in deinterleave()
660 for (f = 0; f < flows; f++) { in deinterleave()
666 inner_from += flows; in deinterleave()