From 75acb2aa20a707969eada5467db35c3f7175259c Mon Sep 17 00:00:00 2001 From: Oliver Schib Date: Sat, 9 Jan 2016 11:58:08 +0100 Subject: Adapt SSE optimisation for mplayer and ffmpeg Add support for higher order SSE and make sure only one is selected at a time. Signed-off-by: Oliver Schib --- package/ffmpeg/Makefile | 46 ++++++++++++++++++++++++++++++++++++++++--- package/mplayer/Makefile | 51 +++++++++++++++++++++++++++++++++++++----------- 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile index e7ff578f9..8466d1a93 100644 --- a/package/ffmpeg/Makefile +++ b/package/ffmpeg/Makefile @@ -106,10 +106,50 @@ CONFIGURE_CPU_OPTS:= --enable-mmx2 else CONFIGURE_CPU_OPTS:= --disable-mmx2 endif -ifeq ($(ADK_TARGET_CPU_WITH_SSE),y) -CONFIGURE_CPU_OPTS:= --enable-sse +ifeq (${ADK_TARGET_CPU_WITH_SSE4_2},y) +CONFIGURE_CPU_OPTS+= --enable-sse42 \ + --disable-sse4 \ + --disable-ssse3 \ + --disable-sse3 \ + --disable-sse2 \ + --disable-sse else -CONFIGURE_CPU_OPTS:= --disable-sse +CONFIGURE_CPU_OPTS+= --disable-sse42 +ifeq (${ADK_TARGET_CPU_WITH_SSE4_1},y) +CONFIGURE_CPU_OPTS+= --enable-sse4 \ + --disable-ssse3 \ + --disable-sse3 \ + --disable-sse2 \ + --disable-sse +else +CONFIGURE_CPU_OPTS+= --disable-sse4 +ifeq (${ADK_TARGET_CPU_WITH_SSSE3},y) +CONFIGURE_CPU_OPTS+= --enable-ssse3 \ + --disable-sse3 \ + --disable-sse2 \ + --disable-sse +else +CONFIGURE_CPU_OPTS+= --disable-ssse3 +ifeq (${ADK_TARGET_CPU_WITH_SSE3},y) +CONFIGURE_CPU_OPTS+= --enable-sse3 \ + --disable-sse2 \ + --disable-sse +else +CONFIGURE_CPU_OPTS+= --disable-sse3 +ifeq (${ADK_TARGET_CPU_WITH_SSE2},y) +CONFIGURE_CPU_OPTS+= --enable-sse2 \ + --disable-sse +else +CONFIGURE_CPU_OPTS+= --disable-sse2 +ifeq (${ADK_TARGET_CPU_WITH_SSE},y) +CONFIGURE_CPU_OPTS+= --enable-sse +else +CONFIGURE_CPU_OPTS+= --disable-sse +endif +endif +endif +endif +endif endif ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y) CONFIGURE_CPU_OPTS:= --enable-armv6 diff --git a/package/mplayer/Makefile b/package/mplayer/Makefile index 301cad9b7..8399879b0 100644 --- a/package/mplayer/Makefile +++ b/package/mplayer/Makefile @@ -71,20 +71,50 @@ CONFIGURE_CPU_OPTS:= --enable-3dnow else CONFIGURE_CPU_OPTS:= --disable-3dnow endif -ifeq (${ADK_TARGET_CPU_WITH_SSE},y) -CONFIGURE_CPU_OPTS+= --enable-sse +ifeq (${ADK_TARGET_CPU_WITH_SSE4_2},y) +CONFIGURE_CPU_OPTS+= --enable-sse42 \ + --disable-sse4 \ + --disable-ssse3 \ + --disable-sse3 \ + --disable-sse2 \ + --disable-sse else -CONFIGURE_CPU_OPTS+= --disable-sse -endif -ifeq (${ADK_TARGET_CPU_WITH_SSE2},y) -CONFIGURE_CPU_OPTS+= --enable-sse2 +CONFIGURE_CPU_OPTS+= --disable-sse42 +ifeq (${ADK_TARGET_CPU_WITH_SSE4_1},y) +CONFIGURE_CPU_OPTS+= --enable-sse4 \ + --disable-ssse3 \ + --disable-sse3 \ + --disable-sse2 \ + --disable-sse else -CONFIGURE_CPU_OPTS+= --disable-sse2 -endif +CONFIGURE_CPU_OPTS+= --disable-sse4 +ifeq (${ADK_TARGET_CPU_WITH_SSSE3},y) +CONFIGURE_CPU_OPTS+= --enable-ssse3 \ + --disable-sse3 \ + --disable-sse2 \ + --disable-sse +else +CONFIGURE_CPU_OPTS+= --disable-ssse3 ifeq (${ADK_TARGET_CPU_WITH_SSE3},y) -CONFIGURE_CPU_OPTS+= --enable-sse3 +CONFIGURE_CPU_OPTS+= --enable-sse3 \ + --disable-sse2 \ + --disable-sse +else +CONFIGURE_CPU_OPTS+= --disable-sse3 +ifeq (${ADK_TARGET_CPU_WITH_SSE2},y) +CONFIGURE_CPU_OPTS+= --enable-sse2 \ + --disable-sse else -CONFIGURE_CPU_OPTS+= --disable-sse3 +CONFIGURE_CPU_OPTS+= --disable-sse2 +ifeq (${ADK_TARGET_CPU_WITH_SSE},y) +CONFIGURE_CPU_OPTS+= --enable-sse +else +CONFIGURE_CPU_OPTS+= --disable-sse +endif +endif +endif +endif +endif endif #ifeq (${ADK_TARGET_CPU_WITH_IWMMXT},y) #CONFIGURE_CPU_OPTS+= --enable-iwmmxt @@ -159,7 +189,6 @@ CONFIGURE_ARGS:= --prefix=/usr \ --disable-xinerama \ --disable-vidix \ --disable-gl \ - --disable-ssse3 \ --extra-cflags="${EXTRA_CFLAGS}" \ ${CONFIGURE_CPU_OPTS} \ ${CONFIGURE_DEBUG} \ -- cgit v1.2.3