From f80ccca187d95697e8d191cfa43f27212700d272 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 17 May 2026 22:37:51 +0200 Subject: [PATCH] avfilter/vf_drawtext: always check pixel_mode == FT_PIXEL_MODE_MONO The code as written can add such glyphs in the cache so we need to check glyphs from the cache too. This should be the most robust and simple solution Signed-off-by: Michael Niedermayer (cherry picked from commit c8c4e2d2a569f536db876c68246b701680f563ab) Signed-off-by: Michael Niedermayer --- libavfilter/vf_drawtext.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index 70f2209c8e..d21e8a0dea 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -795,11 +795,11 @@ static int load_glyph(AVFilterContext *ctx, Glyph **glyph_ptr, uint32_t code, in goto error; } glyph->bglyph[idx] = (FT_BitmapGlyph)tmp_glyph; - if (glyph->bglyph[idx]->bitmap.pixel_mode == FT_PIXEL_MODE_MONO) { - av_log(ctx, AV_LOG_ERROR, "Monocromatic (1bpp) fonts are not supported.\n"); - ret = AVERROR(EINVAL); - goto error; - } + } + if (glyph->bglyph[idx]->bitmap.pixel_mode == FT_PIXEL_MODE_MONO) { + av_log(ctx, AV_LOG_ERROR, "Monocromatic (1bpp) fonts are not supported.\n"); + ret = AVERROR(EINVAL); + goto error; } if (s->borderw && !glyph->border_bglyph[idx]) { FT_Glyph tmp_glyph = glyph->border_glyph;