lavfi/pan: renormalize negative gain coefficients properly

The parser for the outdef will accept a negative value for the first
named channel's gain. As negative values effectively only invert the
phase of the signal, and not negate the level, the gains' absolute
values must be used to correctly accumulate the levels.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Moritz Barsnick 2016-10-09 03:49:15 +02:00 committed by Michael Niedermayer
parent 50eee357eb
commit efbc37a757

View File

@ -322,7 +322,7 @@ static int config_props(AVFilterLink *link)
continue;
t = 0;
for (j = 0; j < link->channels; j++)
t += pan->gain[i][j];
t += fabs(pan->gain[i][j]);
if (t > -1E-5 && t < 1E-5) {
// t is almost 0 but not exactly, this is probably a mistake
if (t)