summaryrefslogtreecommitdiff
path: root/arm/palette_neon_intrinsics.c
Commit message (Collapse)AuthorAgeFilesLines
* arm: Avoid compiler warnings in palette_neon_intrinsics.cCosmin Truta2022-09-141-3/+5
| | | | Use correct int types; wrap PNG_UNUSED around unused arguments.
* arm: Use <arm_neon.h> when compiling aarch64 intrinsics with clang-clRyan VanderMeulen2019-04-241-1/+1
| | | | | | | | | MSVC's <arm64_neon.h> header contains cl.exe intrinsics that are not recognized by clang-cl. Contributed-by: Ryan VanderMeulen <rvandermeulen@mozilla.com> Contributed-by: Mike Klein <mtklein@google.com> Signed-off-by: Cosmin Truta <ctruta@gmail.com>
* arm: Move a png_debug statement to its correct placeCosmin Truta2019-04-221-2/+2
| | | | It should be placed immediately after all variable declarations.
* arm: Rename all functions to the pattern png_*_neon; add debug tracesCosmin Truta2019-03-311-3/+9
|
* Fix a memory leak in the riffled palette optimization on ARM; refactorCosmin Truta2019-02-031-16/+10
| | | | | | | | | | | | | | | | | | | | Move deallocation of riffled_palette from png_write_destroy to png_read_destroy. The reader (not the writer) is the owner of riffled_palette. Move allocation and initialization of riffled_palette from png_do_read_transformations to png_init_palette_transformations. Allow riffled_palette inside png_struct only if the ARM Neon optimizations are enabled. Rename png_riffle_palette_rgba to png_riffle_palette_rgba8, etc., to better indicate the strict applicability of these routines. Fix an unused parameter warning in the build configurations where riffled palette optimization is not enabled. Fix indentation.
* Fix the build with MSVC ARM64Cosmin Truta2018-09-041-1/+7
|
* Restore the ANSI C compliance after adding the ARM optimizationCosmin Truta2018-09-041-29/+35
| | | | Also apply style and formatting fixes
* Optimize png_do_expand_palette for ARMRichard Townsend2018-09-041-0/+137
ARM-specific optimization processes 8 or 4 pixels at once. Improves performance by around 10-22% on a recent ARM Chromebook.