summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2010-06-27 12:25:46 +0200
committerGrigori Goronzy <greg@blackbox>2010-06-27 12:45:41 +0200
commitcda83a0a6c9c0418e909ac0f27d735845dde85b3 (patch)
tree0c95cd404fddfba6ac58d7462dbc40de0f9f5945
parent0017fffe84a10a6ed6f7dcdaa1b81ae3bc3a2eb1 (diff)
downloadlibass-cda83a0a6c9c0418e909ac0f27d735845dde85b3.tar.bz2
libass-cda83a0a6c9c0418e909ac0f27d735845dde85b3.tar.xz
Simple optimizations to memory handling
-rw-r--r--libass/ass_bitmap.c5
-rw-r--r--libass/ass_render.c6
2 files changed, 4 insertions, 7 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c
index c7c039d..93f2aa8 100644
--- a/libass/ass_bitmap.c
+++ b/libass/ass_bitmap.c
@@ -139,8 +139,8 @@ void ass_synth_done(ASS_SynthPriv *priv)
static Bitmap *alloc_bitmap(int w, int h)
{
Bitmap *bm;
- bm = calloc(1, sizeof(Bitmap));
- bm->buffer = malloc(w * h);
+ bm = malloc(sizeof(Bitmap));
+ bm->buffer = calloc(w, h);
bm->w = w;
bm->h = h;
bm->left = bm->top = 0;
@@ -213,7 +213,6 @@ static Bitmap *glyph_to_bitmap_internal(ASS_Library *library,
w = bit->width;
h = bit->rows;
bm = alloc_bitmap(w + 2 * bord, h + 2 * bord);
- memset(bm->buffer, 0, bm->w * bm->h);
bm->left = bg->left - bord;
bm->top = -bg->top - bord;
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 6596e88..4e269d4 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -198,7 +198,7 @@ static ASS_Image *my_draw_bitmap(unsigned char *bitmap, int bitmap_w,
int bitmap_h, int stride, int dst_x,
int dst_y, uint32_t color)
{
- ASS_Image *img = calloc(1, sizeof(ASS_Image));
+ ASS_Image *img = malloc(sizeof(ASS_Image));
img->w = bitmap_w;
img->h = bitmap_h;
@@ -466,7 +466,6 @@ render_overlap(ASS_Renderer *render_priv, ASS_Image **last_tail,
cur_top = top - by;
// Query cache
- memset(&hk, 0, sizeof(hk));
hk.a = (*last_tail)->bitmap;
hk.b = (*tail)->bitmap;
hk.aw = aw;
@@ -1093,8 +1092,7 @@ get_outline_glyph(ASS_Renderer *render_priv, int symbol, GlyphInfo *info,
memset(&v, 0, sizeof(v));
v.glyph = info->glyph;
- if (info->outline_glyph)
- v.outline_glyph = info->outline_glyph;
+ v.outline_glyph = info->outline_glyph;
v.advance = info->advance;
v.bbox_scaled = info->bbox;
if (drawing->hash) {