summaryrefslogtreecommitdiff
path: root/pngwrite.c
diff options
context:
space:
mode:
authorRichard Townsend <Richard.Townsend@arm.com>2018-01-25 19:03:04 +0000
committerCosmin Truta <ctruta@gmail.com>2018-09-04 00:04:58 -0400
commit7734cda20cf1236aef60f3bbd2267c97bbb40869 (patch)
tree46bd39573775cfbec419527dcd3573e0bbfcf0e1 /pngwrite.c
parent2fc5ddff180f20ab8f7c689dc7a9562521c2f427 (diff)
downloadlibpng-7734cda20cf1236aef60f3bbd2267c97bbb40869.tar.gz
Optimize png_do_expand_palette for ARM
ARM-specific optimization processes 8 or 4 pixels at once. Improves performance by around 10-22% on a recent ARM Chromebook.
Diffstat (limited to 'pngwrite.c')
-rw-r--r--pngwrite.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pngwrite.c b/pngwrite.c
index 98bce0e35..160c877d3 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -948,6 +948,10 @@ png_write_destroy(png_structrp png_ptr)
png_free_buffer_list(png_ptr, &png_ptr->zbuffer_list);
png_free(png_ptr, png_ptr->row_buf);
png_ptr->row_buf = NULL;
+#ifdef PNG_READ_EXPANDED_SUPPORTED
+ png_free(png_ptr, png_ptr->riffled_palette);
+ png_ptr->riffled_palette = NULL;
+#endif
#ifdef PNG_WRITE_FILTER_SUPPORTED
png_free(png_ptr, png_ptr->prev_row);
png_free(png_ptr, png_ptr->try_row);