summaryrefslogtreecommitdiff
path: root/libavfilter/avf_showspectrum.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2016-08-07 20:19:34 +0200
committerPaul B Mahol <onemda@gmail.com>2016-08-07 20:21:52 +0200
commit571f33de0aa8639b4f9b863e04ee6bcfd4d78070 (patch)
treebd22d1cf64b606875828fb2aa67791d9c0b6f1ea /libavfilter/avf_showspectrum.c
parentf0adb99d068e659178c00271a46cd469dfc01a6e (diff)
avfilter/avf_showspectrum: improve dB scale description
Diffstat (limited to 'libavfilter/avf_showspectrum.c')
-rw-r--r--libavfilter/avf_showspectrum.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c
index 648901f4bb..8185faa196 100644
--- a/libavfilter/avf_showspectrum.c
+++ b/libavfilter/avf_showspectrum.c
@@ -1181,6 +1181,18 @@ static int showspectrumpic_request_frame(AVFilterLink *outlink)
memset(s->outpicref->data[1]+(s->start_y + h * (ch + 1) - y - 1) * s->outpicref->linesize[1] + s->w + s->start_x + 20, av_clip_uint8(out[1]), 10);
memset(s->outpicref->data[2]+(s->start_y + h * (ch + 1) - y - 1) * s->outpicref->linesize[2] + s->w + s->start_x + 20, av_clip_uint8(out[2]), 10);
}
+
+ for (y = 0; ch == 0 && y < h; y += h / 10) {
+ float value = 120.0 * log10(1. - y / (float)h);
+ char *text;
+
+ if (value < -120)
+ break;
+ text = av_asprintf("%.0f dB", value);
+ if (!text)
+ continue;
+ drawtext(s->outpicref, s->w + s->start_x + 35, s->start_y + y - 5, text, 0);
+ }
}
}