Browse Source

avfilter/vf_neighbor: check if width is 1

Fixes #8242
tags/n4.3
Paul B Mahol 6 years ago
parent
commit
e787f8fd7e
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      libavfilter/vf_neighbor.c

+ 5
- 3
libavfilter/vf_neighbor.c View File

@@ -296,9 +296,11 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
src + (width - 2) * bpc, src + (width - 2) * bpc,
src + (width - 2) * bpc + ph * stride, src + (width - 1) * bpc + ph * stride, src + (width - 2) * bpc + ph * stride};

s->filter(dst, src, 1, threshold, coordinateslb, s->coordinates, s->max);
s->filter(dst + 1 * bpc, src + 1 * bpc, width - 2, threshold, coordinates, s->coordinates, s->max);
s->filter(dst + (width - 1) * bpc, src + (width - 1) * bpc, 1, threshold, coordinatesrb, s->coordinates, s->max);
s->filter(dst, src, 1, threshold, coordinateslb, s->coordinates, s->max);
if (width > 1) {
s->filter(dst + 1 * bpc, src + 1 * bpc, width - 2, threshold, coordinates, s->coordinates, s->max);
s->filter(dst + (width - 1) * bpc, src + (width - 1) * bpc, 1, threshold, coordinatesrb, s->coordinates, s->max);
}

src += stride;
dst += dstride;


Loading…
Cancel
Save