From 014837c4a138ae37addeaf72f90c131fcb3ea1fc Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 1 Jun 2014 04:35:24 +0200 Subject: Remove bitmap restriding It turns out we don't need this. --- libass/ass_bitmap.c | 12 ------------ libass/ass_bitmap.h | 3 --- libass/ass_render.c | 24 ------------------------ libass/ass_render.h | 4 ---- 4 files changed, 43 deletions(-) diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index f6e2022..a2dc293 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -630,18 +630,6 @@ void sub_bitmaps_c(uint8_t *dst, intptr_t dst_stride, } } -void restride_bitmap_c(uint8_t *dst, intptr_t dst_stride, - uint8_t *src, intptr_t src_stride, - intptr_t width, intptr_t height) -{ - uint8_t* end = dst + dst_stride * height; - while (dst < end) { - memcpy(dst, src, width); - dst += dst_stride; - src += src_stride; - } -} - void mul_bitmaps_c(uint8_t *dst, intptr_t dst_stride, uint8_t *src1, intptr_t src1_stride, uint8_t *src2, intptr_t src2_stride, diff --git a/libass/ass_bitmap.h b/libass/ass_bitmap.h index 64b3466..852cb0b 100644 --- a/libass/ass_bitmap.h +++ b/libass/ass_bitmap.h @@ -80,9 +80,6 @@ void add_bitmaps_c(uint8_t *dst, intptr_t dst_stride, void sub_bitmaps_c(uint8_t *dst, intptr_t dst_stride, uint8_t *src, intptr_t src_stride, intptr_t height, intptr_t width); -void restride_bitmap_c(uint8_t *dst, intptr_t dst_stride, - uint8_t *src, intptr_t src_stride, - intptr_t width, intptr_t height); void mul_bitmaps_c(uint8_t *dst, intptr_t dst_stride, uint8_t *src1, intptr_t src1_stride, uint8_t *src2, intptr_t src2_stride, diff --git a/libass/ass_render.c b/libass/ass_render.c index 0d08dd9..85c6aec 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -90,7 +90,6 @@ ASS_Renderer *ass_renderer_init(ASS_Library *library) priv->mul_bitmaps_func = mul_bitmaps_c; priv->be_blur_func = be_blur_c; #endif - priv->restride_bitmap_func = restride_bitmap_c; #if CONFIG_RASTERIZER #if CONFIG_LARGE_TILES @@ -732,29 +731,6 @@ static ASS_Image *render_text(ASS_Renderer *render_priv, int dst_x, int dst_y) *tail = 0; blend_vector_clip(render_priv, head); - for (ASS_Image* cur = head; cur; cur = cur->next) { - unsigned w = cur->w, - h = cur->h, - s = cur->stride; - if(w + 31 < (unsigned)cur->stride){ // Larger value? Play with this. - // Allocate new buffer and add to free list - unsigned align = (w >= 32) ? 32 : ((w >= 16) ? 16 : 1); - unsigned ns = ass_align(align, w); - uint8_t* nbuffer = ass_aligned_alloc(align, ns * cur->h); - if (!nbuffer) continue; - free_list_add(render_priv, nbuffer); - - // Copy - render_priv->restride_bitmap_func(nbuffer, ns, - cur->bitmap, s, - w, h); - cur->w = w; - cur->h = h; - cur->stride = ns; - cur->bitmap = nbuffer; - } - } - return head; } diff --git a/libass/ass_render.h b/libass/ass_render.h index 355421f..2cb2210 100644 --- a/libass/ass_render.h +++ b/libass/ass_render.h @@ -316,9 +316,6 @@ typedef void (*BitmapMulFunc)(uint8_t *dst, intptr_t dst_stride, typedef void (*BEBlurFunc)(uint8_t *buf, intptr_t w, intptr_t h, intptr_t stride, uint16_t *tmp); -typedef void (*RestrideBitmapFunc)(uint8_t *dst, intptr_t dst_stride, - uint8_t *src, intptr_t src_stride, - intptr_t width, intptr_t height); struct ass_renderer { ASS_Library *library; @@ -360,7 +357,6 @@ struct ass_renderer { BitmapBlendFunc sub_bitmaps_func; BitmapMulFunc mul_bitmaps_func; BEBlurFunc be_blur_func; - RestrideBitmapFunc restride_bitmap_func; FreeList *free_head; FreeList *free_tail; -- cgit v1.2.3