*/
#include "libavutil/channel_layout.h"
+#include "libavutil/ffmath.h"
#include "libavutil/opt.h"
#include "avfilter.h"
#include "audio.h"
{
AVFilterContext *ctx = inlink->dst;
CrossfeedContext *s = ctx->priv;
- double A = exp(s->strength * -30 / 40 * log(10.));
+ double A = ff_exp10(s->strength * -30 / 40);
double w0 = 2 * M_PI * (1. - s->range) * 2100 / inlink->sample_rate;
double alpha;
s->o2 = s->o1;
s->o1 = oside;
- dst[0] = (mid + oside) * level_out;
- dst[1] = (mid - oside) * level_out;
+ if (ctx->is_disabled) {
+ dst[0] = src[0];
+ dst[1] = src[1];
+ } else {
+ dst[0] = (mid + oside) * level_out;
+ dst[1] = (mid - oside) * level_out;
+ }
}
if (out != in)
.priv_class = &crossfeed_class,
.inputs = inputs,
.outputs = outputs,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
};