[gentoo-commits] repo/gentoo:master commit in: media-libs/openh264/files/, media-libs/openh264/
commit: bda97622d000d80caec9bb5404d31b6d03040d63 Author: Joonas Niilola gentoo org> AuthorDate: Wed Dec 13 13:16:52 2023 + Commit: Joonas Niilola gentoo org> CommitDate: Wed Dec 13 13:16:52 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bda97622 media-libs/openh264: fix 2.4.0 regressiosn with upstream patches Closes: https://bugs.gentoo.org/919414 Signed-off-by: Joonas Niilola gentoo.org> ...64-2.4.0-fix-off-by-one-decode-regression.patch | 26 ++ .../openh264-2.4.0-unordered-frame-glitches.patch | 264 + media-libs/openh264/openh264-2.4.0-r1.ebuild | 136 +++ 3 files changed, 426 insertions(+) diff --git a/media-libs/openh264/files/openh264-2.4.0-fix-off-by-one-decode-regression.patch b/media-libs/openh264/files/openh264-2.4.0-fix-off-by-one-decode-regression.patch new file mode 100644 index ..0ef8e3dc56f2 --- /dev/null +++ b/media-libs/openh264/files/openh264-2.4.0-fix-off-by-one-decode-regression.patch @@ -0,0 +1,26 @@ +From ff7cc30b59bea581b3a9455009cc0deb67fee98c Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Wed, 29 Nov 2023 13:40:53 +0100 +Subject: [PATCH] Fix off by one regression in decoder + +Fix iPicBuffIdx bounds check introduced in commit +986bd65b711191d4883c54ace32a9879e17729c2 and allow 0 as an index value. + +This fixes Big_Buck_Bunny_720_10s_30MB.mp4 playback with gst-play-1.0. +--- + codec/decoder/plus/src/welsDecoderExt.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/codec/decoder/plus/src/welsDecoderExt.cpp b/codec/decoder/plus/src/welsDecoderExt.cpp +index 170d17dec..457effb68 100644 +--- a/codec/decoder/plus/src/welsDecoderExt.cpp b/codec/decoder/plus/src/welsDecoderExt.cpp +@@ -1136,7 +1136,7 @@ void CWelsDecoder::ReleaseBufferedReadyPictureReorder (PWelsDecoderContext pCtx, + m_sPictInfoList[m_sReoderingStatus.iPictInfoIndex].iPOC = IMinInt32; + int32_t iPicBuffIdx = m_sPictInfoList[m_sReoderingStatus.iPictInfoIndex].iPicBuffIdx; + if (pPicBuff != NULL) { +-if (iPicBuffIdx > 0 && iPicBuffIdx < pPicBuff->iCapacity) ++if (iPicBuffIdx >= 0 && iPicBuffIdx < pPicBuff->iCapacity) + { + PPicture pPic = pPicBuff->ppPic[iPicBuffIdx]; + --pPic->iRefCount; diff --git a/media-libs/openh264/files/openh264-2.4.0-unordered-frame-glitches.patch b/media-libs/openh264/files/openh264-2.4.0-unordered-frame-glitches.patch new file mode 100644 index ..373fac95f940 --- /dev/null +++ b/media-libs/openh264/files/openh264-2.4.0-unordered-frame-glitches.patch @@ -0,0 +1,264 @@ +From 56d3ec4c7bfdc545a840512a8f2c72545889c538 Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Tue, 5 Dec 2023 21:48:40 +0900 +Subject: [PATCH 1/3] Add missing iLastWrittenPOC setting in unbuffered + reordering. + +In CWelsDecoder::ReorderPicturesInDisplay(), iLastWrittenPOC was +not set in unbuffered-reordering case. Due to this problem, it +sometimes reordered the frames incorrectly. This patch fixes the +issue. +--- + codec/decoder/plus/src/welsDecoderExt.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/codec/decoder/plus/src/welsDecoderExt.cpp b/codec/decoder/plus/src/welsDecoderExt.cpp +index 457effb68..a1b26c2cb 100644 +--- a/codec/decoder/plus/src/welsDecoderExt.cpp b/codec/decoder/plus/src/welsDecoderExt.cpp +@@ -1206,6 +1206,7 @@ DECODING_STATE CWelsDecoder::ReorderPicturesInDisplay(PWelsDecoderContext pDecCo + if (pDstInfo->iBufferStatus == 1) { + if (m_sReoderingStatus.iLastGOPRemainPicts == 0 && pDecContext->pSliceHeader->eSliceType == B_SLICE && + pDecContext->pSliceHeader->iPicOrderCntLsb <= m_sReoderingStatus.iLastWrittenPOC + 2) { ++ m_sReoderingStatus.iLastWrittenPOC = pDecContext->pSliceHeader->iPicOrderCntLsb; + //issue #3478, use b-slice type to determine correct picture order as the first priority as POC order is not as reliable as based on b-slice + ppDst[0] = pDstInfo->pDst[0]; + ppDst[1] = pDstInfo->pDst[1]; + +From 10d0998a966dc98ba1a93122f214c2aef5bcd33f Mon Sep 17 00:00:00 2001 +From: Takashi Yano +Date: Wed, 6 Dec 2023 02:08:19 +0900 +Subject: [PATCH 2/3] Prevent frame buffer from overwrite at GOP change. + +When bNewSeqBegin got true, iRefCount was forcibly reset even if the +buffer was still used for reordering. Due to this problem, the buffer +in use was sometimes overwritten with newly decoded frame. This commit +is for fixing that problem. +--- + codec/decoder/core/src/manage_dec_ref.cpp | 37 --- + codec/decoder/plus/src/welsDecoderExt.cpp | 4 +++ + 2 files changed, 24 insertions(+), 17 deletions(-) + +diff --git a/codec/decoder/core/src/manage_dec_ref.cpp b/codec/decoder/core/src/manage_dec_ref.cpp +index 88099b60e..c3c983129 100644 +--- a/codec/decoder/core/src/manage_dec_ref.cpp b/codec/decoder/core/src/manage_dec_ref.cpp +@@ -66,8 +66,10 @@ int32_t GetLTRF
[gentoo-commits] repo/gentoo:master commit in: media-libs/openh264/files/, media-libs/openh264/
commit: 58e1d4b5b4cd962f2fbe44a3abd5dab69a95e77a Author: Matoro Mahri users noreply github com> AuthorDate: Wed Mar 15 16:32:08 2023 + Commit: Joonas Niilola gentoo org> CommitDate: Wed Mar 15 18:07:36 2023 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58e1d4b5 media-libs/openh264: wire up tests, add mips patch Patch backports https://github.com/cisco/openh264/pull/3630 Tests are currently broken on BE but pass on LE. https://github.com/cisco/openh264/issues/3634 Bug: https://bugs.gentoo.org/896138 Signed-off-by: Matoro Mahri users.noreply.github.com> Closes: https://github.com/gentoo/gentoo/pull/30137 Signed-off-by: Joonas Niilola gentoo.org> .../openh264/files/openh264-2.3.1-pr3630.patch | 159 + media-libs/openh264/openh264-2.3.1-r1.ebuild | 20 ++- 2 files changed, 175 insertions(+), 4 deletions(-) diff --git a/media-libs/openh264/files/openh264-2.3.1-pr3630.patch b/media-libs/openh264/files/openh264-2.3.1-pr3630.patch new file mode 100644 index ..c9d0c3f2a98b --- /dev/null +++ b/media-libs/openh264/files/openh264-2.3.1-pr3630.patch @@ -0,0 +1,159 @@ +https://bugs.gentoo.org/show_bug.cgi?id=896138 +https://github.com/cisco/openh264/pull/3630 + +From f60e7d9bdc39e51b644db7624256116202cac992 Mon Sep 17 00:00:00 2001 +From: matoro +Date: Thu, 2 Mar 2023 17:39:45 -0500 +Subject: [PATCH] Use environment for mips feature detection + +The -march= option is perfectly happy to emit code to run on a processor +different than the one on which it is being compiled. This results in +misdetection of mips features because the test compiles specify that a +given extension should be emitted, but this does not check whether or +not this corresponds to the subarchitecture targeted in CFLAGS by the +rest of the build. + +$ echo "void main(void){ __asm__ volatile(\"punpcklhw \$f0, \$f0, \$f0\"); }" > test.c +$ CFLAGS="-march=loongson3a" make test +cc -march=loongson3atest.c -o test +$ ./test +Illegal instruction +$ CFLAGS="-march=native" make -B test +cc -march=nativetest.c -o test +/tmp/ccLbeyM1.s: Assembler messages: +/tmp/ccLbeyM1.s:25: Error: opcode not supported on this processor: octeon2 (mips64r2) `punpcklhw $f0,$f0,$f0' +make: *** [: test] Error 1 + +This leads to -march=loongson3a getting appended to CFLAGS, which may +conflict with previously specified -march= levels for the build, or +other options. Calling make in the test will use whatever CC/CFLAGS are +specified in the environment to determine whether the actual compile +command line to be used in the build supports these features. + +Fixes: 8b942ee ("Adjust the mmi/msa detection mode for mips platform.") +--- + build/arch.mk | 8 + build/loongarch-simd-check.sh | 17 +++-- + build/mips-simd-check.sh | 17 +++-- + 3 files changed, 18 insertions(+), 24 deletions(-) + +diff --git a/build/arch.mk b/build/arch.mk +index 4e1538c45c..80983686f7 100644 +--- a/build/arch.mk b/build/arch.mk +@@ -39,14 +39,14 @@ ASM_ARCH = mips + ASMFLAGS += -I$(SRC_PATH)codec/common/mips/ + #mmi + ifeq ($(ENABLE_MMI), Yes) +-ENABLE_MMI = $(shell $(SRC_PATH)build/mips-simd-check.sh $(CC) mmi) ++ENABLE_MMI = $(shell CC="$(CC)" CFLAGS="$(CFLAGS)" $(SRC_PATH)build/mips-simd-check.sh mmi) + ifeq ($(ENABLE_MMI), Yes) + CFLAGS += -DHAVE_MMI -march=loongson3a + endif + endif + #msa + ifeq ($(ENABLE_MSA), Yes) +-ENABLE_MSA = $(shell $(SRC_PATH)build/mips-simd-check.sh $(CC) msa) ++ENABLE_MSA = $(shell CC="$(CC)" CFLAGS="$(CFLAGS)" $(SRC_PATH)build/mips-simd-check.sh msa) + ifeq ($(ENABLE_MSA), Yes) + CFLAGS += -DHAVE_MSA -mmsa + endif +@@ -63,14 +63,14 @@ ASM_ARCH = loongarch + ASMFLAGS += -I$(SRC_PATH)codec/common/loongarch/ + #lsx + ifeq ($(ENABLE_LSX), Yes) +-ENABLE_LSX = $(shell $(SRC_PATH)build/loongarch-simd-check.sh $(CC) lsx) ++ENABLE_LSX = $(shell CC="$(CC)" CFLAGS="$(CFLAGS)" $(SRC_PATH)build/loongarch-simd-check.sh lsx) + ifeq ($(ENABLE_LSX), Yes) + CFLAGS += -DHAVE_LSX -mlsx + endif + endif + #lasx + ifeq ($(ENABLE_LASX), Yes) +-ENABLE_LASX = $(shell $(SRC_PATH)build/loongarch-simd-check.sh $(CC) lasx) ++ENABLE_LASX = $(shell CC="$(CC)" CFLAGS="$(CFLAGS)" $(SRC_PATH)build/loongarch-simd-check.sh lasx) + ifeq ($(ENABLE_LASX), Yes) + CFLAGS += -DHAVE_LASX -mlasx + endif +diff --git a/build/loongarch-simd-check.sh b/build/loongarch-simd-check.sh +index 597ddcdc22..2e609443b9 100755 +--- a/build/loongarch-simd-check.sh b/build/loongarch-simd-check.sh +@@ -8,29 +8,26 @@ + #lsx, lasx (maybe more in the future). + # + # --usage: +-# ./loongarch-simd-check.sh $(CC) lsx +-# or ./loongarch-simd-check.sh $(CC) lasx ++# ./loongarch-simd-check.sh lsx ++# or ./loongarch-simd-check.sh lasx + # + # date: 11/23/2021 Created + #*** + + TMPC=$(mktemp tmp.XX.c) +-TMPO=$(mktemp tmp.X
[gentoo-commits] repo/gentoo:master commit in: media-libs/openh264/files/, media-libs/openh264/
commit: 498b587c2e15dc6e2041d9dbf3f162a49a0dc257 Author: Joonas Niilola gentoo org> AuthorDate: Mon Aug 1 08:02:04 2022 + Commit: Joonas Niilola gentoo org> CommitDate: Mon Aug 1 08:15:32 2022 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=498b587c media-libs/openh264: add 2.3.0 Signed-off-by: Joonas Niilola gentoo.org> media-libs/openh264/Manifest | 2 + .../files/openh264-2.3.0-pkgconfig-pathfix.patch | 41 +++ media-libs/openh264/openh264-2.3.0.ebuild | 121 + 3 files changed, 164 insertions(+) diff --git a/media-libs/openh264/Manifest b/media-libs/openh264/Manifest index f39be21b8256..c939d4a9aeac 100644 --- a/media-libs/openh264/Manifest +++ b/media-libs/openh264/Manifest @@ -1,2 +1,4 @@ +DIST gmp-api-Firefox39-3a01c086d1b0394238ff1b5ad22e76022830625a.tar.gz 10464 BLAKE2B db6990a55b4128c267ee5ffa4e38edd2551c862e549776b4092d568381800135830c6304642cdd9c2c0afe06035edebafde769693082ae7a5236cdc463e8 SHA512 a6383834391d98754177b54df31d006144b5cad952df60115fd12fb6f0c87e571a10f9ce7276b817e4137efd97ffa7bca5092e289b0eb7cde2a3ad923319e874 DIST gmp-api-Firefox39-e3935759360861812d33cbd3b713e25f1de1ecb5.tar.gz 10440 BLAKE2B 92379258f2664778baee50b99573dbeae50e723a3f7605c62a4ca3aedd9129fbd1991d7b3ead1b8a3689e71f783ded0b15dca5e6d910345c95a6f28898bbdda3 SHA512 85e4b58cc66072fad2b6dbaa65a955a8931f73eb3664f05ddca65157ac5c2547225910c36b4507d88179a95cfb35a5aff6edadd3c0fa5418529c80ae6d736f44 DIST openh264-2.2.0.tar.gz 60275282 BLAKE2B 69e44396de229c65cf7a87d6f9ce8e2ef67fbdad6740f6aa64825b71fc00af945dca3e4726b9f0b4f4b83e363f3f7aadadabbab291c612b0fb61b42478a8cacf SHA512 637e2bfa45ad586c10fc8990cad4d824ada07e277fd965c3a6cdd19bc7836b2d7082574037a3ff2ee631207dd8cb0ec4f68abafdc19646b433de561c47ce8d38 +DIST openh264-2.3.0.tar.gz 60290792 BLAKE2B 08aa571471188c72bb0f098fa1cfaf9ba46ee4311f50518de868a2d7bbd61d9d4547cf5d33b3140d56c09a1ea7ea411bfaa96ed960e159876e6cc803f081b5d3 SHA512 5f0ccbb3c0026a010d9830e973312486f9d5ea8152afa3653ab6b3c43906a1169cebea70532134c1624846cc03b586e85b12cfd0621af505bd532a7dd833defd diff --git a/media-libs/openh264/files/openh264-2.3.0-pkgconfig-pathfix.patch b/media-libs/openh264/files/openh264-2.3.0-pkgconfig-pathfix.patch new file mode 100644 index ..b36aad74e7b4 --- /dev/null +++ b/media-libs/openh264/files/openh264-2.3.0-pkgconfig-pathfix.patch @@ -0,0 +1,41 @@ +diff -Naur a/Makefile b/Makefile +--- a/Makefile 2022-06-10 04:51:46.0 +0300 b/Makefile 2022-08-01 10:28:52.698923925 +0300 +@@ -27,6 +27,7 @@ + DESTDIR= + LIBDIR_NAME=lib + SHAREDLIB_DIR=$(PREFIX)/lib ++INCLUDES_DIR=$(PREFIX)/include + PROJECT_NAME=openh264 + MODULE_NAME=gmpopenh264 + GMP_API_BRANCH=Firefox39 +@@ -286,14 +287,14 @@ + endif + + $(PROJECT_NAME).pc: $(PROJECT_NAME).pc.in +- @sed -e 's;@prefix@;$(PREFIX);' -e 's;@libdir@;$(PREFIX)/lib;' -e 's;@VERSION@;$(FULL_VERSION);' -e 's;@LIBS@;;' -e 's;@LIBS_PRIVATE@;$(STATIC_LDFLAGS);' < $< > $@ ++ @sed -e 's;@prefix@;$(PREFIX);' -e 's;@libdir@;$(SHAREDLIB_DIR);' -e 's;@includesdir@;$(INCLUDES_DIR);' -e 's;@VERSION@;$(FULL_VERSION);' -e 's;@LIBS@;;' -e 's;@LIBS_PRIVATE@;$(STATIC_LDFLAGS);' < $< > $@ + + $(PROJECT_NAME)-static.pc: $(PROJECT_NAME).pc.in +- @sed -e 's;@prefix@;$(PREFIX);' -e 's;@libdir@;$(PREFIX)/lib;' -e 's;@VERSION@;$(FULL_VERSION);' -e 's;@LIBS@;$(STATIC_LDFLAGS);' -e 's;@LIBS_PRIVATE@;;' < $< > $@ ++ @sed -e 's;@prefix@;$(PREFIX);' -e 's;@libdir@;$(SHAREDLIB_DIR);' -e 's;@includesdir@;$(INCLUDES_DIR);' -e 's;@VERSION@;$(FULL_VERSION);' -e 's;@LIBS@;$(STATIC_LDFLAGS);' -e 's;@LIBS_PRIVATE@;;' < $< > $@ + + install-headers: +- mkdir -p $(DESTDIR)$(PREFIX)/include/wels +- install -m 644 $(SRC_PATH)/codec/api/wels/codec*.h $(DESTDIR)$(PREFIX)/include/wels ++ mkdir -p $(DESTDIR)$(INCLUDES_DIR)/wels ++ install -m 644 $(SRC_PATH)/codec/api/wels/codec*.h $(DESTDIR)$(INCLUDES_DIR)/wels + + install-static-lib: $(LIBPREFIX)$(PROJECT_NAME).$(LIBSUFFIX) install-headers + mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME) +diff -Naur a/openh264.pc.in b/openh264.pc.in +--- a/openh264.pc.in 2022-06-10 04:51:46.0 +0300 b/openh264.pc.in 2022-08-01 10:38:28.231850059 +0300 +@@ -1,6 +1,6 @@ + prefix=@prefix@ + libdir=@libdir@ +-includedir=${prefix}/include ++includedir=@includesdir@ + + Name: OpenH264 + Description: OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC. diff --git a/media-libs/openh264/openh264-2.3.0.ebuild b/media-libs/openh264/openh264-2.3.0.ebuild new file mode 100644 index ..518d3060fe18 --- /dev/null +++ b/media-libs/openh264/openh264-2.3.0.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs multilib-minimal + +MOZVER=39 +MY_GMP_COMMIT
[gentoo-commits] repo/gentoo:master commit in: media-libs/openh264/files/, media-libs/openh264/
commit: 408c68e5e3f5925925eb35d308387b373c7f7b5b Author: Alexis Ballier gentoo org> AuthorDate: Fri Oct 16 11:12:34 2015 + Commit: Alexis Ballier gentoo org> CommitDate: Fri Oct 16 11:15:35 2015 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=408c68e5 media-libs/openh264: Add patch to install pkgconfig files into proper libdir. Otherwise, multilib builds trying to use it do not find it. Package-Manager: portage-2.2.23 media-libs/openh264/files/pkgconfig_install.patch | 15 media-libs/openh264/openh264-1.4.0-r1.ebuild | 93 +++ 2 files changed, 108 insertions(+) diff --git a/media-libs/openh264/files/pkgconfig_install.patch b/media-libs/openh264/files/pkgconfig_install.patch new file mode 100644 index 000..50d8715 --- /dev/null +++ b/media-libs/openh264/files/pkgconfig_install.patch @@ -0,0 +1,15 @@ +Index: openh264-1.4.0/Makefile +=== +--- openh264-1.4.0.orig/Makefile openh264-1.4.0/Makefile +@@ -253,8 +253,8 @@ install-shared: $(LIBPREFIX)$(PROJECT_NA + if [ "$(SHAREDLIBSUFFIXVER)" != "$(SHAREDLIBSUFFIX)" ]; then \ + cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)/$(SHAREDLIB_DIR); \ + fi +- mkdir -p $(DESTDIR)/$(PREFIX)/lib/pkgconfig +- install -m 644 $(PROJECT_NAME).pc $(DESTDIR)/$(PREFIX)/lib/pkgconfig ++ mkdir -p $(DESTDIR)/$(SHAREDLIB_DIR)/pkgconfig ++ install -m 644 $(PROJECT_NAME).pc $(DESTDIR)/$(SHAREDLIB_DIR)/pkgconfig + ifneq ($(EXTRA_LIBRARY),) + install -m 644 $(EXTRA_LIBRARY) $(DESTDIR)/$(PREFIX)/lib + endif diff --git a/media-libs/openh264/openh264-1.4.0-r1.ebuild b/media-libs/openh264/openh264-1.4.0-r1.ebuild new file mode 100644 index 000..9e3c95d --- /dev/null +++ b/media-libs/openh264/openh264-1.4.0-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit nsplugins multilib-minimal + +MOZVER=38 +DESCRIPTION="Cisco OpenH264 library and Gecko Media Plugin for Mozilla packages" +HOMEPAGE="http://www.openh264.org/"; +SRC_URI="https://github.com/cisco/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/mozilla/gmp-api/archive/Firefox${MOZVER}.tar.gz -> gmp-api-Firefox${MOZVER}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+plugin utils" + +RESTRICT="bindist" + +RDEPEND="!"${T}"/98-moz-gmp-${PN} + doenvd "${T}"/98-moz-gmp-${PN} + + cat <"${T}"/${P}.js +pref("media.gmp-gmp${PN}.autoupdate", false); +pref("media.gmp-gmp${PN}.version", "system-installed"); +PREFEOF + + insinto /usr/$(get_libdir)/firefox/defaults/pref + doins "${T}"/${P}.js + + insinto /usr/$(get_libdir)/seamonkey/defaults/pref + doins "${T}"/${P}.js + fi +} + +pkg_postinst() { + if use plugin; then + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "Please restart your login session, in order for the session's environment" + elog "to include the new MOZ_GMP_PATH variable." + elog "" + fi + elog "This package attempts to override the Mozilla GMPInstaller auto-update process," + elog "however even if it is not successful in doing so the profile-installed plugin" + elog "will not be used unless this package is removed. This package will take precedence" + elog "over any gmp-gmpopenh264 that may be installed in a user's profile." + elog "" + fi +}