high basefreq does not require high timeclamp
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
... | ... |
@@ -17029,7 +17029,7 @@ Specify the transform timeclamp. At low frequency, there is trade-off between |
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[] = { |
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) |
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 |
|