summaryrefslogtreecommitdiffstats
path: root/libass/ass_bitmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_bitmap.c')
-rw-r--r--libass/ass_bitmap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c
index f18bc7f..b97d87d 100644
--- a/libass/ass_bitmap.c
+++ b/libass/ass_bitmap.c
@@ -73,8 +73,9 @@ void ass_synth_blur(const BitmapEngine *engine, Bitmap *bm,
return;
// Apply box blur (multiple passes, if requested)
+ unsigned align = 1 << engine->align_order;
size_t size = sizeof(uint16_t) * bm->stride * 2;
- uint16_t *tmp = ass_aligned_alloc(32, size, false);
+ uint16_t *tmp = ass_aligned_alloc(align, size, false);
if (!tmp)
return;
@@ -101,9 +102,9 @@ bool alloc_bitmap(const BitmapEngine *engine, Bitmap *bm,
unsigned align = 1 << engine->align_order;
size_t s = ass_align(align, w);
// Too often we use ints as offset for bitmaps => use INT_MAX.
- if (s > (INT_MAX - 32) / FFMAX(h, 1))
+ if (s > (INT_MAX - align) / FFMAX(h, 1))
return false;
- uint8_t *buf = ass_aligned_alloc(align, s * h + 32, zero);
+ uint8_t *buf = ass_aligned_alloc(align, s * h + align, zero);
if (!buf)
return false;
bm->w = w;