summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Faiz <mfcc64@gmail.com>2017-01-30 05:41:49 +0700
committerMuhammad Faiz <mfcc64@gmail.com>2017-01-30 05:41:49 +0700
commitc4a3526b57dc09e61a2ac58fdcd92a10f344b2c2 (patch)
tree9ac7774974bb3776076835aa3e547bd2320e8007
parent2ae82788324481dd56bb85f9d815902854c044fd (diff)
avfilter/showcqt: make minimum timeclamp option lower
high basefreq does not require high timeclamp Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
-rw-r--r--doc/filters.texi2
-rw-r--r--libavfilter/avf_showcqt.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/doc/filters.texi b/doc/filters.texi
index cd1aaabc1e..21a5bf5d5f 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -17029,7 +17029,7 @@ Specify the transform timeclamp. At low frequency, there is trade-off between
accuracy in time domain and frequency domain. If timeclamp is lower,
event in time domain is represented more accurately (such as fast bass drum),
otherwise event in frequency domain is represented more accurately
-(such as bass guitar). Acceptable range is @code{[0.1, 1]}. Default value is @code{0.17}.
+(such as bass guitar). Acceptable range is @code{[0.002, 1]}. Default value is @code{0.17}.
@item basefreq
Specify the transform base frequency. Default value is @code{20.01523126408007475},
diff --git a/libavfilter/avf_showcqt.c b/libavfilter/avf_showcqt.c
index a25176dff7..ede56f4b1c 100644
--- a/libavfilter/avf_showcqt.c
+++ b/libavfilter/avf_showcqt.c
@@ -76,8 +76,8 @@ static const AVOption showcqt_options[] = {
{ "bar_g", "set bargraph gamma", OFFSET(bar_g), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 1.0, 7.0, FLAGS },
{ "gamma2", "set bargraph gamma", OFFSET(bar_g), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 1.0, 7.0, FLAGS },
{ "bar_t", "set bar transparency", OFFSET(bar_t), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.0, 1.0, FLAGS },
- { "timeclamp", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.1, 1.0, FLAGS },
- { "tc", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.1, 1.0, FLAGS },
+ { "timeclamp", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.002, 1.0, FLAGS },
+ { "tc", "set timeclamp", OFFSET(timeclamp), AV_OPT_TYPE_DOUBLE, { .dbl = 0.17 }, 0.002, 1.0, FLAGS },
{ "basefreq", "set base frequency", OFFSET(basefreq), AV_OPT_TYPE_DOUBLE, { .dbl = BASEFREQ }, 10.0, 100000.0, FLAGS },
{ "endfreq", "set end frequency", OFFSET(endfreq), AV_OPT_TYPE_DOUBLE, { .dbl = ENDFREQ }, 10.0, 100000.0, FLAGS },
{ "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)
if ((ret = init_volume(s)) < 0)
return ret;
- s->fft_bits = ceil(log2(inlink->sample_rate * s->timeclamp));
+ s->fft_bits = FFMAX(ceil(log2(inlink->sample_rate * s->timeclamp)), 4);
s->fft_len = 1 << s->fft_bits;
av_log(ctx, AV_LOG_INFO, "fft_len = %d, cqt_len = %d.\n", s->fft_len, s->cqt_len);