diff options
author | Richard Townsend <Richard.Townsend@arm.com> | 2018-01-25 19:03:04 +0000 |
---|---|---|
committer | Cosmin Truta <ctruta@gmail.com> | 2018-09-04 00:04:58 -0400 |
commit | 7734cda20cf1236aef60f3bbd2267c97bbb40869 (patch) | |
tree | 46bd39573775cfbec419527dcd3573e0bbfcf0e1 /pngpriv.h | |
parent | 2fc5ddff180f20ab8f7c689dc7a9562521c2f427 (diff) | |
download | libpng-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 'pngpriv.h')
-rw-r--r-- | pngpriv.h | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -2117,6 +2117,29 @@ PNG_INTERNAL_FUNCTION(void, png_init_filter_functions_sse2, PNG_INTERNAL_FUNCTION(png_uint_32, png_check_keyword, (png_structrp png_ptr, png_const_charp key, png_bytep new_key), PNG_EMPTY); +#if PNG_ARM_NEON_IMPLEMENTATION == 1 +PNG_INTERNAL_FUNCTION(void, + png_riffle_palette_rgba, + (png_structrp, png_row_infop), + PNG_EMPTY); +PNG_INTERNAL_FUNCTION(int, + png_do_expand_palette_neon_rgba, + (png_structrp, + png_row_infop, + png_const_bytep, + const png_bytepp, + const png_bytepp), + PNG_EMPTY); +PNG_INTERNAL_FUNCTION(int, + png_do_expand_palette_neon_rgb, + (png_structrp, + png_row_infop, + png_const_bytep, + const png_bytepp, + const png_bytepp), + PNG_EMPTY); +#endif + /* Maintainer: Put new private prototypes here ^ */ #include "pngdebug.h" |