From 369ed11e3c8acc08db39fb2ed4e980a918cab61e Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 9 Aug 2016 12:22:15 +0200 Subject: [PATCH] avfilter/drawutils: Fix single plane with alpha Fixes Ticket5720 Signed-off-by: Michael Niedermayer --- libavfilter/drawutils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c index e533040204..8153fdebb7 100644 --- a/libavfilter/drawutils.c +++ b/libavfilter/drawutils.c @@ -450,6 +450,7 @@ void ff_blend_rectangle(FFDrawContext *draw, FFDrawColor *color, alpha = 0x101 * color->rgba[3] + 0x2; } nb_planes = draw->nb_planes - !!(draw->desc->flags & AV_PIX_FMT_FLAG_ALPHA); + nb_planes += !nb_planes; for (plane = 0; plane < nb_planes; plane++) { nb_comp = draw->pixelstep[plane]; p0 = pointer_at(draw, dst, dst_linesize, plane, x0, y0); @@ -627,6 +628,7 @@ void ff_blend_mask(FFDrawContext *draw, FFDrawColor *color, alpha = (0x101 * color->rgba[3] + 0x2) >> 8; } nb_planes = draw->nb_planes - !!(draw->desc->flags & AV_PIX_FMT_FLAG_ALPHA); + nb_planes += !nb_planes; for (plane = 0; plane < nb_planes; plane++) { nb_comp = draw->pixelstep[plane]; p0 = pointer_at(draw, dst, dst_linesize, plane, x0, y0);