Browse Source

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>
tags/n3.0
Kyle Swanson Michael Niedermayer 10 years ago
parent
commit
3b1939bb66
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavfilter/af_tremolo.c

+ 3
- 3
libavfilter/af_tremolo.c 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;


Loading…
Cancel
Save