summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_render.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index fa10d245db..0524e027b8 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -45,6 +45,7 @@
#define MAX_LINES 300
#define BLUR_MAX_RADIUS 50.0
#define ROUND(x) ((int) ((x) + .5))
+#define SUBPIXEL_MASK 56 // d6 bitmask for subpixel accuracy adjustment
static int last_render_id = 0;
@@ -1964,12 +1965,12 @@ static int ass_render_event(ass_event_t* event, event_images_t* event_images)
pen.y += delta.y * render_context.scale_y;
}
- shift.x = pen.x & 56;
- shift.y = pen.y & 56;
+ shift.x = pen.x & SUBPIXEL_MASK;
+ shift.y = pen.y & SUBPIXEL_MASK;
if (render_context.evt_type == EVENT_POSITIONED) {
- shift.x += double_to_d6(x2scr_pos(render_context.pos_x)) & 56;
- shift.y -= double_to_d6(y2scr_pos(render_context.pos_y)) & 56;
+ shift.x += double_to_d6(x2scr_pos(render_context.pos_x)) & SUBPIXEL_MASK;
+ shift.y -= double_to_d6(y2scr_pos(render_context.pos_y)) & SUBPIXEL_MASK;
}
ass_font_set_transform(render_context.font,