diff options
author | 2011-01-26 15:50:27 +0000 | |
---|---|---|
committer | 2011-01-26 15:50:27 +0000 | |
commit | eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537 (patch) | |
tree | 4c4a101cecd556cede01a6f8bf348c96bfbd77cb /media-libs/x264 | |
parent | rephrase more (diff) | |
download | historical-eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537.tar.gz historical-eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537.tar.bz2 historical-eb768ec70a46cdc8580b5ee9bd0aa2ed6ed54537.zip |
Fix compilation on PPC with some recent GCCs wrt bug 343893. Thanks to Andrew John Hughes <gnu_andrew@member.fsf.org> for salvaging patch and Alex Buell <alex.buell@munted.org.uk> for testing.
Package-Manager: portage-2.1.9.25/cvs/Linux ppc64
Diffstat (limited to 'media-libs/x264')
-rw-r--r-- | media-libs/x264/ChangeLog | 10 | ||||
-rw-r--r-- | media-libs/x264/Manifest | 15 | ||||
-rw-r--r-- | media-libs/x264/files/x264-altivec.patch | 52 | ||||
-rw-r--r-- | media-libs/x264/x264-0.0.20101029.ebuild | 7 |
4 files changed, 67 insertions, 17 deletions
diff --git a/media-libs/x264/ChangeLog b/media-libs/x264/ChangeLog index 602c46541a65..1d23e4d98b48 100644 --- a/media-libs/x264/ChangeLog +++ b/media-libs/x264/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-libs/x264 -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/ChangeLog,v 1.45 2010/12/22 02:13:13 aballier Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/ChangeLog,v 1.46 2011/01/26 15:50:27 xarthisius Exp $ + + 26 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> + +files/x264-altivec.patch, x264-0.0.20101029.ebuild: + Fix compilation on PPC with some recent GCCs wrt bug 343893. Thanks to + Andrew John Hughes <gnu_andrew@member.fsf.org> for salvaging patch and + Alex Buell <alex.buell@munted.org.uk> for testing. 22 Dec 2010; Alexis Ballier <aballier@gentoo.org> -x264-0.0.20081006.ebuild, -x264-0.0.20090502.ebuild, -x264-0.0.20090629.ebuild, diff --git a/media-libs/x264/Manifest b/media-libs/x264/Manifest index 505fec426139..d39b2d79842e 100644 --- a/media-libs/x264/Manifest +++ b/media-libs/x264/Manifest @@ -1,18 +1,9 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - +AUX x264-altivec.patch 2529 RMD160 a898058a653d55a65ddd070285b649b8569b3215 SHA1 849970574883c079b8b63cdb0922018c32d43532 SHA256 e36a5fe0ff284e0cf7ee1ddeec06f2f083ff1d740e9317d82a3f83dc23a924e6 AUX x264-nostrip.patch 433 RMD160 81c3893b1a02839da38f34484c794996855fab5e SHA1 42c0807d6f2f13f848409d9545994c8b66338c8c SHA256 1210914cc52de908b840775ab8e4a107d95aeced690c2f115320d31e587a2ffa AUX x264-onlylib-20100605.patch 1078 RMD160 a40e8e298cef462b2c1a393d56184c84a901eb28 SHA1 085e8c16226ad9bb1cfb7efe6065cd80a7c2f358 SHA256 557c818204143440b982bae758103898078d014d145176267329d368b2b44fa4 DIST x264-snapshot-20100605-2245.tar.bz2 422713 RMD160 379b728d53b642bb5ac6d82765325f4c2bbcec00 SHA1 d923e2168d9e4e3f339bfa1588b8d5d748a9a1ba SHA256 29d01cf362770658caea4aa7c9a62319053b113d25d0cbbd4e5b0a697284d692 DIST x264-snapshot-20101029-2245.tar.bz2 449078 RMD160 65691ea49254ac769a1dde5c03bbe190d7758390 SHA1 3153e901b69acbfcade2af9a59b52d357166ece0 SHA256 d6d1ac9450e2e345d6a4bf7e62a9b03256b10da8e4d62c829ba683a7566711f3 EBUILD x264-0.0.20100605.ebuild 1502 RMD160 70f9d093035eac1511eac5f3ef001f88e17f0fec SHA1 fdadbfcd76a3e60198ba6d1ed09bea59a5b8b2d3 SHA256 bd8e77d53bfe9cddea913da054704d046676fbc47e6c6826a8746ebbf3d951b1 -EBUILD x264-0.0.20101029.ebuild 1509 RMD160 bd5941b8e64005457f7a697371fe2d2013b4434e SHA1 6d918a5cb667de9a90cce5e21d69723c64d43716 SHA256 5c7749614bafa5e0f70fcebe0c043b5828c3d969795bdc07ffce2877b47969f3 -MISC ChangeLog 6482 RMD160 a5b92565699fc74326467463a36a4e15ae642922 SHA1 b1a18b5bac4579601b611e0489d74b04069c020f SHA256 56abc231b6588f9001440ca52a7330696d95aea5b8347cebfee5185761ab1c94 +EBUILD x264-0.0.20101029.ebuild 1552 RMD160 b73ba8ce32891414fa68a0460d6f7e1df49c55ee SHA1 39d41716ac4ea2c0af64cb30bbdbf586236dca0b SHA256 d559b7d3547cc6c07ddd35af522b7b5675646e5784b522f852e69c09fdacbaed +MISC ChangeLog 6793 RMD160 d4aa60f00539e89597aa6ce0511e8c5abca823f2 SHA1 fb80aea4f601a091924d4ac0bd873699dd15c710 SHA256 10c4359da81ddd196afa8bcf77872ac7738a2853309cd875963e99059564c154 MISC metadata.xml 335 RMD160 782d171712950050c9e34479cedef18983e566e9 SHA1 68e8b7034a5abef5f25463e194936c8d4a837f72 SHA256 18b919bb52e6713ae3919ba49f66caa659304337339e6d317e95d04a6384d23c ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEARECAAYFAk0RXsoACgkQvFcC4BYPU0o5qACfUgJT2zz76JwmeGgn9TEdJw4B -ZZUAniTd2h0wHClUBlGwgctPJaum8PgP -=P5Oj ------END PGP SIGNATURE----- diff --git a/media-libs/x264/files/x264-altivec.patch b/media-libs/x264/files/x264-altivec.patch new file mode 100644 index 000000000000..a185dcd5081d --- /dev/null +++ b/media-libs/x264/files/x264-altivec.patch @@ -0,0 +1,52 @@ +http://git.videolan.org/?p=x264.git;a=commitdiff;h=7f5771a13aec5a8a724e0d0c9d761f5a82e74af0 +https://bugs.gentoo.org/343893 + +--- a/common/ppc/dct.c ++++ b/common/ppc/dct.c +@@ -91,14 +91,14 @@ void x264_sub8x8_dct_altivec( int16_t dct[4][16], uint8_t *pix1, uint8_t *pix2 ) + VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v ); + VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v ); + +- vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, dct); +- vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, dct); +- vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, dct); +- vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, dct); +- vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, dct); +- vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, dct); +- vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, dct); +- vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, dct); ++ vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0, *dct); ++ vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16, *dct); ++ vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32, *dct); ++ vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48, *dct); ++ vec_st(vec_perm(tmp0v, tmp1v, permLowv), 64, *dct); ++ vec_st(vec_perm(tmp2v, tmp3v, permLowv), 80, *dct); ++ vec_st(vec_perm(tmp4v, tmp5v, permLowv), 96, *dct); ++ vec_st(vec_perm(tmp6v, tmp7v, permLowv), 112, *dct); + } + + void x264_sub16x16_dct_altivec( int16_t dct[16][16], uint8_t *pix1, uint8_t *pix2 ) +--- a/common/ppc/mc.c ++++ b/common/ppc/mc.c +@@ -460,8 +460,8 @@ static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid + dstv_16h = vec_sr( dstv_16h, shiftv ); + dstv_16l = vec_sr( dstv_16l, shiftv ); + +- dstuv = vec_perm( dstv_16h, dstv_16l, perm0v ); +- dstvv = vec_perm( dstv_16h, dstv_16l, perm1v ); ++ dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v ); ++ dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v ); + + VEC_STORE8( dstuv, dstu ); + VEC_STORE8( dstvv, dstv ); +@@ -498,8 +498,8 @@ static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid + dstv_16h = vec_sr( dstv_16h, shiftv ); + dstv_16l = vec_sr( dstv_16l, shiftv ); + +- dstuv = vec_perm( dstv_16h, dstv_16l, perm0v ); +- dstvv = vec_perm( dstv_16h, dstv_16l, perm1v ); ++ dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v ); ++ dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v ); + + VEC_STORE8( dstuv, dstu ); + VEC_STORE8( dstvv, dstv ); diff --git a/media-libs/x264/x264-0.0.20101029.ebuild b/media-libs/x264/x264-0.0.20101029.ebuild index 37f590ef985e..40c86ceb97af 100644 --- a/media-libs/x264/x264-0.0.20101029.ebuild +++ b/media-libs/x264/x264-0.0.20101029.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/x264-0.0.20101029.ebuild,v 1.3 2010/12/09 16:03:49 rich0 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/x264/x264-0.0.20101029.ebuild,v 1.4 2011/01/26 15:50:27 xarthisius Exp $ EAPI=2 inherit eutils multilib toolchain-funcs versionator @@ -25,7 +25,8 @@ S=${WORKDIR}/${MY_P} src_prepare() { epatch "${FILESDIR}"/${PN}-nostrip.patch \ - "${FILESDIR}"/${PN}-onlylib-20100605.patch + "${FILESDIR}"/${PN}-onlylib-20100605.patch \ + "${FILESDIR}"/${PN}-altivec.patch } src_configure() { |