diff options
-rw-r--r-- | libass/ass_bitmap.c | 8 | ||||
-rw-r--r-- | libass/ass_render.c | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index 16d2b35..d28d47b 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -355,7 +355,7 @@ int glyph_to_bitmap(ass_synth_priv_t *priv_blur, bitmap_t **bm_g, bitmap_t **bm_o, bitmap_t **bm_s, int be, double blur_radius, FT_Vector shadow_offset) { - int bord = be ? (be / 4 + 1) : 0; + int bord = be ? (be / 8 + 1) : 0; blur_radius *= 2; bord = (blur_radius > 0.0) ? blur_radius + 1 : bord; if (bord == 0 && (shadow_offset.x || shadow_offset.y)) @@ -377,9 +377,6 @@ int glyph_to_bitmap(ass_synth_priv_t *priv_blur, return 1; } } - if (*bm_o) - resize_tmp(priv_blur, (*bm_o)->w, (*bm_o)->h); - resize_tmp(priv_blur, (*bm_g)->w, (*bm_g)->h); if (be) { while (be--) { @@ -390,6 +387,9 @@ int glyph_to_bitmap(ass_synth_priv_t *priv_blur, } } else { if (blur_radius > 0.0) { + if (*bm_o) + resize_tmp(priv_blur, (*bm_o)->w, (*bm_o)->h); + resize_tmp(priv_blur, (*bm_g)->w, (*bm_g)->h); generate_tables(priv_blur, blur_radius); if (*bm_o) ass_gauss_blur((*bm_o)->buffer, priv_blur->tmp, diff --git a/libass/ass_render.c b/libass/ass_render.c index e2eac7b..f442b89 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -41,7 +41,7 @@ #define MAX_GLYPHS_INITIAL 1024 #define MAX_LINES_INITIAL 64 #define BLUR_MAX_RADIUS 100.0 -#define MAX_BE 100 +#define MAX_BE 127 #define SUBPIXEL_MASK 63 #define SUBPIXEL_ACCURACY 7 // d6 mask for subpixel accuracy adjustment |