1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avfilter/tremolo: fix wavetable buffer size

Signed-off-by: Kyle Swanson <k@ylo.ph>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Kyle Swanson 2015-10-28 21:29:59 -05:00 committed by Michael Niedermayer
parent e5451f25d3
commit 3b1939bb66

View File

@ -72,7 +72,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
dst += channels;
src += channels;
s->index++;
if (s->index >= inlink->sample_rate)
if (s->index >= inlink->sample_rate / s->freq)
s->index = 0;
}
@ -125,11 +125,11 @@ static int config_input(AVFilterLink *inlink)
const double offset = 1. - s->depth / 2.;
int i;
s->table = av_malloc_array(inlink->sample_rate, sizeof(*s->table));
s->table = av_malloc_array(inlink->sample_rate / s->freq, sizeof(*s->table));
if (!s->table)
return AVERROR(ENOMEM);
for (i = 0; i < inlink->sample_rate; i++) {
for (i = 0; i < inlink->sample_rate / s->freq; i++) {
double env = s->freq * i / inlink->sample_rate;
env = sin(2 * M_PI * fmod(env + 0.25, 1.0));
s->table[i] = env * (1 - fabs(offset)) + offset;