summaryrefslogtreecommitdiff
path: root/media-libs
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/Manifest.gzbin69125 -> 69128 bytes
-rw-r--r--media-libs/libmpdclient/Manifest2
-rw-r--r--media-libs/libmpdclient/libmpdclient-2.21.ebuild43
-rw-r--r--media-libs/libplacebo/Manifest2
-rw-r--r--media-libs/libplacebo/libplacebo-6.338.1.ebuild2
-rw-r--r--media-libs/libvpx/Manifest2
-rw-r--r--media-libs/libvpx/libvpx-1.13.1-r1.ebuild2
-rw-r--r--media-libs/mesa/Manifest2
-rw-r--r--media-libs/mesa/mesa-23.3.1.ebuild2
-rw-r--r--media-libs/x264/Manifest3
-rw-r--r--media-libs/x264/x264-0.0.20231114-r1.ebuild74
-rw-r--r--media-libs/x264/x264-9999.ebuild4
-rw-r--r--media-libs/x265/Manifest4
-rw-r--r--media-libs/x265/files/x265-9999-test-ns.patch286
-rw-r--r--media-libs/x265/x265-3.5-r3.ebuild217
-rw-r--r--media-libs/x265/x265-9999.ebuild22
16 files changed, 644 insertions, 23 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz
index e7b10ab97ba2..d5f95b70612b 100644
--- a/media-libs/Manifest.gz
+++ b/media-libs/Manifest.gz
Binary files differ
diff --git a/media-libs/libmpdclient/Manifest b/media-libs/libmpdclient/Manifest
index 5a1e36aa82a2..439de45e2ea2 100644
--- a/media-libs/libmpdclient/Manifest
+++ b/media-libs/libmpdclient/Manifest
@@ -1,3 +1,5 @@
DIST libmpdclient-2.20.tar.xz 71552 BLAKE2B d80c343d7655ccddb253275694d40665d286bf9c59729d0c836c927ab479b1ab4819f36a69c62a29c3ad220fcbfa712da5418cf8c3cc9f9e24af4e3c39ce1e11 SHA512 3271c8eae017402976dbfabc51c7cb8d39912c8a3fd6cd075adc978d490f2eb850d86ccec9f7bccbda48c9d6ca1cda89918ac7c76b21f7f63ca1a276b67e94b6
+DIST libmpdclient-2.21.tar.xz 72884 BLAKE2B 33d2116063a1e869fb78ab8cdd80a24eb1b6c5168a4ef183696f39e06c859a9fdb2153a00087c993ef206c173a9181b31b7dc4a4dfe55b74342d1096c1156d6d SHA512 1cde435bf850f875f80839941d6504465485f45d9daf247b658c2cd44d64c8ac1119c08103c9ec68686a8ce6f1f46dd49f63426e396556fcfa887ba55ae11572
EBUILD libmpdclient-2.20.ebuild 1023 BLAKE2B f2be3af03040a7add6651bd5d3fa4defd3a589e9d273e87536b921624fa019d8a627c74ca44b2a7e7449362a8648151fb1ed1ec05b508a60f99aa7840a642ce0 SHA512 e870bc59e222ed21829cc958ef8801394d65f9523e324ad334cb3646df950114a98a36b04a6ae1694b0003756c15b11a6b610ddbcabd9febea7ff7ac91c44c47
+EBUILD libmpdclient-2.21.ebuild 1028 BLAKE2B 4611328ae0c32e937c5b151cfabd445fa6b020bfeed2a06d353c1ecd785910e1d76657068b331a81d87d3151203ca44bc23c8ba6fcfe905fc9ac41e44b13e317 SHA512 9ed07f4c868ae52c5cd20af606751636027254f7761fd7e9a650ca9f3401c87d04fb1a6fd34fcf41d32e02d73648326b097d47b9e0c46883ed9286d1e0c1ef96
MISC metadata.xml 349 BLAKE2B d4d0ea2f19d76de587387907f676073a9c162d1bfb19543a3b5ab9f8beebc68c790cd64027a897da33d1a73925c11b5ed63f9d8f1ae53394a61922311aba7e79 SHA512 7e1aace7ae0668b1855ec46371320e98fce2a7f4719847e7fb1675ae9ecb54bd6006d699f3fd6bbccd4e2789512493fac310e104b84f77efcbb080cdf9de7129
diff --git a/media-libs/libmpdclient/libmpdclient-2.21.ebuild b/media-libs/libmpdclient/libmpdclient-2.21.ebuild
new file mode 100644
index 000000000000..71bef1dc1eb1
--- /dev/null
+++ b/media-libs/libmpdclient/libmpdclient-2.21.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Library for interfacing Music Player Daemon (media-sound/mpd)"
+HOMEPAGE="https://www.musicpd.org https://github.com/MusicPlayerDaemon/libmpdclient"
+SRC_URI="https://www.musicpd.org/download/${PN}/${PV%.*}/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-doc/doxygen )"
+DEPEND="test? ( dev-libs/check )"
+
+src_prepare() {
+ default
+
+ sed -e "s:@top_srcdir@:.:" -i doc/doxygen.conf.in || die
+
+ # meson doesn't support setting docdir
+ sed -e "/^docdir =/s/meson.project_name()/'${PF}'/" \
+ -e "/^install_data(/s/'COPYING', //" \
+ -i meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocumentation=$(usex doc true false)
+ -Dtest=$(usex test true false)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ use examples && dodoc src/example.c
+}
diff --git a/media-libs/libplacebo/Manifest b/media-libs/libplacebo/Manifest
index a071ce637d79..bf80e4be02d0 100644
--- a/media-libs/libplacebo/Manifest
+++ b/media-libs/libplacebo/Manifest
@@ -3,6 +3,6 @@ AUX libplacebo-5.229.1-python-executable.patch 699 BLAKE2B 5c3f1afb2e8a8992bd411
DIST fast_float-5.2.0.tar.gz 84800 BLAKE2B 39133eda20acd5f1f049e8040815a67aee588ab93be4953bde3b9227fb691e099581ef79b12b740437b78a9b4c9007762b44d9726ca07505ad5cb51394d8e3fd SHA512 c703c7cba3c69775317c66a62ce145646fd7d3d063124501e3d6a7deebb8c62c14a2ccdffed18de2d73d9d3a8ba2061ef1d34cc780ee0b6d607935d5f1b1de81
DIST libplacebo-glad-2.0.4.tar.gz 599932 BLAKE2B 788d2b70222fd09eea02515bdf3cbc147540631bf35fe39f12aa21fdbabf3d229f4234a430217dfaf3363934b8be12dd6a19871049a7b117deb8260ec69f8c67 SHA512 328d0dbe33e69f846d1c54226c6675694404f41e53c4762e6013c7bfe76b0700f0b28f4117a2018a09c9c23ccb6ad94d7b20882fefc2513941a4515686c9b9e7
DIST libplacebo-v6.338.1.tar.bz2 696577 BLAKE2B c4b1a9830ba91127c78fca30deabbc90c157b0bd9220216c6452866312374b9415f00c6f0c3b573070d4bf26a0c25df96462365d0929dcd022ef5ab84b909e17 SHA512 79e9f800791dcc856ead965f2b0b463ede3313186f248be85e3cf9ec62901043dad72b639f426f858e1fff0bbd9bdcdea48d01a5d3d2218b79e263fa0432bc5b
-EBUILD libplacebo-6.338.1.ebuild 3332 BLAKE2B 3b11c2447de221b1c35d033577561df3fb6919228cc383d5551d20e7db94a5fa67d6503d6ece48206942e54a079e0c3b26ba0aeeed2aa8a4abeb540ed228970e SHA512 715be6da29a24586a96ef75a5c1068af88177fc71f1e6a46e5a31f2294052196747bbce2a173f9f6db15fa59ed97adb47faf1005a1eb6099742fe682377e049d
+EBUILD libplacebo-6.338.1.ebuild 3331 BLAKE2B 21cdcbee5bc46b84792c98138a84c2c3dc81fa580fe305ecfd0630fe93cabeba0c1d8e936750fc73f0052dd4d3e74dee891d05be7274d4341be837feccd938f5 SHA512 197c98b1f28342c5d67d1c0d301f9068947796ac86809d1c4c5c485d77d438454538e5b991c6b6c639e832f980456366164c2b16fa882a5c8529e402f2916b25
EBUILD libplacebo-9999.ebuild 3325 BLAKE2B 7cd2d8e6a27786856fef8495647be460c14ef181b47e89c621b8f27d1a56d437cd9a5d6a72e30345dbde4f57eda5bd4e3e5e37796606e6a582205e529b5dddb9 SHA512 a28435eff809be840fd683d60e66c888dcb18d98514d67f13f35c266d9dce11d9d73524f6b452d0472cbce67b459ecb40ead23bd4f218480c79926aa19cc925a
MISC metadata.xml 700 BLAKE2B 339905c53f52620737835f397717eba8b742fa4cb26f8dbc9f2dfd7a443a4e7f143b1ef844a52bddb280099f87a073cbf685c5a4a21e4788a1ac16cdccacce1c SHA512 8524de2cf08b516c79c6d1ae032e68d8421122084d431692663ac1ad3e1e841398eb4543bad6e24b674727b01d0959cec4960deb8300cb52d015a583d66d9ddc
diff --git a/media-libs/libplacebo/libplacebo-6.338.1.ebuild b/media-libs/libplacebo/libplacebo-6.338.1.ebuild
index 23720aed6e5b..998c264e826d 100644
--- a/media-libs/libplacebo/libplacebo-6.338.1.ebuild
+++ b/media-libs/libplacebo/libplacebo-6.338.1.ebuild
@@ -22,7 +22,7 @@ else
)
"
S="${WORKDIR}/${PN}-v${PV}"
- KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
+ KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
DESCRIPTION="Reusable library for GPU-accelerated image processing primitives"
diff --git a/media-libs/libvpx/Manifest b/media-libs/libvpx/Manifest
index e46d568d0944..eed9f1d1fe8e 100644
--- a/media-libs/libvpx/Manifest
+++ b/media-libs/libvpx/Manifest
@@ -12,6 +12,6 @@ DIST libvpx-testdata-1.13.1.tar.xz 495765552 BLAKE2B 4aba008653b645c1adbfc0f4e20
EBUILD libvpx-1.12.0-r1.ebuild 4298 BLAKE2B cf4d4610f3ded71551126030e2b46a0e79aa2d0409621f4f7501f1b6f69facec0173c7d9b5b0f5391ac80cb4e797765225cd5326bb00ef52dc1dfb26e1e2ae2d SHA512 7773a3927a9355b855aa9ab43cb162f32b1661d670b36077e685d5bbbf2e0a8b7a2ced7ead593ceb4133261f2fa50ad345f74b939e7625384f57bedbeb7a568b
EBUILD libvpx-1.13.0-r1.ebuild 4371 BLAKE2B 263c9114dd8b067490ce0c36b949030cd5fc1da55dc025cfc1a52e4a3568681bec471f38aa5a023990bf952cc8fb61caa44c1578761844ca0e22f0d954f469bd SHA512 64509610ab3112638b9b4f8c1eae06a6b69f75706c9480e3d189ae2b685dd575d39afba1c805494de0258c1bdc51012a721dc1937a3a54558782b5ddaf1dfe7a
EBUILD libvpx-1.13.0.ebuild 4220 BLAKE2B 090cfb41d4efa2475a636aee90d12c8636d84ff02aaf4589ab19248dcc4ac4ac920d2640e89dc35e342dd6754878a67721ca637f650d9149a7640c72ff51da16 SHA512 8d781d69c1c82e582b4f57f2441d503b4b9c148584344ee791a76b0eba8ccf0cf159a00826adca2402f1aac76a75d4764348710f13421c8f8eed6b0807036d36
-EBUILD libvpx-1.13.1-r1.ebuild 4280 BLAKE2B 647ce943505528d4093cb0915f65f50b745b243756452f1a4a878a3fde5eada015e237ff8ae128c0c2627c7a6211b8f5f1a19cb588ec5f2fdb09baa4ab33cb0a SHA512 6e2a9f88341ca6537d0105a2d0379e9ea5f522c811f03db2bd4faf1224926979009de53f06cf95f208465346ed1b2fc954daa40f95f4c84f33b3e2ef30ed7702
+EBUILD libvpx-1.13.1-r1.ebuild 4278 BLAKE2B 2418df9251b06defcfacfd54931095dc63b5bab583b4c4e184880f699eb81b23a3264b981141db8ad08b5d7f87f3821dece390f7547206d20936867d92a79473 SHA512 dcfbb7016c0c0f97ae82de3130e50bcb92c14cfc04b9178889fcff0373aff993e95e931a54b5b0ec00dc2d66d0738ee088a4342e0d368e3815a4589854ed1b3a
EBUILD libvpx-1.13.1.ebuild 4219 BLAKE2B 4bb828daeb33b5c3b929094a79a6b1c5215d0b51261b31fe4d194b197417af8b25ebb07010e148005a43cbe668e7e609e83f0fb3683305d51fa43b6965fb7674 SHA512 7a76bbc81126bfa51f4b2d1218bff6f034f5e8cbb9e570e1a7973323e52830ac115c3419e4a5a598c72fbb827cd6277e45c15448b1f94934e146ecb868d980d2
MISC metadata.xml 655 BLAKE2B 00bcc63009898b794c7e142cd83096f779758e0d5ce274d10f97cc08f4b98f929719c01898d64137aa125c7628bb991fb128d07a490e7e7b029be6f1041e28ac SHA512 0d2dd46ed564109ca5cd841b41ccc30ddb45e5c0e416624b7e8c0895d67217cfcc71cba0d13ab96af2a898add5f1cf8feb44b6a015ff8487668055c0f288e9fc
diff --git a/media-libs/libvpx/libvpx-1.13.1-r1.ebuild b/media-libs/libvpx/libvpx-1.13.1-r1.ebuild
index 3ac3d45d048a..07609013b44b 100644
--- a/media-libs/libvpx/libvpx-1.13.1-r1.ebuild
+++ b/media-libs/libvpx/libvpx-1.13.1-r1.ebuild
@@ -24,7 +24,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/8"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="cpu_flags_ppc_vsx3 doc +highbitdepth postproc static-libs test +threads"
REQUIRED_USE="test? ( threads )"
RESTRICT="!test? ( test )"
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index e588c539b35c..b564ef93908d 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -12,6 +12,6 @@ EBUILD mesa-23.1.9.ebuild 12814 BLAKE2B be91b87fc3e8bfdb902ca4f97c49634f007f4903
EBUILD mesa-23.2.1.ebuild 12737 BLAKE2B bcefc24afc899b307011087efe947a7e24f450c18536607c722c639f00dc36e3d92c7e55a7eee63e8d8dab4e2a95c1dc9600b611fd82d84af69afb27f2560bd4 SHA512 66a34033497e839bdb1d122092adb5c1639ac969145cd06ce2a8120934e5633af5994c0f8eb606dfb0c6ddfa417e90cfcc71926f57003c0aa3e7d054e5d4b043
EBUILD mesa-23.3.0.ebuild 12195 BLAKE2B 9f6aaf3b275abff4040e7d0b5815cf6e6a71e45422997fdc97cae42cdddbb06215e8e79d85b9144e174ab4fac4eeeb45838ae2596dbb37b360c441d725edee0d SHA512 23ad87482773e4f3674338e8de3ea9154a3038cf161ec81c5ea6eaef7000b00cdf3b011964002de3c974beda3576b1f60ee5fd450bdfa417723ce3d83c751e7a
EBUILD mesa-23.3.0_rc5-r1.ebuild 12195 BLAKE2B 9f6aaf3b275abff4040e7d0b5815cf6e6a71e45422997fdc97cae42cdddbb06215e8e79d85b9144e174ab4fac4eeeb45838ae2596dbb37b360c441d725edee0d SHA512 23ad87482773e4f3674338e8de3ea9154a3038cf161ec81c5ea6eaef7000b00cdf3b011964002de3c974beda3576b1f60ee5fd450bdfa417723ce3d83c751e7a
-EBUILD mesa-23.3.1.ebuild 12275 BLAKE2B b3d2e72570d43cf75dd07c8035cd2738693e35b8dfb9e51c23fe0311628fff9c8bafdd88fda4f76da801f6ad20063886c1c8dd3e6830054e3c23306b68198590 SHA512 90d420c84d139f267edcdb242ad8fbf73bec3707cd44413d02b1753777f1d9a25a11f229f07fd15ac6775c4acf2cd8583764692d9ad4040730f7175ff1820bbb
+EBUILD mesa-23.3.1.ebuild 12274 BLAKE2B 196af499677f9324c8f51cfb46d175370fc176fd3e1073709ae43d9065fe234fbe8cbd46bbe722886139db827e358402eda6f82d2f06379ec0a5b23ff6cdd9d9 SHA512 264c3176839ed35e0bc48bef4ef376c4533e35e75f1070b0a07c1667d1963094dd60b9f0474eee7aba5cf9ff5a133d5466202313ed6dbc788c15246c7b7ce4fc
EBUILD mesa-9999.ebuild 12195 BLAKE2B 9f6aaf3b275abff4040e7d0b5815cf6e6a71e45422997fdc97cae42cdddbb06215e8e79d85b9144e174ab4fac4eeeb45838ae2596dbb37b360c441d725edee0d SHA512 23ad87482773e4f3674338e8de3ea9154a3038cf161ec81c5ea6eaef7000b00cdf3b011964002de3c974beda3576b1f60ee5fd450bdfa417723ce3d83c751e7a
MISC metadata.xml 1435 BLAKE2B 53690878512b86ce0b8dce38b083684c85ad5c1a655d5a69cb3265e156869845263eb16f271691b66c9f0cd76e97b56908acf7a1792d6abac0ec99447826cbb5 SHA512 842106e5d6eb60ff33c8cae7f0d52983c4f7e104152718b50fc790cbcb2506551a6fc7841fe8e3c7963850c238f77505b0e49b10a3a936baf459e1acaf73e07f
diff --git a/media-libs/mesa/mesa-23.3.1.ebuild b/media-libs/mesa/mesa-23.3.1.ebuild
index cddfc81ffa16..2925b5912c95 100644
--- a/media-libs/mesa/mesa-23.3.1.ebuild
+++ b/media-libs/mesa/mesa-23.3.1.ebuild
@@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
else
SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
fi
LICENSE="MIT SGI-B-2.0"
diff --git a/media-libs/x264/Manifest b/media-libs/x264/Manifest
index 5533e528125c..b2204f5ada5b 100644
--- a/media-libs/x264/Manifest
+++ b/media-libs/x264/Manifest
@@ -1,6 +1,7 @@
DIST x264-0.0.20220222.tar.bz2 777236 BLAKE2B 45e57c48b4b889f5c7b4ce87d1442d26d907aac47fb7c586b34239317a8b74bb93eac3058eed766728fbca6370656d9a6f070e8992643984a89560e28edf206d SHA512 1cf864059f83731ac47008c1af1d9ac06d06283439cf883a020f8a76e0c7efc3b525791d11efe8784d0e39ded68dd03794f0502fa64cc07df2f2de064a55e1d9
DIST x264-0.0.20231114.tar.bz2 833229 BLAKE2B e8e60767d16ea11e55f9dd56f1c74535a06b07a498b91d4372872925915563b67fb917c5856e2e40e1f58acbab3142509d036cae8d56820bef0e16ee7bc35196 SHA512 7705c2827c6b280afc7403bce206f82ee94c1ba76c582d3e6ae017b9c4f08c4475ac70373f8a0bcda73046221456efc3f338c57aaf03c11f4d8e63f69bb94db5
EBUILD x264-0.0.20220222.ebuild 2101 BLAKE2B e31719349399dfa83e5d0c97b3684b2f9484d051951f740e12d478b1a57448add56c5d5ff9e461f05d89cb9012205074d7a3e9246af65079cbbe5a88c191ed22 SHA512 ea9bb23667b27e6b14a1b0d3b751509c2fdd5dab93de26d1f4c2a73067bddbec2d76edf839a6bf096338b97f3e17b8866163950e2b99af7c3f1e4e64cda46cd1
+EBUILD x264-0.0.20231114-r1.ebuild 2068 BLAKE2B 0556d504c6db37dbd14ae6d54f45d36d8aea4346ee51e96e66aeb183b57e02c430aa332cf6bc2f2871e8ccd3dd4d70e3b0861d0c29f44487a0fc26e0b2b841cb SHA512 f48a097be7d5358564af7da01691d722597b56cda7a6ce49c5ec50fa956e16c1936db367e68458fd7975665ab4ca97d73385bd59f424da5aab31f194967b9ea1
EBUILD x264-0.0.20231114.ebuild 2137 BLAKE2B 52fd9c1d3fd59454498fcb75a39f930e91fc27588e7f649530acc04b3d3b975e4721948c170c7cd34e2f32245a2fc5e6b2f8bcf5114d3171f8336ee8e2ec3fd4 SHA512 0e1f1ab79148090f34f80bd4eb2456c98a9f3c895098123d90e0afa059f5197270f6c0b6b6d4c85011d32acca4cedd7a5e5d85990d7725e7add5e0fa6bcb753b
-EBUILD x264-9999.ebuild 2137 BLAKE2B 52fd9c1d3fd59454498fcb75a39f930e91fc27588e7f649530acc04b3d3b975e4721948c170c7cd34e2f32245a2fc5e6b2f8bcf5114d3171f8336ee8e2ec3fd4 SHA512 0e1f1ab79148090f34f80bd4eb2456c98a9f3c895098123d90e0afa059f5197270f6c0b6b6d4c85011d32acca4cedd7a5e5d85990d7725e7add5e0fa6bcb753b
+EBUILD x264-9999.ebuild 2072 BLAKE2B 9bdcafd4e77166eb346221e7deb98d86580105ff41dbbe972247c13b28f281024a533cc7eeb3358a10ae4ce0f901680e07d5bb57da745b8f23e73dfda4c866b7 SHA512 2be132a6554c9cd368e9c64c80811065f0f2beb1007f87eaf59e2d3e2bc76180c8e4425a7ccecbb7969cceff3366f6f638919cc52bb53d735dd82f02673a9a8e
MISC metadata.xml 436 BLAKE2B ae066438ad1ac844f1c212b463498e0d4ee3e0b38d24b7a85a36dca419cfffc83799c69fed3af8d7ae35e619a961ca7aa3b4cbb86ade79eff318e05da836ea68 SHA512 f019ace06237e2e0244efd5cee86fdadafb03dfd0f2dec16dfce3d39ffe5a80292840c14378eed2270b47bcc6f32d5b59d358461f93bc7fc25ff14f35be4b41c
diff --git a/media-libs/x264/x264-0.0.20231114-r1.ebuild b/media-libs/x264/x264-0.0.20231114-r1.ebuild
new file mode 100644
index 000000000000..8976bff01a62
--- /dev/null
+++ b/media-libs/x264/x264-0.0.20231114-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs flag-o-matic
+
+DESCRIPTION="Free library for encoding X264/AVC streams"
+HOMEPAGE="https://www.videolan.org/developers/x264.html"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://code.videolan.org/videolan/x264.git"
+else
+ X264_COMMIT="c196240409e4d7c01b47448d93b1f9683aaa7cf7"
+ SRC_URI="https://code.videolan.org/videolan/x264/-/archive/${X264_COMMIT}/x264-${X264_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ S="${WORKDIR}/${PN}-${X264_COMMIT}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/164" # SONAME
+IUSE="cpu_flags_ppc_altivec +interlaced opencl static-libs +threads"
+
+ASM_DEP=">=dev-lang/nasm-2.13"
+DEPEND="
+ abi_x86_32? ( ${ASM_DEP} )
+ abi_x86_64? ( ${ASM_DEP} )
+ opencl? ( dev-lang/perl )
+"
+RDEPEND="opencl? ( >=virtual/opencl-0-r3[${MULTILIB_USEDEP}] )"
+
+DOCS=( AUTHORS doc/{ratecontrol,regression_test,standards,threads,vui}.txt )
+
+multilib_src_configure() {
+ tc-export CC
+
+ if [[ ${ABI} == x86 || ${ABI} == amd64 ]]; then
+ export AS="nasm"
+ else
+ export AS="${CC}"
+ fi
+
+ local asm_conf=""
+
+ if \
+ [[ ${ABI} == x86* ]] \
+ || [[ ${ABI} == "x32" ]] \
+ || [[ ${CHOST} == armv5* ]] \
+ || [[ ${ABI} == ppc* ]] && { use !cpu_flags_ppc_altivec ; } \
+ || use mips && { ! test-compile 'c' 'int main(void){__asm__("addvi.b $w0, $w1, 1");return 0;}' ; }
+ then
+ asm_conf=" --disable-asm"
+ fi
+
+ "${S}/configure" \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --disable-cli \
+ --disable-avs \
+ --disable-lavf \
+ --disable-swscale \
+ --disable-ffms \
+ --disable-gpac \
+ --enable-pic \
+ --enable-shared \
+ --host="${CHOST}" \
+ --cross-prefix="${CHOST}-" \
+ $(usex interlaced "" "--disable-interlaced") \
+ $(usex opencl "" "--disable-opencl") \
+ $(usex static-libs "--enable-static" "") \
+ $(usex threads "" "--disable-thread") \
+ ${asm_conf} || die
+}
diff --git a/media-libs/x264/x264-9999.ebuild b/media-libs/x264/x264-9999.ebuild
index 7317a87e9e6a..dc042c20d5c5 100644
--- a/media-libs/x264/x264-9999.ebuild
+++ b/media-libs/x264/x264-9999.ebuild
@@ -20,7 +20,7 @@ fi
LICENSE="GPL-2"
SLOT="0/164" # SONAME
-IUSE="cpu_flags_ppc_altivec +interlaced opencl pic static-libs cpu_flags_x86_sse +threads"
+IUSE="cpu_flags_ppc_altivec +interlaced opencl static-libs +threads"
ASM_DEP=">=dev-lang/nasm-2.13"
DEPEND="
@@ -44,7 +44,7 @@ multilib_src_configure() {
local asm_conf=""
if \
- [[ ${ABI} == x86* ]] && { use pic || use !cpu_flags_x86_sse ; } \
+ [[ ${ABI} == x86* ]] \
|| [[ ${ABI} == "x32" ]] \
|| [[ ${CHOST} == armv5* ]] \
|| [[ ${ABI} == ppc* ]] && { use !cpu_flags_ppc_altivec ; } \
diff --git a/media-libs/x265/Manifest b/media-libs/x265/Manifest
index f58805d350b8..713fe29b9a3e 100644
--- a/media-libs/x265/Manifest
+++ b/media-libs/x265/Manifest
@@ -5,7 +5,9 @@ AUX tests.patch 650 BLAKE2B 21759b11966e12df1a72a1ed00935ff781ad8b912e734de65cf0
AUX x265-3.3-ppc64.patch 590 BLAKE2B bbc6f18b8f192424450d2860e33ea6dbba14b46876f05cf9c499412d491127c877c342b1900bb9d06d66126aca2f383da1a4986ce69670ebc392fec0fe9b59a9 SHA512 bb4ace2c4bc899a0ccdd17fb78e63980354f41ff0f201812d47c5df16b23fea6fcdbde086e737d0efd5d8cb8fa571a131c03433bec31999c71ff51bccd754950
AUX x265-9999-arm.patch 2115 BLAKE2B 92f2225fd23030220531e6bfda7a3d4ce197090a7b1d996fe5995885fe332352e3628ca3fe307d2ae7af2d0342b183c5bbe4337201c51fb4092e273eae2f1308 SHA512 602725dc487397466c48d4d0aa09d8d63b3519fc72cd9538e732c2c82f6f3fa9c959f6f29ff3f810fec82dbdf609d9fd37fe05dd67496fc4c8bbda5f87c9f165
AUX x265-9999-ppc64.patch 385 BLAKE2B c75bd6e0e7c1ded2b4858f4cbacc337d6015a0387a0fa8dab87964f1995e8e39cdce3f69dc2bb0bb338f5df5fff2051ef5dbcd065e59bd4905282349850e92f6 SHA512 5601b0f29136d5b36f237841b4d4ed6ad0d7cdaed559b8b450352d9fb406b1e0c91ccde11b32d7e32b9ebf6622c85aa2ed44c63bf6ebe5a08550a1b24ebe0eb8
+AUX x265-9999-test-ns.patch 14971 BLAKE2B 8750a3a94eefd78dfe082c46634606a1abe4ae1b9cf89971e5532a1fc8d42e8b406ca71ab2dfd3e77bdc589e553e190c423a12b5c1007eae9fe12d86e7603ef7 SHA512 55baf712622acfb0d76eee3b283ba38905327eacb0ce52f202563e7e6c1c8593bcae84acc876c91f36ac22fcc06950ffa181515b58d199821c8d265f309594e7
DIST x265_3.5.tar.gz 1537044 BLAKE2B 4fe15b762eda08a4379f69df622bef603fed784a237381d5c95876412020c113d053af829fa1eb66468462a6edc0de32dc597b1a98a63e9aa0250a47f4e76d05 SHA512 230e683239c3e262096ba96246c6f67229a1625d163f86647a411733bb1cf349685858aee3017bce818bb6992448d0abaa9241615a5b620561ce47ecb164f997
EBUILD x265-3.5-r2.ebuild 6342 BLAKE2B 3a5bf8ebedc877d8d69c3021f925fb77559ea682a423438d734953e9960518d9d96672955bf56d7d11409ba734c38edd43f60f25b1f5b666f68de11591fe4370 SHA512 55e41cc836b62aab1c64da0e2b1d5ea35a204bcee5408b47fc732237af394daf419e965fb963c4cba4814b00f2d40ea9ce707aa14f5695b18f5f8dadb43272c6
-EBUILD x265-9999.ebuild 6346 BLAKE2B c75ada90a626922136e2463e871b1a67dc6d96caf17197e38dd07034e12a03723805d8b0810c5c53e51c2fcd2f1a8d10d7747324ab3dbf4a2b173d207c1e5957 SHA512 27fe484febc7489e33e6ce31f3e607db7e1dd7ab369f393e6773fd100eec03afd48ad1f87c3735232f4fb45fcdf35572389564bb7cdcf5c6e5673dfa11a4591d
+EBUILD x265-3.5-r3.ebuild 6127 BLAKE2B e73816bf0cc95edbb59e582a0abc64c87e66c4cc211c18ac8505632a3914e99328b526daaa4fadd2415bf02bd814d318fb1c415b756c2ec912b37ad2819a376c SHA512 25a13b2a63e832792d8b7033da5f639781a71bd86e2e89b2a32aa5b0654b3798295a98aa402eb504ec7e23568363d6c6f736ac9861b1cdac6d75f1b7edb4efb9
+EBUILD x265-9999.ebuild 6112 BLAKE2B 852aa11b7fa1edfea6a2036e9c1b5122095c394becec564c6f7d10bd15350178b3de8ed3204d370047036f0fb135b6fa47ddb6366f7d8aed65b7bcc90dc776a7 SHA512 e7c3aa595223570954c6b40032aab381ea997568cf9d8fad8139f5e1b87e348f24b650d6b47b0d73041cabb12b1358bee9eb8d2c8706acff6eb2954d8e8c94ed
MISC metadata.xml 626 BLAKE2B 59840316bac42695fd0c76baad143fcbdf810d80b48aa0260633b7dd70cd24a064ac0e3284772368bffd05415befd99fc4f224d2c2c7fc44e27ec56759f04b07 SHA512 97ba150042a2f4558c828af03bb489faa4385af6a2c72ed3f7489091e011a94e40330117a3f2edddea8fc73652396fb53e9190bdd00cb2b3d1c8b553ed2d0d7e
diff --git a/media-libs/x265/files/x265-9999-test-ns.patch b/media-libs/x265/files/x265-9999-test-ns.patch
new file mode 100644
index 000000000000..ed3de18ae83e
--- /dev/null
+++ b/media-libs/x265/files/x265-9999-test-ns.patch
@@ -0,0 +1,286 @@
+Namespace functions for multi-bitdepth builds so that libraries are self-contained.
+--- a/common/param.cpp
++++ b/common/param.cpp
+@@ -102,7 +102,7 @@ x265_param *x265_param_alloc()
+
+ void x265_param_free(x265_param* p)
+ {
+- x265_zone_free(p);
++ PARAM_NS::x265_zone_free(p);
+ #ifdef SVT_HEVC
+ x265_free(p->svtHevcParam);
+ #endif
+--- a/common/param.h
++++ b/common/param.h
+@@ -55,6 +55,18 @@ int x265_param_apply_profile(x265_param *, const char *profile);
+ int x265_param_parse(x265_param *p, const char *name, const char *value);
+ int x265_scenecut_aware_qp_param_parse(x265_param* p, const char* name, const char* value);
+ int x265_zone_param_parse(x265_param* p, const char* name, const char* value);
++void x265_free_analysis_data(x265_param *param, x265_analysis_data* analysis);
++void x265_alloc_analysis_data(x265_param *param, x265_analysis_data* analysis);
++void x265_picture_free(x265_picture *);
++x265_zone *x265_zone_alloc(int zoneCount, int isZoneFile);
++void x265_zone_free(x265_param *param);
++FILE* x265_csvlog_open(const x265_param *);
++void x265_csvlog_frame(const x265_param *, const x265_picture *);
++void x265_csvlog_encode(const x265_param*, const x265_stats *, int padx, int pady, int argc, char** argv);
++void x265_dither_image(x265_picture *, int picWidth, int picHeight, int16_t *errorBuf, int bitDepth);
++int x265_encoder_reconfig(x265_encoder *, x265_param *);
++x265_picture *x265_picture_alloc(void);
++void x265_picture_init(x265_param *param, x265_picture *pic);
+ #define PARAM_NS X265_NS
+ #endif
+ }
+--- a/encoder/api.cpp
++++ b/encoder/api.cpp
+@@ -106,9 +106,9 @@ x265_encoder *x265_encoder_open(x265_param *p)
+ if (p->rc.zoneCount || p->rc.zonefileCount)
+ {
+ int zoneCount = p->rc.zonefileCount ? p->rc.zonefileCount : p->rc.zoneCount;
+- param->rc.zones = x265_zone_alloc(zoneCount, !!p->rc.zonefileCount);
+- latestParam->rc.zones = x265_zone_alloc(zoneCount, !!p->rc.zonefileCount);
+- zoneParam->rc.zones = x265_zone_alloc(zoneCount, !!p->rc.zonefileCount);
++ param->rc.zones = PARAM_NS::x265_zone_alloc(zoneCount, !!p->rc.zonefileCount);
++ latestParam->rc.zones = PARAM_NS::x265_zone_alloc(zoneCount, !!p->rc.zonefileCount);
++ zoneParam->rc.zones = PARAM_NS::x265_zone_alloc(zoneCount, !!p->rc.zonefileCount);
+ }
+
+ x265_copy_params(param, p);
+@@ -214,7 +214,7 @@ x265_encoder *x265_encoder_open(x265_param *p)
+ /* Try to open CSV file handle */
+ if (encoder->m_param->csvfn)
+ {
+- encoder->m_param->csvfpt = x265_csvlog_open(encoder->m_param);
++ encoder->m_param->csvfpt = PARAM_NS::x265_csvlog_open(encoder->m_param);
+ if (!encoder->m_param->csvfpt)
+ {
+ x265_log(encoder->m_param, X265_LOG_ERROR, "Unable to open CSV log file <%s>, aborting\n", encoder->m_param->csvfn);
+@@ -319,7 +319,7 @@ int x265_encoder_reconfig(x265_encoder* enc, x265_param* param_in)
+ if (encoder->m_latestParam->rc.zoneCount || encoder->m_latestParam->rc.zonefileCount)
+ {
+ int zoneCount = encoder->m_latestParam->rc.zonefileCount ? encoder->m_latestParam->rc.zonefileCount : encoder->m_latestParam->rc.zoneCount;
+- save.rc.zones = x265_zone_alloc(zoneCount, !!encoder->m_latestParam->rc.zonefileCount);
++ save.rc.zones = PARAM_NS::x265_zone_alloc(zoneCount, !!encoder->m_latestParam->rc.zonefileCount);
+ }
+ x265_copy_params(&save, encoder->m_latestParam);
+ int ret = encoder->reconfigureParam(encoder->m_latestParam, param_in);
+@@ -602,7 +602,7 @@ fail:
+ *pi_nal = 0;
+
+ if (numEncoded && encoder->m_param->csvLogLevel && encoder->m_outputCount >= encoder->m_latestParam->chunkStart)
+- x265_csvlog_frame(encoder->m_param, pic_out);
++ PARAM_NS::x265_csvlog_frame(encoder->m_param, pic_out);
+
+ if (numEncoded < 0)
+ encoder->m_aborted = true;
+@@ -643,7 +643,7 @@ void x265_vmaf_encoder_log(x265_encoder* enc, int argc, char **argv, x265_param
+ encoder->fetchStats(&stats, sizeof(stats));
+ int padx = encoder->m_sps.conformanceWindow.rightOffset;
+ int pady = encoder->m_sps.conformanceWindow.bottomOffset;
+- x265_csvlog_encode(encoder->m_param, &stats, padx, pady, argc, argv);
++ PARAM_NS::x265_csvlog_encode(encoder->m_param, &stats, padx, pady, argc, argv);
+ }
+ }
+ #endif
+@@ -657,7 +657,7 @@ void x265_encoder_log(x265_encoder* enc, int argc, char **argv)
+ encoder->fetchStats(&stats, sizeof(stats));
+ int padx = encoder->m_sps.conformanceWindow.rightOffset;
+ int pady = encoder->m_sps.conformanceWindow.bottomOffset;
+- x265_csvlog_encode(encoder->m_param, &stats, padx, pady, argc, argv);
++ PARAM_NS::x265_csvlog_encode(encoder->m_param, &stats, padx, pady, argc, argv);
+ }
+ }
+
+@@ -878,7 +878,7 @@ void x265_alloc_analysis_data(x265_param *param, x265_analysis_data* analysis)
+ return;
+
+ fail:
+- x265_free_analysis_data(param, analysis);
++ PARAM_NS::x265_free_analysis_data(param, analysis);
+ }
+
+ void x265_free_analysis_data(x265_param *param, x265_analysis_data* analysis)
+--- a/encoder/encoder.cpp
++++ b/encoder/encoder.cpp
+@@ -216,8 +216,8 @@ void Encoder::create()
+ {
+ m_dupBuffer[i] = (AdaptiveFrameDuplication*)x265_malloc(sizeof(AdaptiveFrameDuplication));
+ m_dupBuffer[i]->dupPic = NULL;
+- m_dupBuffer[i]->dupPic = x265_picture_alloc();
+- x265_picture_init(p, m_dupBuffer[i]->dupPic);
++ m_dupBuffer[i]->dupPic = PARAM_NS::x265_picture_alloc();
++ PARAM_NS::x265_picture_init(p, m_dupBuffer[i]->dupPic);
+ m_dupBuffer[i]->dupPlane = NULL;
+ m_dupBuffer[i]->dupPlane = X265_MALLOC(char, framesize);
+ m_dupBuffer[i]->dupPic->planes[0] = m_dupBuffer[i]->dupPlane;
+@@ -768,7 +768,7 @@ int Encoder::setAnalysisData(x265_analysis_data *analysis_data, int poc, uint32_
+ curFrame->m_analysisData = (*analysis_data);
+ curFrame->m_analysisData.numCUsInFrame = widthInCU * heightInCU;
+ curFrame->m_analysisData.numPartitions = m_param->num4x4Partitions;
+- x265_alloc_analysis_data(m_param, &curFrame->m_analysisData);
++ PARAM_NS::x265_alloc_analysis_data(m_param, &curFrame->m_analysisData);
+ if (m_param->maxCUSize == 16)
+ {
+ if (analysis_data->sliceType == X265_TYPE_IDR || analysis_data->sliceType == X265_TYPE_I)
+@@ -872,7 +872,7 @@ void Encoder::destroy()
+ for (uint32_t i = 0; i < DUP_BUFFER; i++)
+ {
+ X265_FREE(m_dupBuffer[i]->dupPlane);
+- x265_picture_free(m_dupBuffer[i]->dupPic);
++ PARAM_NS::x265_picture_free(m_dupBuffer[i]->dupPic);
+ X265_FREE(m_dupBuffer[i]);
+ }
+
+@@ -1478,7 +1478,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+ if (m_exportedPic)
+ {
+ if (!m_param->bUseAnalysisFile && m_param->analysisSave)
+- x265_free_analysis_data(m_param, &m_exportedPic->m_analysisData);
++ PARAM_NS::x265_free_analysis_data(m_param, &m_exportedPic->m_analysisData);
+
+ ATOMIC_DEC(&m_exportedPic->m_countRefEncoders);
+
+@@ -1892,7 +1892,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+
+ /* Free up inputPic->analysisData since it has already been used */
+ if ((m_param->analysisLoad && !m_param->analysisSave) || ((m_param->bAnalysisType == AVC_INFO) && slice->m_sliceType != I_SLICE))
+- x265_free_analysis_data(m_param, &outFrame->m_analysisData);
++ PARAM_NS::x265_free_analysis_data(m_param, &outFrame->m_analysisData);
+
+ if (pic_out)
+ {
+@@ -1971,7 +1971,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+ writeAnalysisFile(&pic_out->analysisData, *outFrame->m_encData);
+ pic_out->analysisData.saveParam = pic_out->analysisData.saveParam;
+ if (m_param->bUseAnalysisFile)
+- x265_free_analysis_data(m_param, &pic_out->analysisData);
++ PARAM_NS::x265_free_analysis_data(m_param, &pic_out->analysisData);
+ }
+ }
+ if (m_param->rc.bStatWrite && (m_param->analysisMultiPassRefine || m_param->analysisMultiPassDistortion))
+@@ -1986,7 +1986,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+ writeAnalysisFileRefine(&outFrame->m_analysisData, *outFrame->m_encData);
+ }
+ if (m_param->analysisMultiPassRefine || m_param->analysisMultiPassDistortion)
+- x265_free_analysis_data(m_param, &outFrame->m_analysisData);
++ PARAM_NS::x265_free_analysis_data(m_param, &outFrame->m_analysisData);
+ if (m_param->internalCsp == X265_CSP_I400)
+ {
+ if (slice->m_sliceType == P_SLICE)
+@@ -2153,7 +2153,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+ uint32_t heightInCU = (m_param->sourceHeight + m_param->maxCUSize - 1) >> m_param->maxLog2CUSize;
+ frameEnc->m_analysisData.numCUsInFrame = widthInCU * heightInCU;
+ frameEnc->m_analysisData.numPartitions = m_param->num4x4Partitions;
+- x265_alloc_analysis_data(m_param, &frameEnc->m_analysisData);
++ PARAM_NS::x265_alloc_analysis_data(m_param, &frameEnc->m_analysisData);
+ frameEnc->m_analysisData.poc = frameEnc->m_poc;
+ if (m_param->rc.bStatRead)
+ readAnalysisFile(&frameEnc->m_analysisData, frameEnc->m_poc, frameEnc->m_lowres.sliceType);
+@@ -2164,7 +2164,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+ for (int i = 0; i < m_param->rc.zonefileCount; i++)
+ {
+ if (m_param->rc.zones[i].startFrame == frameEnc->m_poc)
+- x265_encoder_reconfig(this, m_param->rc.zones[i].zoneParam);
++ PARAM_NS::x265_encoder_reconfig(this, m_param->rc.zones[i].zoneParam);
+ }
+ }
+
+@@ -2307,7 +2307,7 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out)
+ analysis->numCUsInFrame = numCUsInFrame;
+ analysis->numCuInHeight = heightInCU;
+ analysis->numPartitions = m_param->num4x4Partitions;
+- x265_alloc_analysis_data(m_param, analysis);
++ PARAM_NS::x265_alloc_analysis_data(m_param, analysis);
+ }
+ if (m_param->bEnableTemporalSubLayers > 2)
+ {
+@@ -4434,7 +4434,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, const x
+ else if (fread(val, size, readSize, fileOffset) != readSize)\
+ {\
+ x265_log(NULL, X265_LOG_ERROR, "Error reading analysis data\n");\
+- x265_free_analysis_data(m_param, analysis);\
++ PARAM_NS::x265_free_analysis_data(m_param, analysis);\
+ m_aborted = true;\
+ return;\
+ }\
+@@ -4470,7 +4470,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, const x
+ if (poc != curPoc || feof(m_analysisFileIn))
+ {
+ x265_log(NULL, X265_LOG_WARNING, "Error reading analysis data: Cannot find POC %d\n", curPoc);
+- x265_free_analysis_data(m_param, analysis);
++ PARAM_NS::x265_free_analysis_data(m_param, analysis);
+ return;
+ }
+ }
+@@ -4504,7 +4504,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, const x
+ if (m_param->scaleFactor)
+ analysis->numPartitions *= factor;
+ /* Memory is allocated for inter and intra analysis data based on the slicetype */
+- x265_alloc_analysis_data(m_param, analysis);
++ PARAM_NS::x265_alloc_analysis_data(m_param, analysis);
+
+ if (m_param->ctuDistortionRefine == CTU_DISTORTION_INTERNAL)
+ {
+@@ -4757,7 +4757,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, const x
+ else if (fread(val, size, readSize, fileOffset) != readSize)\
+ {\
+ x265_log(NULL, X265_LOG_ERROR, "Error reading analysis data\n");\
+- x265_free_analysis_data(m_param, analysis);\
++ PARAM_NS::x265_free_analysis_data(m_param, analysis);\
+ m_aborted = true;\
+ return;\
+ }\
+@@ -4794,7 +4794,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, const x
+ if (poc != curPoc || feof(m_analysisFileIn))
+ {
+ x265_log(NULL, X265_LOG_WARNING, "Error reading analysis data: Cannot find POC %d\n", curPoc);
+- x265_free_analysis_data(m_param, analysis);
++ PARAM_NS::x265_free_analysis_data(m_param, analysis);
+ return;
+ }
+ }
+@@ -4825,7 +4825,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, const x
+ analysis->numCuInHeight = cuLoc.heightInCU;
+
+ /* Memory is allocated for inter and intra analysis data based on the slicetype */
+- x265_alloc_analysis_data(m_param, analysis);
++ PARAM_NS::x265_alloc_analysis_data(m_param, analysis);
+
+ if (m_param->ctuDistortionRefine == CTU_DISTORTION_INTERNAL)
+ {
+@@ -5440,7 +5440,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, int sli
+ if (fread(val, size, readSize, fileOffset) != readSize)\
+ {\
+ x265_log(NULL, X265_LOG_ERROR, "Error reading analysis 2 pass data\n"); \
+- x265_alloc_analysis_data(m_param, analysis); \
++ PARAM_NS::x265_alloc_analysis_data(m_param, analysis); \
+ m_aborted = true; \
+ return; \
+ }\
+@@ -5454,7 +5454,7 @@ void Encoder::readAnalysisFile(x265_analysis_data* analysis, int curPoc, int sli
+ if (poc != curPoc || feof(m_analysisFileIn))
+ {
+ x265_log(NULL, X265_LOG_WARNING, "Error reading analysis 2 pass data: Cannot find POC %d\n", curPoc);
+- x265_free_analysis_data(m_param, analysis);
++ PARAM_NS::x265_free_analysis_data(m_param, analysis);
+ return;
+ }
+ /* Now arrived at the right frame, read the record */
+@@ -5561,7 +5561,7 @@ void Encoder::writeAnalysisFile(x265_analysis_data* analysis, FrameData &curEncD
+ if (fwrite(val, size, writeSize, fileOffset) < writeSize)\
+ {\
+ x265_log(NULL, X265_LOG_ERROR, "Error writing analysis data\n");\
+- x265_free_analysis_data(m_param, analysis);\
++ PARAM_NS::x265_free_analysis_data(m_param, analysis);\
+ m_aborted = true;\
+ return;\
+ }\
+@@ -5783,7 +5783,7 @@ void Encoder::writeAnalysisFileRefine(x265_analysis_data* analysis, FrameData &c
+ if (fwrite(val, size, writeSize, fileOffset) < writeSize)\
+ {\
+ x265_log(NULL, X265_LOG_ERROR, "Error writing analysis 2 pass data\n"); \
+- x265_free_analysis_data(m_param, analysis); \
++ PARAM_NS::x265_free_analysis_data(m_param, analysis); \
+ m_aborted = true; \
+ return; \
+ }\
diff --git a/media-libs/x265/x265-3.5-r3.ebuild b/media-libs/x265/x265-3.5-r3.ebuild
new file mode 100644
index 000000000000..f510894becf4
--- /dev/null
+++ b/media-libs/x265/x265-3.5-r3.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake multilib-minimal multibuild
+
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://bitbucket.org/multicoreware/x265_git/"
+ S=${WORKDIR}/${P}/source
+else
+ SRC_URI="https://bitbucket.org/multicoreware/x265_git/downloads/${PN}_${PV}.tar.gz"
+ KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Library for encoding video streams into the H.265/HEVC format"
+HOMEPAGE="http://x265.org/ https://bitbucket.org/multicoreware/x265_git/"
+
+LICENSE="GPL-2"
+# subslot = libx265 soname
+SLOT="0/199"
+IUSE="+10bit +12bit cpu_flags_ppc_vsx2 numa test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+ASM_DEPEND=">=dev-lang/nasm-2.13"
+BDEPEND="
+ abi_x86_32? ( ${ASM_DEPEND} )
+ abi_x86_64? ( ${ASM_DEPEND} )"
+
+PATCHES=(
+ "${FILESDIR}/arm-r1.patch"
+ "${FILESDIR}/neon.patch"
+ "${FILESDIR}/x265-3.3-ppc64.patch"
+ "${FILESDIR}/tests.patch"
+ "${FILESDIR}/test-ns.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} = 9999* ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${A}
+ export S="$(echo "${WORKDIR}/${PN}_"*"/source")"
+ fi
+}
+
+# By default, the library and the encoder is configured for only one output bit
+# depth. Meaning, one has to rebuild libx265 if (s)he wants to produce HEVC
+# files with a different bit depth, which is annoying. However, upstream
+# supports proper namespacing for 8bits, 10bits & 12bits HEVC and linking all
+# that together so that the resulting library can produce all three of them
+# instead of only one.
+# The API requires the bit depth parameter, so that libx265 can then chose which
+# variant of the encoder to use.
+# To achieve this, we have to build one (static) library for each non-main
+# variant, and link it into the main library.
+# Upstream documents using the 8bit variant as main library, hence we do not
+# allow disabling it: "main" *MUST* come last in the following list.
+
+x265_get_variants() {
+ local variants=""
+ use 12bit && variants+="main12 "
+ use 10bit && variants+="main10 "
+ variants+="main"
+ echo "${variants}"
+}
+
+x265_variant_src_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+
+ einfo "Configuring variant: ${MULTIBUILD_VARIANT} for ABI: ${ABI}"
+
+ local mycmakeargs=( "${myabicmakeargs[@]}" )
+ case "${MULTIBUILD_VARIANT}" in
+ "main12")
+ mycmakeargs+=(
+ -DHIGH_BIT_DEPTH=ON
+ -DEXPORT_C_API=OFF
+ -DENABLE_SHARED=OFF
+ -DENABLE_CLI=OFF
+ -DMAIN12=ON
+ )
+ if [[ ${ABI} = x86 ]] ; then
+ mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ fi
+ if [[ ${ABI} = arm* ]] ; then
+ # 589674
+ mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ fi
+ # disable altivec for 12bit build #607802#c5
+ if [[ ${ABI} = ppc* ]] ; then
+ mycmakeargs+=(
+ -DENABLE_ALTIVEC=OFF
+ -DCPU_POWER8=$(usex cpu_flags_ppc_vsx2 ON OFF)
+ )
+ fi
+ ;;
+ "main10")
+ mycmakeargs+=(
+ -DHIGH_BIT_DEPTH=ON
+ -DEXPORT_C_API=OFF
+ -DENABLE_SHARED=OFF
+ -DENABLE_CLI=OFF
+ -DENABLE_HDR10_PLUS=ON
+ )
+ if [[ ${ABI} = x86 ]] ; then
+ mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ fi
+ if [[ ${ABI} = arm* ]] ; then
+ # 589674
+ mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ fi
+ # disable altivec for 10bit build #607802#c5
+ if [[ ${ABI} = ppc* ]] ; then
+ mycmakeargs+=(
+ -DENABLE_ALTIVEC=OFF
+ -DCPU_POWER8=$(usex cpu_flags_ppc_vsx2 ON OFF)
+ )
+ fi
+ ;;
+ "main")
+ if (( "${#MULTIBUILD_VARIANTS[@]}" > 1 )) ; then
+ local myvariants=( "${MULTIBUILD_VARIANTS[@]}" )
+ unset myvariants[${#MULTIBUILD_VARIANTS[@]}-1]
+ local liblist="" v=
+ for v in "${myvariants[@]}" ; do
+ ln -s "${BUILD_DIR%-*}-${v}/libx265.a" "libx265_${v}.a" || die
+ liblist+="libx265_${v}.a;"
+ done
+ mycmakeargs+=(
+ -DEXTRA_LIB="${liblist}"
+ -DEXTRA_LINK_FLAGS=-L.
+ -DLINKED_10BIT=$(usex 10bit)
+ -DLINKED_12BIT=$(usex 12bit)
+ )
+ if [[ ${ABI} = ppc* ]] ; then
+ # upstream uses mix of altivec + power8 vectors
+ # it's impossible to enable altivec without CPU_POWER8
+ # and it does not work on ppc32
+ # so we toggle both variables together
+ mycmakeargs+=(
+ -DCPU_POWER8=$(usex cpu_flags_ppc_vsx2 ON OFF)
+ -DENABLE_ALTIVEC=$(usex cpu_flags_ppc_vsx2 ON OFF)
+ )
+ fi
+ fi
+ ;;
+ *)
+ die "Unknown variant: ${MULTIBUILD_VARIANT}";;
+ esac
+ cmake_src_configure
+ popd >/dev/null || die
+}
+
+multilib_src_configure() {
+ local myabicmakeargs=(
+ -DENABLE_TESTS=$(usex test ON OFF)
+ $(multilib_is_native_abi || echo "-DENABLE_CLI=OFF")
+ -DENABLE_PIC=ON
+ -DENABLE_LIBNUMA=$(usex numa ON OFF)
+ -DGIT_ARCHETYPE=1 #814116
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+ )
+
+ # Unfortunately, the asm for x86/x32/arm isn't PIC-safe.
+ if [[ ${ABI} = x86 ]] ; then
+ # Bug #528202, bug #913412
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ elif [[ ${ABI} = x32 ]] ; then
+ # bug #510890
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ elif [[ ${ABI} = arm ]] ; then
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+ fi
+
+ local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
+ multibuild_foreach_variant x265_variant_src_configure
+}
+
+multilib_src_compile() {
+ local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
+ multibuild_foreach_variant cmake_src_compile
+}
+
+x265_variant_src_test() {
+ if [ -x "${BUILD_DIR}/test/TestBench" ] ; then
+ "${BUILD_DIR}/test/TestBench" || die
+ else
+ einfo "Unit tests check only assembly."
+ einfo "You do not seem to have any for ABI=${ABI}, x265 variant=${MULTIBUILD_VARIANT}"
+ einfo "Skipping tests."
+ fi
+}
+
+multilib_src_test() {
+ local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
+ multibuild_foreach_variant x265_variant_src_test
+}
+
+multilib_src_install() {
+ # Install only "main" variant since the others are already linked into it.
+ local MULTIBUILD_VARIANTS=( "main" )
+ multibuild_foreach_variant cmake_src_install
+}
+
+multilib_src_install_all() {
+ dodoc -r "${S}/../doc/"*
+
+ # we don't install *.a files for all variants,
+ # so just delete these files instead of pretending
+ # real USE=static-libs support
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/media-libs/x265/x265-9999.ebuild b/media-libs/x265/x265-9999.ebuild
index d7587145d46d..7503475200d5 100644
--- a/media-libs/x265/x265-9999.ebuild
+++ b/media-libs/x265/x265-9999.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} = 9999* ]]; then
S=${WORKDIR}/${P}/source
else
SRC_URI="https://bitbucket.org/multicoreware/x265_git/downloads/${PN}_${PV}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="Library for encoding video streams into the H.265/HEVC format"
@@ -19,8 +19,8 @@ HOMEPAGE="http://x265.org/ https://bitbucket.org/multicoreware/x265_git/"
LICENSE="GPL-2"
# subslot = libx265 soname
-SLOT="0/207"
-IUSE="+10bit +12bit cpu_flags_arm_neon cpu_flags_ppc_vsx2 numa pic test"
+SLOT="0/208"
+IUSE="+10bit +12bit cpu_flags_ppc_vsx2 numa test"
RESTRICT="!test? ( test )"
RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )"
@@ -32,10 +32,9 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-9999-arm.patch"
- #"${FILESDIR}/neon.patch"
- "${FILESDIR}/${PN}-9999-ppc64.patch"
+ "${FILESDIR}/neon.patch"
"${FILESDIR}/tests.patch"
- "${FILESDIR}/test-ns.patch"
+ "${FILESDIR}/${PN}-9999-test-ns.patch"
)
src_unpack() {
@@ -166,18 +165,15 @@ multilib_src_configure() {
-DLIB_INSTALL_DIR="$(get_libdir)"
)
+ # Unfortunately, the asm for x86/x32/arm isn't PIC-safe.
if [[ ${ABI} = x86 ]] ; then
- # Bug #528202
- if use pic ; then
- ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it."
- myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
- fi
+ # Bug #528202, bug #913412
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
elif [[ ${ABI} = x32 ]] ; then
# bug #510890
myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
elif [[ ${ABI} = arm ]] ; then
- myabicmakeargs+=( -DENABLE_ASSEMBLY=$(usex pic OFF $(usex cpu_flags_arm_neon ON OFF)) )
- use cpu_flags_arm_neon && use pic && ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it."
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
fi
local MULTIBUILD_VARIANTS=( $(x265_get_variants) )