high basefreq does not require high timeclamp
Unified · Split
| @@ -17029,7 +17029,7 @@ Specify the transform timeclamp. At low frequency, there is trade-off between · 17028 unmodified lines | ||
| 17029 | 17029 | accuracy in time domain and frequency domain. If timeclamp is lower, |
| 17030 | 17030 | event in time domain is represented more accurately (such as fast bass drum), |
| 17031 | 17031 | otherwise event in frequency domain is represented more accurately |
| 17032 | −(such as bass guitar). Acceptable range is @code{[0.1, 1]}. Default value is @code{0.17}. | |
| 17032 | +(such as bass guitar). Acceptable range is @code{[0.002, 1]}. Default value is @code{0.17}. | |
| 17033 | 17033 | |
| 17034 | 17034 | @item basefreq |
| 17035 | 17035 | Specify the transform base frequency. Default value is @code{20.01523126408007475}, |
| @@ -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 | |