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 <jeffery.to@gmail.com>
(cherry picked from commit
dec17eb36c69435f97c6f5635dc57a76386db818)
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
--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
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/
--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))
--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)
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
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