summaryrefslogtreecommitdiff
path: root/arm
Commit message (Collapse)AuthorAgeFilesLines
* arm: Add a compile-time assertion about PNG_ARM_NEON_CHECK_SUPPORTEDCosmin Truta2022-10-121-1/+4
| | | | | | | | | Following up on the previous commit by Martin Storsjö: If the availability of ARM Neon is not only known at compile time, but also expected by the compiler's target architecture, there should be no further need for a run-time check. In fact, such a check would be counter-productive.
* arm: Do not allow PNG_ARM_NEON_CHECK_SUPPORTED on ARM64Cosmin Truta2022-09-141-14/+14
| | | | | | | | | | ARM Neon is expected to be unconditionally available on ARM64. Issue an #error if PNG_ARM_NEON_CHECK_SUPPORTED is defined on an ARM64-based platform. For the plain ARM platforms where ARM Neon checking is not yet implemented, issue a slightly more descriptive #error, including a suggested course of action.
* arm: Avoid compiler warnings in palette_neon_intrinsics.cCosmin Truta2022-09-141-3/+5
| | | | Use correct int types; wrap PNG_UNUSED around unused arguments.
* Remove obsolete/incorrect __LLVM,__asm sectionDan Field2022-09-051-4/+0
| | | | | Contributed-by: Dan Field <dnfield@google.com> Signed-off-by: Cosmin Truta <ctruta@gmail.com>
* Add an __LLVM,__asm section for clang builds on ARMDan Field2020-05-171-0/+4
|
* arm: Use <arm_neon.h> when compiling aarch64 intrinsics with clang-clRyan VanderMeulen2019-04-242-2/+2
| | | | | | | | | 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.
* Remove the "last changed" version information from source commentsCosmin Truta2018-09-043-4/+4
|
* Fix the build with MSVC ARM64Cosmin Truta2018-09-042-3/+9
|
* 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.
* Restore the ANSI C compliance after applying the MSVC ARM64 fixCosmin Truta2018-09-031-3/+6
|
* Fix build errors with MSVC ARM64zzzzRuby2018-09-031-3/+16
| | | | (Contributed by Zhijie Liang)
* [libpng16] Imported from libpng-1.6.32.tarv1.6.32Glenn Randers-Pehrson2017-08-241-1/+1
|
* [libpng16] Bump version to 1.6.32beta01Glenn Randers-Pehrson2017-07-271-1/+1
|
* [libpng16] Imported from libpng-1.6.31.tarv1.6.31libpng-1.6.31-signedlibpng-1.6.31-master-signedGlenn Randers-Pehrson2017-07-271-1/+1
|
* [libpng16] Imported from libpng-1.6.31beta01.tarv1.6.31beta01Glenn Randers-Pehrson2017-07-051-2/+2
|
* [libpng16] Added special case for FreeBSD in arm/filter_neon.S (Maya Rashish).Glenn Randers-Pehrson2017-07-051-1/+1
|
* [libpng16] Bump version to 1.6.24beta01Glenn Randers-Pehrson2016-06-112-2/+2
|
* [libpng16] Imported from libpng-1.6.23.tarv1.6.23libpng-1.6.23-signedGlenn Randers-Pehrson2016-06-092-2/+2
|
* [libpng16] Bump version to 1.6.23beta01Glenn Randers-Pehrson2016-05-272-2/+2
|
* [libpng16] Imported from libpng-1.6.22.tarv1.6.22Glenn Randers-Pehrson2016-05-262-2/+2
|
* [libpng16] Added pngdebug() statements to the new intel code and the arm code.Glenn Randers-Pehrson2016-02-192-4/+19
|
* [libpng16] Happy New Year! Update copyright year.Glenn Randers-Pehrson2014-12-313-3/+3
|
* [libpng16] Bump version to 1.6.17beta01Glenn Randers-Pehrson2014-12-213-3/+3
|
* [libpng16] Imported from libpng-1.6.16.tarv1.6.16libpng-1.6.16-signedGlenn Randers-Pehrson2014-12-213-3/+3
|
* [libpng16] Update arm/*.c to libpng coding style.Glenn Randers-Pehrson2014-11-292-5/+7
|
* [libpng16] Added ".align 2" to arm/filter_neon.S to support old GAS assemblersGlenn Randers-Pehrson2014-11-293-9/+16
| | | | that don't do alignment correctly.
* [libpng16] Imported from libpng-1.6.13rc01.tarv1.6.13rc01Glenn Randers-Pehrson2014-08-131-1/+1
|
* [libpng16] Bump version to 1.6.13beta01Glenn Randers-Pehrson2014-06-111-1/+1
|
* [libpng16] Imported from libpng-1.6.12.tarv1.6.12libpng-1.6.12-signedGlenn Randers-Pehrson2014-06-111-1/+1
|
* [libpng16] Bump version to 1.6.12beta01Glenn Randers-Pehrson2014-06-061-1/+1
|
* [libpng16] Imported from libpng-1.6.11.tarv1.6.11libpng-1.6.11-signedGlenn Randers-Pehrson2014-06-051-1/+1
|
* [libpng16] Imported from libpng-1.6.11beta01.tarv1.6.11beta01Glenn Randers-Pehrson2014-03-171-1/+1
|
* [libpng16] Bump version to 1.6.11beta01Glenn Randers-Pehrson2014-03-061-1/+1
|
* [libpng16] Imported from libpng-1.6.10.tarv1.6.10libpng-1.6.10-signedGlenn Randers-Pehrson2014-03-061-1/+1
|
* [libpng16] Imported from libpng-1.6.10beta02.tarv1.6.10beta02Glenn Randers-Pehrson2014-02-221-2/+2
|
* [libpng16] Moved OS dependent code from arm/arm_init.c, to allow the includedJohn Bowler2014-02-161-121/+22
| | | | | | | | | implementation of the ARM NEON discovery function to be set at build-time and provide sample implementations from the current code in the contrib/arm-neon subdirectory. The __linux__ code has also been changed to compile and link on Android by using /proc/cpuinfo, and the old linux code is in contrib/arm-neon/linux-auxv.c. The new code avoids POSIX and Linux dependencies apart from opening /proc/cpuinfo and is C90 compliant.
* [libpng16] Imported from libpng-1.6.10beta01.tarv1.6.10beta01Glenn Randers-Pehrson2014-02-091-1/+1
|
* [libpng16] Update "last changed" dates in recently-patched files.Glenn Randers-Pehrson2013-12-222-2/+2
|
* [libpng16] Imported from libpng-1.6.8.tarv1.6.8libpng-1.6.8-signedGlenn Randers-Pehrson2013-12-192-2/+2
|
* [libpng16] Imported from libpng-1.6.8beta01.tarv1.6.8beta01Glenn Randers-Pehrson2013-11-232-4/+5
|
* [libpng16] Imported from libpng-1.6.7.tarv1.6.7libpng-1.6.7-signedGlenn Randers-Pehrson2013-11-142-2/+2
|
* [libpng16] Fixed #include in filter_neon_intrinsics.c and ctype macros. TheJohn Bowler2013-11-041-1/+1
| | | | ctype char checking macros take an unsigned char argument, not a signed char.
* [libpng16] Imported from libpng-1.6.7rc01.tarv1.6.7rc01Glenn Randers-Pehrson2013-11-021-1/+1
|
* [libpng16] Changed NEON implementation selection mechanism to allow assemblerJohn Bowler2013-10-252-4/+4
| | | | | | or intrinsics to be turned on during the build by defining PNG_ARM_NEON_IMPLEMENTATION to the correct value (2 or 1). The default is "undefined" and the build type is selected in pngpriv.h.
* [libpng16] Cleaned up ARM NEON compilation handling. The tests are now inJohn Bowler2013-10-182-5/+6
| | | | pngpriv.h and detect the broken GCC compilers.
* [libpng16] Fixed loop end condition in filter_neon_intrinsics.cJohn Bowler2013-10-171-7/+7
|