lavr: mix: reduce the mixing matrix when possible
authorJustin Ruggles <justin.ruggles@gmail.com>
Fri, 28 Dec 2012 21:58:55 +0000 (16:58 -0500)
committerJustin Ruggles <justin.ruggles@gmail.com>
Tue, 8 Jan 2013 02:49:06 +0000 (21:49 -0500)
commit4164b0e8d38bc579cef777d7971c90c72a0600e7
treed7bfb47e8358ab09d599a245ab0f0168b39b34cc
parent1ccf82cfd85ce870297599c18292484004d2145f
lavr: mix: reduce the mixing matrix when possible

If the matrix results in an output channel not getting a contribution
from any input channel and the corresponding input channel does not
contribute to any outputs, we can skip the channel during mixing and
silence it after mixing.

If the matrix results in an input channel not contributing to any output
channels and it is not in the output mix, or if the input channel only
contributes fully to the same output channel, we can skip the channel
during mixing.

If the matrix results in an output channel only getting full
contribution from the corresponding input channel and that input channel
does not contribute to any other output channels, we can skip the
channel during mixing.
libavresample/audio_mix.c