From efc746428a17ed8e8f0a9d9d63d6bc21db2f30cb Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 2 Sep 2016 00:41:45 +0200 Subject: [PATCH] ffmpeg: enable assembly on targets with fpu Also no longer disable run-time CPU detection for fpu targets except arm which is built for each variant (neon, vfp). This vastly improves performance on x86 which now supports building ASM code with yasm and makes use of a broad spectrum of extensions depending on their availability at run-time. In future, such differentiation should also be introduced for MIPS to at least conditionally enable the output of MIPS32r2 instructions as well as DSPr1 and DSPr2 if the target supports that dispite them having CONFIG_SOFT_FLOAT=y set. Signed-off-by: Daniel Golle --- multimedia/ffmpeg/Makefile | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index 03fe85ad8..0f7429ed6 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ffmpeg PKG_VERSION:=2.8.7 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://ffmpeg.org/releases/ @@ -282,7 +282,7 @@ $(call Package/ffmpeg/Default) SECTION:=libs CATEGORY:=Libraries TITLE+= libraries - DEPENDS+= @BUILD_PATENTED +libpthread +zlib +libbz2 + DEPENDS+= @BUILD_PATENTED @!TARGET_x86||YASM +libpthread +zlib +libbz2 PROVIDES:= libffmpeg endef @@ -364,13 +364,21 @@ FFMPEG_CONFIGURE:= \ --enable-small \ --enable-pthreads \ --enable-zlib \ - --disable-runtime-cpudetect \ --disable-doc \ --disable-debug \ \ --enable-gpl \ --enable-version3 \ \ + --disable-dxva2 \ + --disable-lzma \ + --disable-vaapi \ + --disable-vda \ + --disable-vdpau \ + --disable-outdevs + +ifeq ($(CONFIG_SOFT_FLOAT),y) +FFMPEG_CONFIGURE += \ --disable-altivec \ --disable-amd3dnow \ --disable-amd3dnowext \ @@ -393,14 +401,13 @@ FFMPEG_CONFIGURE:= \ --disable-mipsdspr1 \ --disable-mipsdspr2 \ --disable-mipsfpu \ - \ - --disable-dxva2 \ - --disable-lzma \ - --disable-vaapi \ - --disable-vda \ - --disable-vdpau \ - --disable-outdevs + --disable-runtime-cpudetect +else ifneq ($(findstring arm,$(CONFIG_ARCH)),) +FFMPEG_CONFIGURE += \ + --disable-runtime-cpudetect + +endif #selectibly disable optimizations according to arch/cpu type ifneq ($(findstring arm,$(CONFIG_ARCH)),) @@ -413,11 +420,6 @@ ifneq ($(findstring arm,$(CONFIG_ARCH)),) --disable-neon endif -else ifneq ($(ARCH),aarch64) - FFMPEG_CONFIGURE+= \ - --disable-vfp \ - --disable-neon - endif ifeq ($(BUILD_VARIANT),full)