high basefreq does not require high timeclamp
Showing the changes to libavfilter (1 of 2 files). Show all
Unified · Split
| @@ -76,8 +76,8 @@ static const AVOption showcqt_options[] = { · 75 unmodified lines | ||
| 76 | 76 | { "bar_g", "set bargraph gamma", OFFSET(bar_g), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 1.0, 7.0, FLAGS }, |
| 77 | 77 | { "gamma2", "set bargraph gamma", OFFSET(bar_g), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 1.0, 7.0, FLAGS }, |
| 78 | 78 | { "bar_t", "set bar transparency", OFFSET(bar_t), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.0, 1.0, FLAGS }, |
| 79 | − { "timeclamp", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.1, 1.0, FLAGS }, | |
| 80 | − { "tc", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.1, 1.0, FLAGS }, | |
| 79 | + { "timeclamp", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.002, 1.0, FLAGS }, | |
| 80 | + { "tc", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.002, 1.0, FLAGS }, | |
| 81 | 81 | { "basefreq", "set base frequency", OFFSET(basefreq), AV_OPT_TYPE_DOUBLE, { .dbl = BASEFREQ }, 10.0, 100000.0, FLAGS }, |
| 82 | 82 | { "endfreq", "set end frequency", OFFSET(endfreq), AV_OPT_TYPE_DOUBLE, { .dbl = ENDFREQ }, 10.0, 100000.0, FLAGS }, |
| 83 | 83 | { "coeffclamp", "set coeffclamp", OFFSET(coeffclamp), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.1, 10.0, FLAGS }, |
| @@ -1366,7 +1366,7 @@ static int config_output(AVFilterLink *outlink) · 1282 unmodified lines | ||
| 1366 | 1366 | if ((ret = init_volume(s)) < 0) |
| 1367 | 1367 | return ret; |
| 1368 | 1368 | |
| 1369 | − s->fft_bits = ceil(log2(inlink->sample_rate * s->timeclamp)); | |
| 1369 | + s->fft_bits = FFMAX(ceil(log2(inlink->sample_rate * s->timeclamp)), 4); | |
| 1370 | 1370 | s->fft_len = 1 << s->fft_bits; |
| 1371 | 1371 | av_log(ctx, AV_LOG_INFO, "fft_len = %d, cqt_len = %d.\n", s->fft_len, s->cqt_len); |
| 1372 | 1372 | |