Browse Source

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 <lich000king@yahoo.de>
Oliver Schib 8 years ago
parent
commit
75acb2aa20
2 changed files with 83 additions and 14 deletions
  1. 43 3
      package/ffmpeg/Makefile
  2. 40 11
      package/mplayer/Makefile

+ 43 - 3
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

+ 40 - 11
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} \