summaryrefslogtreecommitdiff
path: root/media-libs/kvazaar
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/kvazaar')
-rw-r--r--media-libs/kvazaar/Manifest6
-rw-r--r--media-libs/kvazaar/files/kvazaar-2.3.0-backport-c6f2ba4.patch31
-rw-r--r--media-libs/kvazaar/files/kvazaar-2.3.0-backport-pr392.patch36
-rw-r--r--media-libs/kvazaar/kvazaar-2.3.0.ebuild69
-rw-r--r--media-libs/kvazaar/kvazaar-9999.ebuild4
5 files changed, 143 insertions, 3 deletions
diff --git a/media-libs/kvazaar/Manifest b/media-libs/kvazaar/Manifest
index cb0e29b9251a..cd6cdd3a306b 100644
--- a/media-libs/kvazaar/Manifest
+++ b/media-libs/kvazaar/Manifest
@@ -1,9 +1,13 @@
AUX kvazaar-2.0.0-fix-avx2-flags.patch 1226 BLAKE2B a42a1caceeadffd41f22e40d16694aaa37bf8776e7e1d98d182822b589785bdaeca89147272c0ab2b4826ced7d18f0b3b5a2c048f51b5bfe81e91b1172191334 SHA512 1fcae99b3fe6f31b9b7fd33c000e64d2a2f1359dfa81e6d6fd29302964e4d5190e54d9f7620661d6b6ecb6fd26afd0592da5a125f0b9eb31c44dc94d8f17829b
AUX kvazaar-2.2.0-backport-pr377.patch 1085 BLAKE2B e6001ee7b14abf9fbb7f9b16f206807835b838a2db1fb7744ca97dff7938616eda0674c33f971d778a7a107beb602c11b4ba5ee46c70a74c04627c5192f77384 SHA512 93d549b71c3decf76238434ad3c45201371091819c12a4771a677cbd54b9c17b9c379bec803d8875fa7df923de13f0f41888078cf5866de6ab59e975a7b0be5f
+AUX kvazaar-2.3.0-backport-c6f2ba4.patch 1255 BLAKE2B 82be15a1304ce67fa265ad52f586516f9bea8af3b6037c245010de831d22783dc38767c24a6c88db28f96cdb188eae0c42bc15b4b47427e8c5257a5ec073c545 SHA512 2a8c61d6f87429d664f6d02147439ee3361827350677b770ec675505bf532454a17c0b79d3ffe842ba1ca75c1ca855f04d77338d34d9f79728d2caaefd04ba4d
+AUX kvazaar-2.3.0-backport-pr392.patch 1522 BLAKE2B 5e13fd5fa09b719f8da2d9f17522c5c6fae0848349d86c29881553221cc4ead665446aba6b97df775ffd49e3a632752ae9d1702382f32c76f68e3397cc6fcdd6 SHA512 542b18b30110a7f98b15682685b2ca514c8b7f59a03d06cd0d5b51858ea41f10d367fa0f50ed5316b60700f4738b931e6eff578ac79fa0be69f86b83b4b3355a
DIST greatest-1.2.1.tar.gz 19792 BLAKE2B e6abd20eebf3223311fcd62e341595318dd00f192cf4b62ef3f0443a3e10fee71f4283f836931fee52672f2b37398f86046ae97220c2b6c6045fec9f9bf5cda8 SHA512 c17162fa222c84fef7826ba5202aae573d516a71bc2c59c8991db2a76f7069ed53d00aaab1b792e0c7e4243fae38183764c2e7ae0a61faf2ff13e78b29ccc211
DIST kvazaar-2.1.0.tar.gz 605962 BLAKE2B 0d61af55ab0caef2247524e8c564f9c24cfb479fcbd721f43e4409899e1a187a0e6de0b08a052cfb144ea31da906ba1c2160d6712828d6e55f0826d87f5c96ba SHA512 14b29f48908e004cf1b4f1f0c338b7b134a34140edcd58a645b4529c506cd567ebe3d56aa66e469dc417e1baa29bb8a476825b78825e810ac68a029191ad32ec
DIST kvazaar-2.2.0.tar.gz 617414 BLAKE2B 6ddb88ddea315d80e0af87a13127f235c184ae829492d1ff456899d2a24669b3deca25a320a8bdcf6e2cebc2c24e33c0678ac7bf51d2634a46781f66497bed54 SHA512 476abe251d7f555911851bc5a7dca84a96c0cd243c6a45dd59b808b8adf2b0787f69101a061bd48dfb6fe54a0aea046417f21fc826f14f518cada25c6d22aec4
+DIST kvazaar-2.3.0.tar.gz 593939 BLAKE2B a8cdc94699c6e64ef5e80336191342cb5aadfa83cc494400dd34a177836c081291e5cc176e29bf68ad8debdf3a83ca7d5c2ffd657ac96b901a0f5258e3894788 SHA512 b416e24a887a6e83b25530c6d47675fb176568c04295c944094041629b585b968133465605b9ee85e0ebebe1041774d5670cb90ee76271cb2f5c8059244297b5
EBUILD kvazaar-2.1.0.ebuild 1893 BLAKE2B 4fd421fc771cdef9ad7ce50e7cd4778aae6e1b8a2c18ed061e4a6e3acfce4256080ed2c188d9e66ca72d9a4063d34ad0bd237477a73ce31d51dd8d30a1863071 SHA512 9983889198b20539ab3a2e9a40fccb972be786189463df7bc2187b88a11540cdfbfc2d324369b622e5c7fba7d6cd4fd0126bc77b65bd2f4485286b131dbf35a7
EBUILD kvazaar-2.2.0.ebuild 1702 BLAKE2B 7001e0134547b428769c18a47917ce0e1a2f1ea7ca42da3066c051c0ceacf94a8663b84ac47980b5e24181a96a98389e41bcc26be45f49b23d8ff62a380a1198 SHA512 a8459f11895d08513a8a366c7ff4a5c784865757a41e76971518e2c50bb164fba4b1b879bfbab48c5772e7ae7d3278975c51ace31f17fcfe567d146432be9f20
-EBUILD kvazaar-9999.ebuild 1606 BLAKE2B 6316fc87c751ba0c3497e5b8e5269be45c183717b7011129aa7ed4d89a2cd1460024838e33b8d82a2e1c5e58e24d875621c9901517175ea26c431daea5b6bedd SHA512 204bf83ea425755366e02faaf6bc5a9b5ed904571e537652f1818fa26308d9fb965d3578a20856755ac1ea26db40397fb6d85bdafd2b711ceac36895dea09b1c
+EBUILD kvazaar-2.3.0.ebuild 1755 BLAKE2B 1d1ac95cc122bc3de70a8f37ca942e7f34609c87d09c1f8d8c29bce491801fb6b37fc9a21806a16eaef522d0ecbc59f49746a82e55eb2ae5465bb07628000560 SHA512 198f237e269bd80f3ed84845558d6ba2c529ac025756a27444fa2e14860fff197737bbdc1e3c95469e7976ececd61126c6764dbc16f20246cffdc2a2aa7556e3
+EBUILD kvazaar-9999.ebuild 1642 BLAKE2B 219b87cc06fb9ce4c931823b9108615cc380fae57e19def8a96880dcd1f67290f52ad22e35d9eddd5f579d78f1b684522f6fc4a536f643718f7898d9090c7781 SHA512 f1ac363e2779c19380a750479b30da7af2b7fb792a5efb955d0673ebfa8cb5cc5ca0900b18faed228ce05171a38b809f1918d64b6e743d2486558f3db1f78698
MISC metadata.xml 307 BLAKE2B 712a78cc3cbe9bee1e770452448efd933eb76c6de75e8302e8f61b22aec35a2f43ceb7c3014bf88b81ecf4ff27da4b115ab24605a53fbbba18100896fff12ff8 SHA512 29403efb372cc2ddb9e428be05bb7bf57b0a51a3ab66a0b0bfbdfbcdf6db1b5d357ddafc1b3a77d00109840ea4c610a088e7c8f97a3c0b9cd330a6edd2651ae6
diff --git a/media-libs/kvazaar/files/kvazaar-2.3.0-backport-c6f2ba4.patch b/media-libs/kvazaar/files/kvazaar-2.3.0-backport-c6f2ba4.patch
new file mode 100644
index 000000000000..c66c413cfc15
--- /dev/null
+++ b/media-libs/kvazaar/files/kvazaar-2.3.0-backport-c6f2ba4.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/902217
+https://github.com/ultravideo/kvazaar/issues/391
+https://github.com/ultravideo/kvazaar/commit/c6f2ba4711d42285636da97b133a7b5aa49c9533
+
+From c6f2ba4711d42285636da97b133a7b5aa49c9533 Mon Sep 17 00:00:00 2001
+From: Joose Sainio <joose.sainio@tuni.fi>
+Date: Thu, 1 Feb 2024 10:47:16 +0200
+Subject: [PATCH] fix unaligned access on array_checksum_generic8
+
+---
+ src/strategies/generic/nal-generic.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/strategies/generic/nal-generic.c b/src/strategies/generic/nal-generic.c
+index 1762c8ba..075c8264 100644
+--- a/src/strategies/generic/nal-generic.c
++++ b/src/strategies/generic/nal-generic.c
+@@ -157,6 +157,13 @@ static void array_checksum_generic8(const kvz_pixel* data,
+ assert(SEI_HASH_MAX_LENGTH >= 4);
+
+ for (y = 0; y < height; ++y) {
++ if (y*stride % 8 != 0) {
++ for (x = 0; x < width; ++x) {
++ uint8_t mask = (uint8_t)((x & 0xff) ^ (y & 0xff) ^ (x >> 8) ^ (y >> 8));
++ checksum += (data[(y * stride) + x] & 0xff) ^ mask;
++ }
++ continue;
++ }
+ for (xp = 0; xp < width/8; ++xp) {
+ const int x = xp * 8;
+ const uint64_t mask = ckmap[(xp&31)+32*(y&255)] ^ ((uint64_t)((x >> 8) ^ (y >> 8)) * 0x101010101010101);
diff --git a/media-libs/kvazaar/files/kvazaar-2.3.0-backport-pr392.patch b/media-libs/kvazaar/files/kvazaar-2.3.0-backport-pr392.patch
new file mode 100644
index 000000000000..81ee9fdca4d9
--- /dev/null
+++ b/media-libs/kvazaar/files/kvazaar-2.3.0-backport-pr392.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/902217
+https://github.com/ultravideo/kvazaar/pull/392
+
+From b10fc25cb980e1dbab8f42c38280f57765f93a37 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Thu, 1 Feb 2024 18:35:23 -0500
+Subject: [PATCH] Ignore "*get_pc_thunk.*" symbols in exported symbols test
+
+On i386 (32-bit x86) and sparc, gcc generates references to these
+functions which load the current PC into the specified register. These
+references are then resolved at link-time. Examples of what these
+symbols look like:
+
+../src/.libs/libkvazaar.a:libkvazaar_la-cfg.o:00000000 T __x86.get_pc_thunk.ax
+../src/.libs/libkvazaar.a:libkvazaar_la-cabac.o:0000000000000000 W __sparc_get_pc_thunk.l7
+
+Since these are platform symbols inserted by the toolchain, ignore them.
+The regex is specified as tightly as possible, and based on a quick
+search these appear to be the only two platforms affected.
+---
+ tests/test_external_symbols.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_external_symbols.sh b/tests/test_external_symbols.sh
+index b9b3d5957..4983078bf 100755
+--- a/tests/test_external_symbols.sh
++++ b/tests/test_external_symbols.sh
+@@ -4,7 +4,7 @@
+
+ set -eu${BASH+o pipefail}
+
+-if nm -go --defined-only ../src/.libs/libkvazaar.a | grep -v ' kvz_'; then
++if nm -go --defined-only ../src/.libs/libkvazaar.a | grep -Ev ' (kvz_|__[a-z0-9]+(_|\.)get_pc_thunk\.)'; then
+ printf '%s\n' 'Only symbols prefixed with "kvz_" should be exported from libkvazaar.'
+ false
+ fi
diff --git a/media-libs/kvazaar/kvazaar-2.3.0.ebuild b/media-libs/kvazaar/kvazaar-2.3.0.ebuild
new file mode 100644
index 000000000000..aee90f7e5b87
--- /dev/null
+++ b/media-libs/kvazaar/kvazaar-2.3.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GREATEST_PV="1.2.1"
+
+if [[ ${PV} = *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ultravideo/kvazaar"
+else
+ SRC_URI="https://github.com/ultravideo/kvazaar/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/silentbicycle/greatest/archive/v${GREATEST_PV}.tar.gz -> greatest-${GREATEST_PV}.tar.gz )"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv"
+fi
+inherit autotools flag-o-matic multilib-minimal
+
+DESCRIPTION="Open-source HEVC encoder"
+HOMEPAGE="http://ultravideo.cs.tut.fi/ https://github.com/ultravideo/kvazaar"
+
+LICENSE="LGPL-2.1"
+# subslot = libkvazaar major
+SLOT="0/6"
+IUSE="static-libs test"
+REQUIRED_USE="test? ( static-libs )"
+
+RESTRICT="!test? ( test )"
+ASM_DEP=">=dev-lang/yasm-1.2.0"
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? (
+ media-video/ffmpeg
+ media-video/hevc-hm
+ )
+ abi_x86_32? ( ${ASM_DEP} )
+ abi_x86_64? ( ${ASM_DEP} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.3.0-backport-pr392.patch"
+ "${FILESDIR}/${PN}-2.3.0-backport-c6f2ba4.patch"
+)
+
+src_prepare() {
+ default
+ sed -e "/^dist_doc_DATA/s/COPYING //" -i Makefile.am || die
+ eautoreconf
+ if use test && [[ ${PV} != *9999 ]]; then
+ # https://bugs.gentoo.org/show_bug.cgi?id=595932
+ rmdir "${S}/greatest" || die
+ mv "${WORKDIR}/greatest-${GREATEST_PV}" "${S}/greatest" || die
+ fi
+ # Some m4 macros append Werror, we do not want that.
+ append-flags "-Wno-error"
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-werror \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ KVZ_TEST_VALGRIND=0 emake check
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-libs/kvazaar/kvazaar-9999.ebuild b/media-libs/kvazaar/kvazaar-9999.ebuild
index 404cfe3b1d73..1945903e00c4 100644
--- a/media-libs/kvazaar/kvazaar-9999.ebuild
+++ b/media-libs/kvazaar/kvazaar-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ if [[ ${PV} = *9999 ]] ; then
else
SRC_URI="https://github.com/ultravideo/kvazaar/archive/v${PV}.tar.gz -> ${P}.tar.gz
test? ( https://github.com/silentbicycle/greatest/archive/v${GREATEST_PV}.tar.gz -> greatest-${GREATEST_PV}.tar.gz )"
- KEYWORDS="~amd64 ~arm ~loong ~mips ~riscv"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv"
fi
inherit autotools flag-o-matic multilib-minimal