From 9dd3c49a00fe8ec79ec4c4d30bd89f4f2be8b0cf12ee19ac9e81f4a87d3e29c0 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 11 Nov 2020 13:29:30 +0000 Subject: [PATCH] Accepting request 847494 from home:gladiac:branches:multimedia:libs - Update to version 0.8.5 * https://github.com/AOMediaCodec/SVT-AV1/blob/v0.8.5/CHANGELOG.md - Added 1568-backport.patch - Added manpages OBS-URL: https://build.opensuse.org/request/show/847494 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/SVT-AV1?expand=0&rev=21 --- 1568-backport.patch | 190 ++++++++++++++++++++++ SVT-AV1-0.0~pre.1556042178.b4ca700.tar.xz | 3 - SVT-AV1-0.8.5.tar.gz | 3 + SVT-AV1.changes | 8 + SVT-AV1.spec | 116 ++++++++----- _service | 13 -- fix-build.patch | 50 ------ 7 files changed, 272 insertions(+), 111 deletions(-) create mode 100644 1568-backport.patch delete mode 100644 SVT-AV1-0.0~pre.1556042178.b4ca700.tar.xz create mode 100644 SVT-AV1-0.8.5.tar.gz delete mode 100644 _service delete mode 100644 fix-build.patch diff --git a/1568-backport.patch b/1568-backport.patch new file mode 100644 index 0000000..1e898c0 --- /dev/null +++ b/1568-backport.patch @@ -0,0 +1,190 @@ +From 2e581b16cecd767d5596052b10c70acc681a8b45 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Tue, 10 Nov 2020 10:34:30 +0100 +Subject: [PATCH 1/3] cmake: Use CheckCSourceCompiles + +Signed-off-by: Andreas Schneider +--- + CMakeLists.txt | 14 ++++++-------- + 1 file changed, 6 insertions(+), 8 deletions(-) + +Index: SVT-AV1-0.8.5/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/CMakeLists.txt 2020-11-10 11:29:38.547034342 +0100 +@@ -29,19 +29,17 @@ if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) + message(WARNING "32-bit is not supported") + endif() + +-file(WRITE ${CMAKE_BINARY_DIR}/conftest.c " ++include(CheckCSourceCompiles) ++ ++check_c_source_compiles(" + #if defined(_M_IX86) || defined(_M_X64) || defined(__i386__) || defined(__x86_64__) + #else + #error \"Non-x86\" + #endif +-int main() {} +-") +- +-try_compile(X86 ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/conftest.c) +- +-message(STATUS "x86 detected: ${X86}") ++int main(void) {} ++" HAVE_X86_PLATFORM) + +-if(X86) ++if(HAVE_X86_PLATFORM) + find_program(YASM_EXE yasm) + option(ENABLE_NASM "Use nasm if available (Uses yasm by default if found)" OFF) + if(YASM_EXE AND NOT CMAKE_ASM_NASM_COMPILER MATCHES "yasm" AND NOT ENABLE_NASM) +@@ -110,12 +108,13 @@ if(UNIX) + endif() + endif() + ++# Always build with -fPIC/-fPIE ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++ + set(flags_to_test + -Wextra + -Wformat +- -Wformat-security +- -fPIE +- -fPIC) ++ -Wformat-security) + if(MSVC) + list(INSERT flags_to_test 0 /W3) + list(APPEND flags_to_test /MP) +@@ -230,6 +229,10 @@ macro(ASM_COMPILE_TO_TARGET target) + endif() + endmacro() + ++# Find out if we have threading available ++set(CMAKE_THREAD_PREFER_PTHREADS ON) ++find_package(Threads) ++ + # Add Subdirectories + add_subdirectory(Source/Lib/Common) + if(BUILD_ENC) +Index: SVT-AV1-0.8.5/Source/Lib/Decoder/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/Source/Lib/Decoder/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/Source/Lib/Decoder/CMakeLists.txt 2020-11-10 11:09:55.382045862 +0100 +@@ -18,10 +18,11 @@ set(DEC_VERSION ${DEC_VERSION_MAJOR}.${D + + if(UNIX) + if(NOT APPLE) +- find_library(M_LIB name m) ++ find_library(M_LIB NAMES m) + if(M_LIB) + list(APPEND PLATFORM_LIBS m) + endif() ++ list(APPEND PLATFORM_LIBS ${CMAKE_THREAD_LIBS_INIT}) + endif() + set(LIBS_PRIVATE "-lpthread -lm") + endif() +@@ -45,7 +46,7 @@ link_directories(${PROJECT_SOURCE_DIR}/S + ${PROJECT_SOURCE_DIR}/Source/Lib/Decoder/Codec/ + ${PROJECT_SOURCE_DIR}/third_party/fastfeat/) + +-if(X86) ++if(HAVE_X86_PLATFORM) + # Include Decoder Subdirectories + include_directories(${PROJECT_SOURCE_DIR}/Source/Lib/Common/ASM_SSE2/ + ${PROJECT_SOURCE_DIR}/Source/Lib/Common/ASM_SSSE3/ +@@ -75,7 +76,7 @@ if(common_lib_source) + endif() + + # Decoder Lib Source Files +-if(X86) ++if(HAVE_X86_PLATFORM) + add_library(SvtAv1Dec + ${all_files} + $ +Index: SVT-AV1-0.8.5/Source/Lib/Encoder/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/Source/Lib/Encoder/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/Source/Lib/Encoder/CMakeLists.txt 2020-11-10 11:09:55.382045862 +0100 +@@ -19,10 +19,11 @@ set(ENC_VERSION ${ENC_VERSION_MAJOR}.${E + + if(UNIX) + if(NOT APPLE) +- find_library(M_LIB name m) ++ find_library(M_LIB NAMES m) + if(M_LIB) + list(APPEND PLATFORM_LIBS m) + endif() ++ list(APPEND PLATFORM_LIBS ${CMAKE_THREAD_LIBS_INIT}) + endif() + set(LIBS_PRIVATE "-lpthread -lm") + endif() +@@ -49,7 +50,7 @@ link_directories(${PROJECT_SOURCE_DIR}/S + add_subdirectory(C_DEFAULT) + add_subdirectory(Codec) + add_subdirectory(Globals) +-if(X86) ++if(HAVE_X86_PLATFORM) + # Include Encoder Subdirectories + include_directories(${PROJECT_SOURCE_DIR}/Source/Lib/Common/ASM_SSE2/ + ${PROJECT_SOURCE_DIR}/Source/Lib/Common/ASM_SSSE3/ +@@ -96,7 +97,7 @@ if(common_lib_source) + endif() + + # Encoder Lib Source Files +-if(X86) ++if(HAVE_X86_PLATFORM) + add_library(SvtAv1Enc + ${all_files} + $ +Index: SVT-AV1-0.8.5/Source/Lib/Common/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/Source/Lib/Common/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/Source/Lib/Common/CMakeLists.txt 2020-11-10 11:09:55.382045862 +0100 +@@ -30,7 +30,7 @@ add_library(common_lib INTERFACE) + add_subdirectory(Codec) + add_subdirectory(C_DEFAULT) + +-if(X86) ++if(HAVE_X86_PLATFORM) + add_subdirectory(ASM_SSE2) + add_subdirectory(ASM_SSSE3) + add_subdirectory(ASM_SSE4_1) +Index: SVT-AV1-0.8.5/Source/Lib/Common/Codec/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/Source/Lib/Common/Codec/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/Source/Lib/Common/Codec/CMakeLists.txt 2020-11-10 11:09:55.382045862 +0100 +@@ -21,7 +21,7 @@ add_custom_target(EbVersionHeaderGen + COMMENT "Generating version header" + VERBATIM) + +-if(X86) ++if(HAVE_X86_PLATFORM) + # Include Encoder Subdirectories + include_directories(${PROJECT_SOURCE_DIR}/Source/API/ + ${PROJECT_SOURCE_DIR}/Source/Lib/Common/Codec/ +Index: SVT-AV1-0.8.5/Source/Lib/Encoder/Codec/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/Source/Lib/Encoder/Codec/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/Source/Lib/Encoder/Codec/CMakeLists.txt 2020-11-10 11:09:55.382045862 +0100 +@@ -19,7 +19,7 @@ include_directories(../../../API + ${PROJECT_SOURCE_DIR}/Source/Lib/Encoder/Globals/ + ) + +-if(X86) ++if(HAVE_X86_PLATFORM) + # Include Encoder Subdirectories + include_directories( + ${PROJECT_SOURCE_DIR}/Source/Lib/Encoder/ASM_SSE2/ +Index: SVT-AV1-0.8.5/Source/Lib/Encoder/Globals/CMakeLists.txt +=================================================================== +--- SVT-AV1-0.8.5.orig/Source/Lib/Encoder/Globals/CMakeLists.txt 2020-09-07 09:09:35.000000000 +0200 ++++ SVT-AV1-0.8.5/Source/Lib/Encoder/Globals/CMakeLists.txt 2020-11-10 11:10:05.322095098 +0100 +@@ -19,7 +19,7 @@ include_directories(../../../API + ${PROJECT_SOURCE_DIR}/third_party/fastfeat/ + ) + +-if(X86) ++if(HAVE_X86_PLATFORM) + # Include Encoder Subdirectories + include_directories( + ${PROJECT_SOURCE_DIR}/Source/Lib/Common/ASM_SSE2/ diff --git a/SVT-AV1-0.0~pre.1556042178.b4ca700.tar.xz b/SVT-AV1-0.0~pre.1556042178.b4ca700.tar.xz deleted file mode 100644 index 7d5589e..0000000 --- a/SVT-AV1-0.0~pre.1556042178.b4ca700.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a0aaea7e7f899ba89ee82c724459bb2d2098b921c43a4a9f5717b60b77f0145 -size 1450132 diff --git a/SVT-AV1-0.8.5.tar.gz b/SVT-AV1-0.8.5.tar.gz new file mode 100644 index 0000000..3e4d4e5 --- /dev/null +++ b/SVT-AV1-0.8.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce94359ea9450745c17c12d4cc054d45f6b2498e63e2ebaa5a5273bb36f6f95 +size 6319601 diff --git a/SVT-AV1.changes b/SVT-AV1.changes index 77a9ae3..59d5a48 100644 --- a/SVT-AV1.changes +++ b/SVT-AV1.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Nov 10 11:04:19 UTC 2020 - Andreas Schneider + +- Update to version 0.8.5 + * https://github.com/AOMediaCodec/SVT-AV1/blob/v0.8.5/CHANGELOG.md +- Added 1568-backport.patch +- Added manpages + ------------------------------------------------------------------- Wed May 1 09:09:48 UTC 2019 - Jan Engelhardt diff --git a/SVT-AV1.spec b/SVT-AV1.spec index 8f7f540..01a94dd 100644 --- a/SVT-AV1.spec +++ b/SVT-AV1.spec @@ -16,45 +16,66 @@ # -%define sover suse1 +%define sover 0 Name: SVT-AV1 -Version: 0.0~pre.1556042178.b4ca700 +Version: 0.8.5 Release: 0 -Summary: The "Scalable Video Technology for AV1" Encoder +Summary: An AV1 decoder/encoder for video streams License: BSD-2-Clause-Patent Group: Productivity/Multimedia/Other -URL: https://github.com/OpenVisualCloud/SVT-AV1 -Source0: %name-%version.tar.xz -Source9: %name-rpmlintrc -Patch1: fix-build.patch +URL: https://github.com/AOMediaCodec/SVT-AV1 +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +Source9: %{name}-rpmlintrc +# +# https://github.com/AOMediaCodec/SVT-AV1/pull/1568 +Patch0: 1568-backport.patch +# BuildRequires: cmake +BuildRequires: help2man BuildRequires: gcc-c++ BuildRequires: pkg-config BuildRequires: yasm + ExclusiveArch: x86_64 %description -An AV1 encoder for video streams from Intel. +The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an +AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is +a work-in-progress targeting performance levels applicable to both VOD and Live +encoding / transcoding video applications. The SVT-AV1 decoder implementation +is targeting future codec research activities. -%package -n libSvtAv1Dec-%sover -Summary: The "Scalable Video Technology for AV1" Decoder +%package -n libSvtAv1Dec%{sover} +Summary: An AV1 decoder/encoder for video streams Group: System/Libraries +Obsoletes: libSvtAv1Dec-suse1 < %{version} +Provides: libSvtAv1Dec-suse1 = %{version} -%description -n libSvtAv1Dec-%sover -An AV1 decoder for video streams from Intel. +%description -n libSvtAv1Dec%{sover} +The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an +AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is +a work-in-progress targeting performance levels applicable to both VOD and Live +encoding / transcoding video applications. The SVT-AV1 decoder implementation +is targeting future codec research activities. -%package -n libSvtAv1Enc-%sover -Summary: The "Scalable Video Technology for AV1" Encoder +%package -n libSvtAv1Enc%{sover} +Summary: An AV1 decoder/encoder for video streams Group: System/Libraries +Obsoletes: libSvtAv1Enc-suse1 < %{version} +Provides: libSvtAv1Enc-suse1 = %{version} -%description -n libSvtAv1Enc-%sover -An AV1 encoder for video streams from Intel. +%description -n libSvtAv1Enc%{sover} +The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an +AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is +a work-in-progress targeting performance levels applicable to both VOD and Live +encoding / transcoding video applications. The SVT-AV1 decoder implementation +is targeting future codec research activities. %package devel -Summary: Development files for %name +Summary: Development files for %{name} Group: Development/Libraries/C and C++ -Requires: libSvtAv1Dec-%sover = %version -Requires: libSvtAv1Enc-%sover = %version +Requires: libSvtAv1Dec%{sover} = %{version} +Requires: libSvtAv1Enc%{sover} = %{version} %description devel An AV1 encoder for video streams from Intel. @@ -62,47 +83,52 @@ An AV1 encoder for video streams from Intel. This package contains the header files for svt-av1. %prep -%setup -q -%patch1 -p1 -%if 00%{?suse_version} < 1500 -sed -i -e 's, -fstack-protector-strong , ,' CMakeLists.txt -%endif +%autosetup -p1 %build -# Shitty CMakeLists.txt requires this to be OFF, else it runs into -# undefined reference: coeff_tbl -# ...and yet it still produces shared libs. 'S all good man? -%cmake -DBUILD_SHARED_LIBS:BOOL=OFF -make %{?_smp_mflags} +%cmake + +%cmake_build %install %cmake_install -# drop internal test lib -rm %buildroot%_libdir/libgtest_all.so -%post -n libSvtAv1Dec-%sover -p /sbin/ldconfig -%postun -n libSvtAv1Dec-%sover -p /sbin/ldconfig +# Generate manpages +install -d -m0755 %{buildroot}/%{_mandir}/man1 -%post -n libSvtAv1Enc-%sover -p /sbin/ldconfig -%postun -n libSvtAv1Enc-%sover -p /sbin/ldconfig +LD_LIBRARY_PATH="%{buildroot}%{_libdir}" \ +help2man -N --help-option=-help --version-string=%{version} %{buildroot}%{_bindir}/SvtAv1DecApp > %{buildroot}%{_mandir}/man1/SvtAv1DecApp.1 -%files -n libSvtAv1Dec-%sover +LD_LIBRARY_PATH="%{buildroot}%{_libdir}" \ +help2man -N --help-option=-help --version-string=%{version} --no-discard-stderr %{buildroot}%{_bindir}/SvtAv1EncApp > %{buildroot}%{_mandir}/man1/SvtAv1EncApp.1 + +%post -n libSvtAv1Dec%{sover} -p /sbin/ldconfig +%postun -n libSvtAv1Dec%{sover} -p /sbin/ldconfig + +%post -n libSvtAv1Enc%{sover} -p /sbin/ldconfig +%postun -n libSvtAv1Enc%{sover} -p /sbin/ldconfig + +%files -n libSvtAv1Dec%{sover} %license LICENSE.md -%_libdir/libSvtAv1Dec.so.%{sover}* +%{_libdir}/libSvtAv1Dec.so.%{sover}* -%files -n libSvtAv1Enc-%sover +%files -n libSvtAv1Enc%{sover} %license LICENSE.md -%_libdir/libSvtAv1Enc.so.%{sover}* +%{_libdir}/libSvtAv1Enc.so.%{sover}* %files -%doc README.md NOTICES.md +%doc README.md %doc Docs -%_bindir/* +%{_bindir}/SvtAv1DecApp +%{_bindir}/SvtAv1EncApp +%{_mandir}/man1/SvtAv1DecApp.1* +%{_mandir}/man1/SvtAv1EncApp.1* %files devel -%_libdir/libSvtAv1Dec.so -%_libdir/libSvtAv1Enc.so -%_libdir/pkgconfig -%_includedir/* +%{_libdir}/libSvtAv1Dec.so +%{_libdir}/libSvtAv1Enc.so +%{_libdir}/pkgconfig/SvtAv1Dec.pc +%{_libdir}/pkgconfig/SvtAv1Enc.pc +%{_includedir}/svt-av1/ %changelog diff --git a/_service b/_service deleted file mode 100644 index 1ada3db..0000000 --- a/_service +++ /dev/null @@ -1,13 +0,0 @@ - - - https://github.com/OpenVisualCloud/SVT-AV1.git - git - b4ca700 - 0.0~pre - - - *.tar - xz - - - diff --git a/fix-build.patch b/fix-build.patch deleted file mode 100644 index 2fd2235..0000000 --- a/fix-build.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1855a5b..505060d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -8,8 +8,8 @@ set(project_name "svt-av1") - - project(${project_name} C CXX ASM_NASM) - --set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib) --set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib) -+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib${LIB_SUFFIX}) -+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib${LIB_SUFFIX}) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/bin) - - set(CMAKE_POSITION_INDEPENDENT_CODE ON) -diff --git a/Source/Lib/Decoder/Codec/CMakeLists.txt b/Source/Lib/Decoder/Codec/CMakeLists.txt -index 70ddbd0..88b4a5c 100644 ---- a/Source/Lib/Decoder/Codec/CMakeLists.txt -+++ b/Source/Lib/Decoder/Codec/CMakeLists.txt -@@ -38,6 +38,8 @@ file(GLOB all_files - add_library(SvtAv1Dec SHARED - ${all_files} - ) -+ -+SET_TARGET_PROPERTIES(SvtAv1Dec PROPERTIES SOVERSION suse1) - - if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - target_link_libraries(SvtAv1Dec -@@ -69,4 +71,4 @@ endif() - configure_file(../pkg-config.pc.in ${CMAKE_BINARY_DIR}/SvtAv1Dec.pc @ONLY) - install(FILES ${CMAKE_BINARY_DIR}/SvtAv1Dec.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - install(TARGETS SvtAv1Dec DESTINATION "${CMAKE_INSTALL_LIBDIR}") --install(DIRECTORY ../../../API/ DESTINATION "${CMAKE_INSTALL_PREFIX}/include/svt-av1" FILES_MATCHING PATTERN "*.h") -\ No newline at end of file -+install(DIRECTORY ../../../API/ DESTINATION "${CMAKE_INSTALL_PREFIX}/include/svt-av1" FILES_MATCHING PATTERN "*.h") -diff --git a/Source/Lib/Encoder/Codec/CMakeLists.txt b/Source/Lib/Encoder/Codec/CMakeLists.txt -index 018f1f6..e51e11c 100644 ---- a/Source/Lib/Encoder/Codec/CMakeLists.txt -+++ b/Source/Lib/Encoder/Codec/CMakeLists.txt -@@ -38,7 +38,9 @@ file(GLOB all_files - add_library(SvtAv1Enc SHARED - ${all_files} - ) -- -+ -+SET_TARGET_PROPERTIES(SvtAv1Enc PROPERTIES SOVERSION suse1) -+ - if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - target_link_libraries(SvtAv1Enc - COMMON_CODEC