diff options
author | Paul B Mahol <onemda@gmail.com> | 2018-06-03 12:06:35 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2018-06-03 12:06:35 +0200 |
commit | d0bf1aa3c5f7668a817ef7e315442514c9dd9f77 (patch) | |
tree | d7efbaa6819f898497c7711d1aec87aa69e8e5cd | |
parent | 5ee203076fa1b1b5da32f525f2b6df3bd5e93b09 (diff) | |
download | ffmpeg-streaming-d0bf1aa3c5f7668a817ef7e315442514c9dd9f77.zip ffmpeg-streaming-d0bf1aa3c5f7668a817ef7e315442514c9dd9f77.tar.gz |
avfilter/avf_showspectrum: improve axes drawing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r-- | libavfilter/avf_showspectrum.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 956f62f..c86cb73 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -1099,14 +1099,15 @@ static int showspectrumpic_request_frame(AVFilterLink *outlink) } if (s->orientation == VERTICAL) { int h = s->mode == SEPARATE ? s->h / s->nb_display_channels : s->h; + int hh = s->mode == SEPARATE ? -(s->h % s->nb_display_channels) + 1 : 1; for (ch = 0; ch < (s->mode == SEPARATE ? s->nb_display_channels : 1); ch++) { for (y = 0; y < h; y += 20) { - dst = s->outpicref->data[0] + (s->start_y + h * (ch + 1) - y - 1) * s->outpicref->linesize[0]; + dst = s->outpicref->data[0] + (s->start_y + h * (ch + 1) - y - hh) * s->outpicref->linesize[0]; dst[s->start_x - 2] = 200; dst[s->start_x + s->w + 1] = 200; } for (y = 0; y < h; y += 40) { - dst = s->outpicref->data[0] + (s->start_y + h * (ch + 1) - y - 1) * s->outpicref->linesize[0]; + dst = s->outpicref->data[0] + (s->start_y + h * (ch + 1) - y - hh) * s->outpicref->linesize[0]; dst[s->start_x - 3] = 200; dst[s->start_x + s->w + 2] = 200; } @@ -1135,7 +1136,7 @@ static int showspectrumpic_request_frame(AVFilterLink *outlink) if (!units) return AVERROR(ENOMEM); - drawtext(s->outpicref, s->start_x - 8 * strlen(units) - 4, h * (ch + 1) + s->start_y - y - 4, units, 0); + drawtext(s->outpicref, s->start_x - 8 * strlen(units) - 4, h * (ch + 1) + s->start_y - y - 4 - hh, units, 0); av_free(units); } } |