summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorbouyer <bouyer>2014-12-03 16:44:14 +0000
committerbouyer <bouyer>2014-12-03 16:44:14 +0000
commit557aab197f33be14dd7fd305b1b7df0551da84af (patch)
tree2c327be1cec162a355edd01c28667abe5441186b /multimedia
parent0be59ff566c9c9664c066e29b03f9e6eb010addd (diff)
downloadpkgsrc-557aab197f33be14dd7fd305b1b7df0551da84af.tar.gz
Add patch from PR pkg/48680, fixing build on netbsd-7/i386 and newer.
Add -mstackrealign -mpreferred-stack-boundary=4 to CFLAGS on i386 for all gcc 4.x versions, this appears to still be needed with gcc 4.8.4. Bump PKGREVISION for ffmpeg1 and ffplay1 (which uses ffmpeg1 patches)
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/ffmpeg1/Makefile8
-rw-r--r--multimedia/ffmpeg1/distinfo3
-rw-r--r--multimedia/ffmpeg1/patches/patch-libavcodec_x86_ac3dsp_init.c88
-rw-r--r--multimedia/ffplay1/Makefile3
4 files changed, 96 insertions, 6 deletions
diff --git a/multimedia/ffmpeg1/Makefile b/multimedia/ffmpeg1/Makefile
index bcc85e2cec9..1fa76014c19 100644
--- a/multimedia/ffmpeg1/Makefile
+++ b/multimedia/ffmpeg1/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.2 2014/10/10 12:30:34 adam Exp $
+# $NetBSD: Makefile,v 1.3 2014/12/03 16:44:14 bouyer Exp $
PKGNAME= ${DISTNAME:S/ffmpeg/ffmpeg1/}
+PKGREVISION= 1
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://ffmpeg.mplayerhq.hu/
COMMENT= Decoding, encoding and streaming software (v1.x)
@@ -40,15 +41,14 @@ post-install:
.include "../../mk/compiler.mk"
# disable asm on i386 for non-gcc and gcc < 4.2
-# no alignment options needed for gcc >= 4.6 on i386
.if ${MACHINE_ARCH} == "i386"
. if !empty(MACHINE_PLATFORM:MDarwin-*-i386) \
|| !empty(MACHINE_PLATFORM:MSunOS-*-i386) \
|| !empty(CC_VERSION:Mgcc-[123]*) \
- || !empty(CC_VERSION:Mgcc-4.[01]*) \
+ || !empty(CC_VERSION:Mgcc-4.[01].*) \
|| empty(CC_VERSION:Mgcc*)
CONFIGURE_ARGS+= --disable-asm
-. elif !empty(CC_VERSION:Mgcc-4.[2345]*)
+. elif !empty(CC_VERSION:Mgcc-4.*)
CFLAGS+= -mstackrealign -mpreferred-stack-boundary=4
. endif
.endif
diff --git a/multimedia/ffmpeg1/distinfo b/multimedia/ffmpeg1/distinfo
index 9b5d9c66a55..e0ceee1b380 100644
--- a/multimedia/ffmpeg1/distinfo
+++ b/multimedia/ffmpeg1/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.4 2014/11/10 15:38:22 adam Exp $
+$NetBSD: distinfo,v 1.5 2014/12/03 16:44:14 bouyer Exp $
SHA1 (ffmpeg-1.2.10.tar.bz2) = 8e6d59b87b3390facef624ba3e531726de3ef11b
RMD160 (ffmpeg-1.2.10.tar.bz2) = 56b8f285748c52da8ef9c27cad1ace1aa55ef19e
@@ -7,3 +7,4 @@ SHA1 (patch-aa) = 14006874aee07e7e41803269040f0ae0157d931d
SHA1 (patch-ac) = ff8a7a5fdfd4987ef2835bd7360a78efd4310253
SHA1 (patch-ap) = ebbd0c169f228af37ae2dd54b27d5dba11a34c5e
SHA1 (patch-configure) = a04493172f7600cc9ebbda6c140915b1169f5f14
+SHA1 (patch-libavcodec_x86_ac3dsp_init.c) = 603eb10a316edf48e50f64f048772ad4b97cac5a
diff --git a/multimedia/ffmpeg1/patches/patch-libavcodec_x86_ac3dsp_init.c b/multimedia/ffmpeg1/patches/patch-libavcodec_x86_ac3dsp_init.c
new file mode 100644
index 00000000000..d84c53cdb8d
--- /dev/null
+++ b/multimedia/ffmpeg1/patches/patch-libavcodec_x86_ac3dsp_init.c
@@ -0,0 +1,88 @@
+$NetBSD: patch-libavcodec_x86_ac3dsp_init.c,v 1.1 2014/12/03 16:44:14 bouyer Exp $
+
+Fix from PR pkg/48680
+
+--- libavcodec/x86/ac3dsp_init.c.orig 2013-08-11 01:23:26.000000000 +0200
++++ libavcodec/x86/ac3dsp_init.c 2013-10-06 17:43:36.000000000 +0200
+@@ -70,11 +70,11 @@ void ff_ac3_extract_exponents_ssse3(uint
+ "shufps $0, %%xmm6, %%xmm6 \n" \
+ "shufps $0, %%xmm7, %%xmm7 \n" \
+ "1: \n" \
+- "movaps (%0, %2), %%xmm0 \n" \
+- "movaps (%0, %3), %%xmm1 \n" \
+- "movaps (%0, %4), %%xmm2 \n" \
+- "movaps (%0, %5), %%xmm3 \n" \
+- "movaps (%0, %6), %%xmm4 \n" \
++ "movups (%0, %2), %%xmm0 \n" \
++ "movups (%0, %3), %%xmm1 \n" \
++ "movups (%0, %4), %%xmm2 \n" \
++ "movups (%0, %5), %%xmm3 \n" \
++ "movups (%0, %6), %%xmm4 \n" \
+ "mulps %%xmm5, %%xmm0 \n" \
+ "mulps %%xmm6, %%xmm1 \n" \
+ "mulps %%xmm5, %%xmm2 \n" \
+@@ -85,8 +85,8 @@ void ff_ac3_extract_exponents_ssse3(uint
+ "addps %%xmm3, %%xmm0 \n" \
+ "addps %%xmm4, %%xmm2 \n" \
+ mono("addps %%xmm2, %%xmm0 \n") \
+- "movaps %%xmm0, (%0, %2) \n" \
+- stereo("movaps %%xmm2, (%0, %3) \n") \
++ "movups %%xmm0, (%0, %2) \n" \
++ stereo("movups %%xmm2, (%0, %3) \n") \
+ "add $16, %0 \n" \
+ "jl 1b \n" \
+ : "+&r"(i) \
+@@ -106,24 +106,26 @@ void ff_ac3_extract_exponents_ssse3(uint
+ "mov %5, %2 \n" \
+ "1: \n" \
+ "mov -%c7(%6, %2, %c8), %3 \n" \
+- "movaps (%3, %0), %%xmm0 \n" \
++ "movups (%3, %0), %%xmm0 \n" \
+ stereo("movaps %%xmm0, %%xmm1 \n") \
+ "mulps %%xmm4, %%xmm0 \n" \
+ stereo("mulps %%xmm5, %%xmm1 \n") \
+ "2: \n" \
+ "mov (%6, %2, %c8), %1 \n" \
+- "movaps (%1, %0), %%xmm2 \n" \
++ "movups (%1, %0), %%xmm2 \n" \
+ stereo("movaps %%xmm2, %%xmm3 \n") \
+- "mulps (%4, %2, 8), %%xmm2 \n" \
+- stereo("mulps 16(%4, %2, 8), %%xmm3 \n") \
++ "movups (%4, %2, 8), %%xmm4 \n" \
++ "mulps %%xmm4, %%xmm2 \n" \
++ stereo("movups 16(%4, %2, 8), %%xmm4 \n") \
++ stereo("mulps %%xmm4, %%xmm3 \n") \
+ "addps %%xmm2, %%xmm0 \n" \
+ stereo("addps %%xmm3, %%xmm1 \n") \
+ "add $4, %2 \n" \
+ "jl 2b \n" \
+ "mov %5, %2 \n" \
+ stereo("mov (%6, %2, %c8), %1 \n") \
+- "movaps %%xmm0, (%3, %0) \n" \
+- stereo("movaps %%xmm1, (%1, %0) \n") \
++ "movups %%xmm0, (%3, %0) \n" \
++ stereo("movups %%xmm1, (%1, %0) \n") \
+ "add $16, %0 \n" \
+ "jl 1b \n" \
+ : "+&r"(i), "=&r"(j), "=&r"(k), "=&r"(m) \
+@@ -152,7 +154,7 @@ static void ac3_downmix_sse(float **samp
+ matrix_cmp[3][0] == matrix_cmp[4][0]) {
+ MIX5(IF1, IF0);
+ } else {
+- DECLARE_ALIGNED(16, float, matrix_simd)[AC3_MAX_CHANNELS][2][4];
++ float matrix_simd[AC3_MAX_CHANNELS][2][4];
+ float *samp[AC3_MAX_CHANNELS];
+
+ for (j = 0; j < in_ch; j++)
+@@ -166,8 +168,8 @@ static void ac3_downmix_sse(float **samp
+ "movss 4(%2, %0), %%xmm5 \n"
+ "shufps $0, %%xmm4, %%xmm4 \n"
+ "shufps $0, %%xmm5, %%xmm5 \n"
+- "movaps %%xmm4, (%1, %0, 4) \n"
+- "movaps %%xmm5, 16(%1, %0, 4) \n"
++ "movups %%xmm4, (%1, %0, 4) \n"
++ "movups %%xmm5, 16(%1, %0, 4) \n"
+ "jg 1b \n"
+ : "+&r"(j)
+ : "r"(matrix_simd), "r"(matrix)
+
diff --git a/multimedia/ffplay1/Makefile b/multimedia/ffplay1/Makefile
index b56ae575bc5..fdfb44f8339 100644
--- a/multimedia/ffplay1/Makefile
+++ b/multimedia/ffplay1/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.1 2014/08/11 23:02:10 wiz Exp $
+# $NetBSD: Makefile,v 1.2 2014/12/03 16:44:14 bouyer Exp $
PKGNAME= ${DISTNAME:S/ffmpeg/ffplay1/}
+PKGREVISION= 1
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://ffmpeg.mplayerhq.hu/
COMMENT= Simple SDL frontend for FFmpeg