summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2021-10-04 12:06:10 -0400
committerAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2021-10-04 12:06:10 -0400
commitf420ef51bf13e04fd2967eb503c61eaac109039a (patch)
tree1fcf91b7646df4f84b88fb2ef914c7086c50bde6
parentcf5d1f3d33cb16eddec4e41600eee8d09bef4a2b (diff)
downloadgentoo-overlay-f420ef51bf13e04fd2967eb503c61eaac109039a.tar.xz
gentoo-overlay-f420ef51bf13e04fd2967eb503c61eaac109039a.zip
media-libs/svt-av1: sync, fix multilib
-rw-r--r--media-libs/svt-av1/Manifest2
-rw-r--r--media-libs/svt-av1/files/svt-av1-0.8.6-fix-c-only-build.patch123
-rw-r--r--media-libs/svt-av1/files/svt-av1-0.8.6-no-force-avx.patch18
-rw-r--r--media-libs/svt-av1/svt-av1-0.8.7.ebuild (renamed from media-libs/svt-av1/svt-av1-0.8.6.ebuild)34
-rw-r--r--media-libs/svt-av1/svt-av1-9999.ebuild34
5 files changed, 68 insertions, 143 deletions
diff --git a/media-libs/svt-av1/Manifest b/media-libs/svt-av1/Manifest
index 0f9abf8..6208e0d 100644
--- a/media-libs/svt-av1/Manifest
+++ b/media-libs/svt-av1/Manifest
@@ -1 +1 @@
-DIST svt-av1-0.8.6.tar.gz 6416120 BLAKE2B c30d3bfc2dba6d7964625c4505bb135aa335adf195df91ad058fb02496276cabdc651b09854a2d14136352a434e08f4974148e03e7d54bde0924d25a1c4524cd SHA512 07e7353e35bc581b23c71913e65f5fd27566f4bf1d317d474d57d5bb2b82f380f713a00be19bd3f703935da50f81f3abf1d4ae38fbdf253385edf423737c0543
+DIST svt-av1-0.8.7.tar.gz 6396358 BLAKE2B 21a0d319078887809d08276b1a11b6dcca1be90a79c6bda19b86749fabb623918b9112de8ae3c7740b14f23d52e4e1c12ec0190f49880b09993525a857f8e334 SHA512 812b794eda930f53dcba6bb02bc5a3f417346705d64f590d7acf2d45df8d10985bd40c313eaaed514601ab699e23c87852059b9eb0b0ff8a717ef9fd80a132f7
diff --git a/media-libs/svt-av1/files/svt-av1-0.8.6-fix-c-only-build.patch b/media-libs/svt-av1/files/svt-av1-0.8.6-fix-c-only-build.patch
deleted file mode 100644
index 81c82bb..0000000
--- a/media-libs/svt-av1/files/svt-av1-0.8.6-fix-c-only-build.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-https://bugs.gentoo.org/766156
-https://github.com/AOMediaCodec/SVT-AV1/commit/09c90e4cfb602b9a247a8a256923bdbddaf2ed9b
-
-From 09c90e4cfb602b9a247a8a256923bdbddaf2ed9b Mon Sep 17 00:00:00 2001
-From: Slawomir Pawlowski <slawomir.pawlowski@intel.com>
-Date: Fri, 18 Dec 2020 16:47:20 +0100
-Subject: [PATCH] Fix C only build
-
----
- CMakeLists.txt | 5 ++++-
- Source/Lib/Common/Codec/common_dsp_rtcd.c | 5 ++++-
- Source/Lib/Common/Codec/common_dsp_rtcd.h | 2 ++
- Source/Lib/Decoder/CMakeLists.txt | 5 ++++-
- Source/Lib/Encoder/CMakeLists.txt | 5 ++++-
- Source/Lib/Encoder/Codec/firstpass.c | 2 +-
- 6 files changed, 19 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8baff740b1..efdd7385fb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -302,6 +302,9 @@ if(BUILD_TESTING)
- endif()
-
- add_subdirectory(third_party/fastfeat)
--add_subdirectory(third_party/cpuinfo)
-+
-+if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM)
-+ add_subdirectory(third_party/cpuinfo)
-+endif()
-
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/Source/API/ DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/svt-av1" FILES_MATCHING PATTERN "*.h")
-diff --git a/Source/Lib/Common/Codec/common_dsp_rtcd.c b/Source/Lib/Common/Codec/common_dsp_rtcd.c
-index e24f99f66b..c09f088b88 100644
---- a/Source/Lib/Common/Codec/common_dsp_rtcd.c
-+++ b/Source/Lib/Common/Codec/common_dsp_rtcd.c
-@@ -17,8 +17,10 @@
- #include "EbPackUnPack_C.h"
- #include "EbAvcStyleMcp.h"
-
-+#ifdef ARCH_X86_64
- // for get_cpu_flags
- #include "cpuinfo.h"
-+#endif
-
- /*
- * DSP deprecated flags
-@@ -69,7 +71,7 @@ int64_t svt_av1_block_error_c(const TranLow *coeff, const TranLow *dqcoeff,
- /**************************************
- * Instruction Set Support
- **************************************/
--
-+#ifdef ARCH_X86_64
- CPU_FLAGS get_cpu_flags() {
- CPU_FLAGS flags = 0;
-
-@@ -105,6 +107,7 @@ CPU_FLAGS get_cpu_flags_to_use() {
- #endif
- return flags;
- }
-+#endif /*ARCH_X86_64*/
-
- #ifdef ARCH_X86_64
- #ifndef NON_AVX512_SUPPORT
-diff --git a/Source/Lib/Common/Codec/common_dsp_rtcd.h b/Source/Lib/Common/Codec/common_dsp_rtcd.h
-index b76882b003..f67243f3d4 100644
---- a/Source/Lib/Common/Codec/common_dsp_rtcd.h
-+++ b/Source/Lib/Common/Codec/common_dsp_rtcd.h
-@@ -67,8 +67,10 @@ extern "C" {
- #endif
-
- // Helper Functions
-+#ifdef ARCH_X86_64
- CPU_FLAGS get_cpu_flags();
- CPU_FLAGS get_cpu_flags_to_use();
-+#endif
- void setup_common_rtcd_internal(CPU_FLAGS flags);
- void svt_aom_blend_a64_vmask_c(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
- RTCD_EXTERN void(*svt_aom_blend_a64_vmask)(uint8_t *dst, uint32_t dst_stride, const uint8_t *src0, uint32_t src0_stride, const uint8_t *src1, uint32_t src1_stride, const uint8_t *mask, int w, int h);
-diff --git a/Source/Lib/Decoder/CMakeLists.txt b/Source/Lib/Decoder/CMakeLists.txt
-index c8ffc57657..c71c4da0b8 100644
---- a/Source/Lib/Decoder/CMakeLists.txt
-+++ b/Source/Lib/Decoder/CMakeLists.txt
-@@ -99,7 +99,9 @@ set_target_properties(SvtAv1Dec PROPERTI
- set_target_properties(SvtAv1Dec PROPERTIES SOVERSION ${DEC_VERSION_MAJOR})
- add_dependencies(SvtAv1Dec EbVersionHeaderGen)
- target_link_libraries(SvtAv1Dec PUBLIC ${PLATFORM_LIBS})
--target_link_libraries(SvtAv1Dec PRIVATE cpuinfo_public)
-+if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM)
-+ target_link_libraries(SvtAv1Dec PRIVATE cpuinfo_public)
-+endif()
- install(TARGETS SvtAv1Dec DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-
- configure_file(pkg-config.pc.in ${CMAKE_BINARY_DIR}/SvtAv1Dec.pc @ONLY)
-diff --git a/Source/Lib/Encoder/CMakeLists.txt b/Source/Lib/Encoder/CMakeLists.txt
-index 936592e1ce..ab310dcef1 100644
---- a/Source/Lib/Encoder/CMakeLists.txt
-+++ b/Source/Lib/Encoder/CMakeLists.txt
-@@ -130,7 +130,9 @@ endif()
- set_target_properties(SvtAv1Enc PROPERTIES VERSION ${ENC_VERSION})
- set_target_properties(SvtAv1Enc PROPERTIES SOVERSION ${ENC_VERSION_MAJOR})
- target_link_libraries(SvtAv1Enc PUBLIC ${PLATFORM_LIBS})
--target_link_libraries(SvtAv1Enc PRIVATE cpuinfo_public)
-+if(NOT COMPILE_C_ONLY AND HAVE_X86_PLATFORM)
-+ target_link_libraries(SvtAv1Enc PRIVATE cpuinfo_public)
-+endif()
- install(TARGETS SvtAv1Enc DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-
- configure_file(pkg-config.pc.in ${CMAKE_BINARY_DIR}/SvtAv1Enc.pc @ONLY)
-diff --git a/Source/Lib/Encoder/Codec/firstpass.c b/Source/Lib/Encoder/Codec/firstpass.c
-index feb7a1fae7..80b7dd05d8 100644
---- a/Source/Lib/Encoder/Codec/firstpass.c
-+++ b/Source/Lib/Encoder/Codec/firstpass.c
-@@ -1189,8 +1189,8 @@ static void first_pass_setup_me_context(MotionEstimationContext_t *context_ptr,
- // set search method
- context_ptr->me_context_ptr->hme_search_method = SUB_SAD_SEARCH;
-
-- uint8_t *src_ptr = &(input_picture_ptr->buffer_y[buffer_index]);
- #ifdef ARCH_X86_64
-+ uint8_t *src_ptr = &(input_picture_ptr->buffer_y[buffer_index]);
- //_MM_HINT_T0 //_MM_HINT_T1 //_MM_HINT_T2 //_MM_HINT_NTA
- uint32_t i;
- for (i = 0; i < sb_height; i++) {
diff --git a/media-libs/svt-av1/files/svt-av1-0.8.6-no-force-avx.patch b/media-libs/svt-av1/files/svt-av1-0.8.6-no-force-avx.patch
new file mode 100644
index 0000000..62f3b9b
--- /dev/null
+++ b/media-libs/svt-av1/files/svt-av1-0.8.6-no-force-avx.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/785556
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -170,14 +170,6 @@
+ endif()
+ endforeach()
+
+-if(CMAKE_C_FLAGS MATCHES ".*-march=native.*")
+- string(APPEND CMAKE_C_FLAGS " -mno-avx")
+-endif()
+-
+-if(CMAKE_CXX_FLAGS MATCHES ".*-march=native.*")
+- string(APPEND CMAKE_CXX_FLAGS " -mno-avx")
+-endif()
+-
+ if(CMAKE_ASM_NASM_OBJECT_FORMAT MATCHES "win")
+ set(CMAKE_ASM_NASM_FLAGS_DEBUG "${CMAKE_ASM_NASM_FLAGS_DEBUG} -gcv8")
+ elseif(CMAKE_ASM_NASM_COMPILER MATCHES "nasm")
diff --git a/media-libs/svt-av1/svt-av1-0.8.6.ebuild b/media-libs/svt-av1/svt-av1-0.8.7.ebuild
index d4f59a9..4003eb5 100644
--- a/media-libs/svt-av1/svt-av1-0.8.6.ebuild
+++ b/media-libs/svt-av1/svt-av1-0.8.7.ebuild
@@ -1,39 +1,53 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
-inherit flag-o-matic cmake-multilib
+inherit cmake-multilib flag-o-matic
DESCRIPTION="Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder)"
-HOMEPAGE="https://github.com/AOMediaCodec/SVT-AV1"
+HOMEPAGE="https://gitlab.com/AOMediaCodec/SVT-AV1"
if [[ ${PV} = 9999 ]]; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/AOMediaCodec/SVT-AV1.git"
+ EGIT_REPO_URI="https://gitlab.com/AOMediaCodec/SVT-AV1.git"
else
- SRC_URI="https://github.com/AOMediaCodec/SVT-AV1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc -x86" # -x86: https://github.com/AOMediaCodec/SVT-AV1/issues/1231
- S="${WORKDIR}/SVT-AV1-${PV}"
+ SRC_URI="https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${PV}/SVT-AV1-v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ S="${WORKDIR}/SVT-AV1-v${PV}"
fi
# Also see "Alliance for Open Media Patent License 1.0"
LICENSE="BSD-2 Apache-2.0 BSD ISC LGPL-2.1+ MIT"
SLOT="0"
-DEPEND="amd64? ( dev-lang/yasm )"
+BDEPEND="amd64? ( dev-lang/yasm )"
-PATCHES=( "${FILESDIR}"/${P}-fix-c-only-build.patch )
+src_prepare() {
+ if ! use amd64 ; then
+ # This _should_ be possible on amd64 too, but breaks with -O3
+ # without AVX.
+ # bug #785556
+ eapply "${FILESDIR}"/${PN}-0.8.6-no-force-avx.patch
+ fi
+
+ cmake_src_prepare
+}
multilib_src_configure() {
append-ldflags -Wl,-z,noexecstack
+
local mycmakeargs=(
# Tests require linking against https://github.com/Cidana-Developers/aom/tree/av1-normative ?
# undefined reference to `ifd_inspect'
# https://github.com/Cidana-Developers/aom/commit/cfc5c9e95bcb48a5a41ca7908b44df34ea1313c0
-DBUILD_TESTING=OFF
+ -DCMAKE_OUTPUT_DIRECTORY=$BUILD_DIR
)
+ if [[ ${ABI} != amd64 ]]; then
+ mycmakeargs+=( -DCOMPILE_C_ONLY=ON )
+ fi
+
cmake_src_configure
}
diff --git a/media-libs/svt-av1/svt-av1-9999.ebuild b/media-libs/svt-av1/svt-av1-9999.ebuild
index dbdcc33..4003eb5 100644
--- a/media-libs/svt-av1/svt-av1-9999.ebuild
+++ b/media-libs/svt-av1/svt-av1-9999.ebuild
@@ -1,37 +1,53 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
-inherit flag-o-matic cmake-multilib
+inherit cmake-multilib flag-o-matic
DESCRIPTION="Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder)"
-HOMEPAGE="https://github.com/AOMediaCodec/SVT-AV1"
+HOMEPAGE="https://gitlab.com/AOMediaCodec/SVT-AV1"
if [[ ${PV} = 9999 ]]; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/AOMediaCodec/SVT-AV1.git"
+ EGIT_REPO_URI="https://gitlab.com/AOMediaCodec/SVT-AV1.git"
else
- SRC_URI="https://github.com/AOMediaCodec/SVT-AV1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 -x86" # -x86: https://github.com/AOMediaCodec/SVT-AV1/issues/1231
- S="${WORKDIR}/SVT-AV1-${PV}"
+ SRC_URI="https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${PV}/SVT-AV1-v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ S="${WORKDIR}/SVT-AV1-v${PV}"
fi
# Also see "Alliance for Open Media Patent License 1.0"
LICENSE="BSD-2 Apache-2.0 BSD ISC LGPL-2.1+ MIT"
SLOT="0"
-DEPEND="amd64? ( dev-lang/yasm )"
+BDEPEND="amd64? ( dev-lang/yasm )"
+
+src_prepare() {
+ if ! use amd64 ; then
+ # This _should_ be possible on amd64 too, but breaks with -O3
+ # without AVX.
+ # bug #785556
+ eapply "${FILESDIR}"/${PN}-0.8.6-no-force-avx.patch
+ fi
+
+ cmake_src_prepare
+}
multilib_src_configure() {
append-ldflags -Wl,-z,noexecstack
+
local mycmakeargs=(
# Tests require linking against https://github.com/Cidana-Developers/aom/tree/av1-normative ?
# undefined reference to `ifd_inspect'
# https://github.com/Cidana-Developers/aom/commit/cfc5c9e95bcb48a5a41ca7908b44df34ea1313c0
-DBUILD_TESTING=OFF
+ -DCMAKE_OUTPUT_DIRECTORY=$BUILD_DIR
)
+ if [[ ${ABI} != amd64 ]]; then
+ mycmakeargs+=( -DCOMPILE_C_ONLY=ON )
+ fi
+
cmake_src_configure
}