treewide: Enable VFP/NEON optimizations for aarch64
authorJeffery To <redacted>
Tue, 12 May 2020 08:03:07 +0000 (16:03 +0800)
committerJeffery To <redacted>
Tue, 12 May 2020 08:03:07 +0000 (16:03 +0800)
For speexdsp, support for NEON on aarch64 was added in 1.2.0[1].

[1]: https://github.com/xiph/speexdsp/pull/8

Signed-off-by: Jeffery To <redacted>
libs/libpng/Makefile
libs/opus/Makefile
libs/speexdsp/Makefile
multimedia/ffmpeg/Makefile
sound/mpg123/Makefile

index 5e31a44b8005f4f158db51de3b18db14e188d478..d4cad1d146378fe030098d841129dabce44a892d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpng
 PKG_VERSION:=1.6.37
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/libpng
@@ -40,7 +40,8 @@ TARGET_CFLAGS += $(FPIC)
 CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
-       $(if $(findstring neon,$(CONFIG_CPU_TYPE)),--enable-hardware-optimizations=yes --enable-arm-neon=yes)
+       $(if $(findstring neon,$(CONFIG_CPU_TYPE))$(findstring aarch64,$(CONFIG_ARCH)), \
+               --enable-hardware-optimizations=yes --enable-arm-neon=yes)
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/bin
index 1c106128f3e31281a351772ea0fbe3f7e39278fc..40b13f67ef3071e96092a465d453205743d9b138 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opus
 PKG_VERSION:=1.3.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://archive.mozilla.org/pub/opus
@@ -47,7 +47,7 @@ ifeq ($(CONFIG_SOFT_FLOAT),y)
                --enable-fixed-point
 endif
 
-ifneq ($(findstring neon,$(CONFIG_CPU_TYPE)),)
+ifneq ($(findstring neon,$(CONFIG_CPU_TYPE))$(findstring aarch64,$(CONFIG_ARCH)),)
        CONFIGURE_ARGS+= \
                --enable-fixed-point
 endif
index 284a1cab3e538bd1c57c6d71ed986b75d7347b01..14a350c3493caa9ff908d14e033f45c71792aa63 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=speexdsp
 PKG_VERSION:=1.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://downloads.us.xiph.org/releases/speex/
@@ -60,7 +60,6 @@ CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
        --disable-examples \
-       $(if $(CONFIG_aarch64),--disable-neon) \
        $(if $(CONFIG_SOFT_FLOAT),--enable-fixed-point --disable-float-api)
 
 $(eval $(call BuildPackage,libspeexdsp))
index 269946991ef9cb3fabf2892585a50c70b1de6767..6e1b3770f73b7757eccf94b85369b30efbd96cb5 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
 PKG_VERSION:=4.2.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://ffmpeg.org/releases/
@@ -411,7 +411,7 @@ FFMPEG_CONFIGURE+= \
        --disable-fast-unaligned \
        --disable-runtime-cpudetect
 
-else ifneq ($(findstring arm,$(CONFIG_ARCH)),)
+else ifneq ($(findstring arm,$(CONFIG_ARCH))$(findstring aarch64,$(CONFIG_ARCH)),)
 FFMPEG_CONFIGURE+= \
        --disable-runtime-cpudetect
 # XXX: GitHub issue 3320 ppc cpu with fpu but no altivec (WNDR4700)
@@ -438,6 +438,13 @@ ifneq ($(findstring arm,$(CONFIG_ARCH)),)
        endif
 endif
 
+ifneq ($(findstring aarch64,$(CONFIG_ARCH)),)
+       FFMPEG_CONFIGURE+= \
+               --enable-lto \
+               --enable-neon \
+               --enable-vfp
+endif
+
 ifeq ($(ARCH),x86_64)
        FFMPEG_CONFIGURE+= --enable-lto
 endif
index 858ad15c9d51075c45c15662a1548aa494434120..f7c97897d3394a72c6a2121ad480584291d93695 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mpg123
 PKG_VERSION:=1.25.13
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/mpg123
@@ -70,6 +70,9 @@ ifeq ($(CONFIG_SOFT_FLOAT),y)
 else ifneq ($(findstring neon,$(CONFIG_CPU_TYPE)),)
        CONFIGURE_ARGS+= \
                --with-cpu=arm_fpu
+else ifneq ($(findstring aarch64,$(CONFIG_ARCH)),)
+       CONFIGURE_ARGS+= \
+               --with-cpu=aarch64
 else
        CONFIGURE_ARGS+= \
                --with-cpu=generic_fpu
git clone https://git.99rst.org/PROJECT