avfilter/vf_blend: clip result for divide blend mode
authorPaul B Mahol <onemda@gmail.com>
Tue, 2 Jun 2015 18:48:32 +0000 (18:48 +0000)
committerPaul B Mahol <onemda@gmail.com>
Tue, 2 Jun 2015 18:48:32 +0000 (18:48 +0000)
Pointed-out-by: Rudolf Polzer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/vf_blend.c

index 5fe7046..49711ac 100644 (file)
@@ -203,7 +203,7 @@ DEFINE_BLEND(overlay,    (A < 128) ? MULTIPLY(2, A, B) : SCREEN(2, A, B))
 DEFINE_BLEND(hardlight,  (B < 128) ? MULTIPLY(2, B, A) : SCREEN(2, B, A))
 DEFINE_BLEND(darken,     FFMIN(A, B))
 DEFINE_BLEND(lighten,    FFMAX(A, B))
-DEFINE_BLEND(divide,     ((float)A / ((float)B) * 255))
+DEFINE_BLEND(divide,     av_clip_uint8(((float)A / ((float)B) * 255)))
 DEFINE_BLEND(dodge,      DODGE(A, B))
 DEFINE_BLEND(burn,       BURN(A, B))
 DEFINE_BLEND(softlight,  (A > 127) ? B + (255 - B) * (A - 127.5) / 127.5 * (0.5 - FFABS(B - 127.5) / 255): B - B * ((127.5 - A) / 127.5) * (0.5 - FFABS(B - 127.5)/255))