diff options
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/Manifest.gz | bin | 69125 -> 69128 bytes | |||
-rw-r--r-- | media-libs/libmpdclient/Manifest | 2 | ||||
-rw-r--r-- | media-libs/libmpdclient/libmpdclient-2.21.ebuild | 43 | ||||
-rw-r--r-- | media-libs/libplacebo/Manifest | 2 | ||||
-rw-r--r-- | media-libs/libplacebo/libplacebo-6.338.1.ebuild | 2 | ||||
-rw-r--r-- | media-libs/libvpx/Manifest | 2 | ||||
-rw-r--r-- | media-libs/libvpx/libvpx-1.13.1-r1.ebuild | 2 | ||||
-rw-r--r-- | media-libs/mesa/Manifest | 2 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.3.1.ebuild | 2 | ||||
-rw-r--r-- | media-libs/x264/Manifest | 3 | ||||
-rw-r--r-- | media-libs/x264/x264-0.0.20231114-r1.ebuild | 74 | ||||
-rw-r--r-- | media-libs/x264/x264-9999.ebuild | 4 | ||||
-rw-r--r-- | media-libs/x265/Manifest | 4 | ||||
-rw-r--r-- | media-libs/x265/files/x265-9999-test-ns.patch | 286 | ||||
-rw-r--r-- | media-libs/x265/x265-3.5-r3.ebuild | 217 | ||||
-rw-r--r-- | media-libs/x265/x265-9999.ebuild | 22 |
16 files changed, 644 insertions, 23 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz Binary files differindex e7b10ab97ba2..d5f95b70612b 100644 --- a/media-libs/Manifest.gz +++ b/media-libs/Manifest.gz 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) ) |