avfilter/vf_normalize: fix regression with white/black point calculation
authorPaul B Mahol <onemda@gmail.com>
Tue, 27 Oct 2020 18:43:54 +0000 (19:43 +0100)
committerPaul B Mahol <onemda@gmail.com>
Tue, 27 Oct 2020 18:45:51 +0000 (19:45 +0100)
libavfilter/vf_normalize.c

index e2e00b1..9675c8a 100644 (file)
@@ -448,8 +448,8 @@ static int config_input(AVFilterLink *inlink)
     for (c = 0; c < 3; c++) {
         s->min[c].history = s->history_mem + (c*2)   * s->history_len;
         s->max[c].history = s->history_mem + (c*2+1) * s->history_len;
-        s->sblackpt[c] = scale * s->blackpt[c] + (s->blackpt[c] >> (s->depth - 8));
-        s->swhitept[c] = scale * s->whitept[c] + (s->whitept[c] >> (s->depth - 8));
+        s->sblackpt[c] = scale * s->blackpt[c] + (s->blackpt[c] & (1 << (s->depth - 8)));
+        s->swhitept[c] = scale * s->whitept[c] + (s->whitept[c] & (1 << (s->depth - 8)));
     }
 
     planar = desc->flags & AV_PIX_FMT_FLAG_PLANAR;