Browse Source

fix mplayer for x86 build

Waldemar Brodkorb 10 years ago
parent
commit
f1a694baf2

+ 14 - 3
package/mplayer/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		mplayer
 PKG_VERSION:=		1.1.1
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		39dd55f30eb5403f219a606e79a6648a
 PKG_DESCR:=		popular video player
 PKG_SECTION:=		multimedia
@@ -19,6 +19,8 @@ PKG_BUILDDEP+=		xvidcore libvpx gettext-tiny
 PKG_URL:=		http://www.mplayerhq.hu/
 PKG_SITES:=		http://www.mplayerhq.hu/MPlayer/releases/
 
+PKG_BUILDDEP_IBM_X40:=	yasm-host
+
 DISTFILES:=		MPlayer-$(PKG_VERSION).tar.xz
 WRKDIST=		${WRKDIR}/MPlayer-${PKG_VERSION}
 
@@ -89,6 +91,12 @@ else
 CONFIGURE_DIRECTFB=	--disable-directfb
 endif
 
+ifeq ($(ADK_TARGET_SYSTEM_IBM_X40),y)
+			--yasm=${STAGING_HOST_DIR}/usr/bin/yasm
+else
+			--yasm=''
+endif
+
 CONFIGURE_ARGS:=	--prefix=/usr \
 			--enable-x11 \
 			--confdir=/etc \
@@ -96,8 +104,6 @@ CONFIGURE_ARGS:=	--prefix=/usr \
 			--target=${ARCH}-linux \
 			--cc='$(TARGET_CC)' \
 			--host-cc=$(CC_FOR_BUILD) \
-			--yasm='' \
-			--disable-mencoder \
 			--enable-fbdev \
 			--enable-alsa \
 			--enable-tv \
@@ -109,7 +115,11 @@ CONFIGURE_ARGS:=	--prefix=/usr \
 			--enable-faac \
 			--enable-theora \
 			--enable-xvid \
+			--enable-x264 \
+			--enable-x264-lavc \
+			--disable-mencoder \
 			--disable-ossaudio \
+			--disable-caca \
 			--disable-vm \
 			--disable-iconv \
 			--disable-lirc \
@@ -141,6 +151,7 @@ CONFIGURE_ARGS:=	--prefix=/usr \
 			--disable-xinerama \
 			--disable-vidix \
 			--disable-gl \
+			--disable-ssse3 \
 			--extra-cflags="${EXTRA_CFLAGS}" \
 			${CONFIGURE_CPU_OPTS} \
 			${CONFIGURE_DEBUG} \

+ 39 - 0
package/mplayer/patches/patch-ffmpeg_libavcodec_h264_cabac_c

@@ -0,0 +1,39 @@
+--- MPlayer-1.1.1.orig/ffmpeg/libavcodec/h264_cabac.c	2013-05-05 20:11:42.000000000 +0200
++++ MPlayer-1.1.1/ffmpeg/libavcodec/h264_cabac.c	2014-03-27 12:24:39.544699747 +0100
+@@ -39,10 +39,6 @@
+ #include "h264_mvpred.h"
+ #include "golomb.h"
+ 
+-#if ARCH_X86
+-#include "x86/h264_i386.h"
+-#endif
+-
+ //#undef NDEBUG
+ #include <assert.h>
+ 
+@@ -1652,17 +1648,6 @@ decode_cabac_residual_internal(H264Conte
+             index[coeff_count++] = last;\
+         }
+         const uint8_t *sig_off = significant_coeff_flag_offset_8x8[MB_FIELD];
+-#if ARCH_X86 && HAVE_7REGS
+-        coeff_count= decode_significance_8x8_x86(CC, significant_coeff_ctx_base, index,
+-                                                 last_coeff_ctx_base, sig_off);
+-    } else {
+-        if (is_dc && chroma422) { // dc 422
+-            DECODE_SIGNIFICANCE(7, sig_coeff_offset_dc[last], sig_coeff_offset_dc[last]);
+-        } else {
+-            coeff_count= decode_significance_x86(CC, max_coeff, significant_coeff_ctx_base, index,
+-                                                 last_coeff_ctx_base-significant_coeff_ctx_base);
+-        }
+-#else
+         DECODE_SIGNIFICANCE( 63, sig_off[last], ff_h264_last_coeff_flag_offset_8x8[last] );
+     } else {
+         if (is_dc && chroma422) { // dc 422
+@@ -1670,7 +1655,6 @@ decode_cabac_residual_internal(H264Conte
+         } else {
+             DECODE_SIGNIFICANCE(max_coeff - 1, last, last);
+         }
+-#endif
+     }
+     assert(coeff_count > 0);
+