summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrcombs <rcombs@rcombs.me>2021-01-02 13:14:36 -0600
committerOleg Oshmyan <chortos@inbox.lv>2021-02-13 15:34:04 +0200
commit706f23d84180d36538c467e20b461677781cab16 (patch)
tree224864d1fd5af8023c1d1760be3003daa7450ebe
parent89ff73c907e0dcc0e3deb88a073fa50c50d4da2d (diff)
downloadlibass-706f23d84180d36538c467e20b461677781cab16.tar.bz2
libass-706f23d84180d36538c467e20b461677781cab16.tar.xz
ass_render: fix aliasing when 1a=0 but 3a>0
-rw-r--r--libass/ass_render.c3
-rw-r--r--libass/ass_render.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 64fdf58..56ed2f3 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -2012,6 +2012,7 @@ static bool parse_events(ASS_Renderer *render_priv, ASS_Event *event)
info->frz = render_priv->state.frz;
info->fax = render_priv->state.fax;
info->fay = render_priv->state.fay;
+ info->fade = render_priv->state.fade;
info->hspacing_scaled = double_to_d6(info->hspacing *
render_priv->font_scale * info->scale_x);
@@ -2325,7 +2326,7 @@ static void render_and_combine_glyphs(ASS_Renderer *render_priv,
if ((flags & FILTER_NONZERO_BORDER &&
info->a_pre_fade[0] == 0 &&
info->a_pre_fade[1] == 0 &&
- _a(info->c[2]) == 0) ||
+ info->fade == 0) ||
info->border_style == 3)
flags |= FILTER_FILL_IN_BORDER;
diff --git a/libass/ass_render.h b/libass/ass_render.h
index 803b577..43a7185 100644
--- a/libass/ass_render.h
+++ b/libass/ass_render.h
@@ -168,6 +168,7 @@ typedef struct glyph_info {
unsigned italic;
unsigned bold;
int flags;
+ int fade;
int shape_run_id;