1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-29 22:00:58 +02:00

avfilter/avf_showspectrum: fix not rendering all channels with fscale=log:mode=separate

This commit is contained in:
Paul B Mahol 2021-07-24 17:30:58 +02:00
parent 60e2348e27
commit 94c90b3261

View File

@ -977,8 +977,8 @@ static int plot_channel_log(AVFilterContext *ctx, void *arg, int jobnr, int nb_j
a0 = get_value(ctx, ch, yy+0);
a1 = get_value(ctx, ch, FFMIN(yy+1, h-1));
for (float j = pos0; j < pos1 && y + j - pos0 < h; j++) {
float row = (s->mode == COMBINED) ? y + j - pos0 : ch * h + y + j - pos0;
float *out = &s->color_buffer[ch][3 * FFMIN(lrintf(row), h-1)];
float row = (s->mode == COMBINED) ? av_clipf(y + j - pos0, 0, h - 1) : ch * h + av_clipf(y + j - pos0, 0, h - 1);
float *out = &s->color_buffer[ch][3 * lrintf(row)];
float lerpfrac = (j - pos0) / delta;
pick_color(s, yf, uf, vf, lerpfrac * a1 + (1.f-lerpfrac) * a0, out);