Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libaom for openSUSE:Factory checked in at 2023-09-22 21:46:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libaom (Old) and /work/SRC/openSUSE:Factory/.libaom.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libaom" Fri Sep 22 21:46:48 2023 rev:17 rq:1111980 version:3.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libaom/libaom.changes 2023-05-12 20:32:45.332592441 +0200 +++ /work/SRC/openSUSE:Factory/.libaom.new.1770/libaom.changes 2023-09-22 21:47:14.376480243 +0200 @@ -1,0 +2,126 @@ +Tue Sep 5 17:21:29 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com> + +- Split docs to multibuild to avoid dependency cycle + +------------------------------------------------------------------- +Fri Sep 1 21:23:32 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com> + +- New upstream release 3.7.0 + - New Features + * New codec controls: + * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame. + * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta + quantization in all intra mode. The "enable-rate-guide-deltaq" option is + added for this control. + * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate + distribution used in all intra mode. The "rate-distribution-info" option + is added for this control. + * AV1E_GET_LUMA_CDEF_STRENGTH + * AV1E_SET_BITRATE_ONE_PASS_CBR + * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling. + * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP. + The "tune" option is extended to include "vmaf_saliency_map". + * SVC example encoder svc_encoder_rtc is able to use the rate control + library. + * Loopfilter level and CDEF filter level is supported by RTC rate control + library. + * New speed (--cpu-used) 11, intended for RTC screen sharing, added for + faster encoding with ~3% bdrate loss with 16% IC (instruction count) + speedup compared to speed 10. + - Compression Efficiency Improvements + * Improved VoD encoding performance + * 0.1-0.6% BDrate gains for encoding speeds 2 to 6 + * Rate control accuracy improvement in VBR mode + * RTC encoding improvements + * Screen content mode: 10-19% BDrate gains for speeds 6 - 10 + * Temporal layers video mode, for speed 10: + * 2 temporal layers on low resolutions: 13-15% BDrate gain + * 3 temporal layers on VGA/HD: 3-4% BDrate gain + - Perceptual Quality Improvements + * Fixed multiple block and color artifacts for RTC screen content by + * Incorporating color into RD cost for IDTX + * Reducing thresholds for palette mode in non RD mode + * Allowing more palette mode testing + * Improved color sensitivity for altref in non-RD mode. + * Reduced video flickering for temporal layer encoding. + - Speedup and Memory Optimizations + * Speed up the VoD encoder + * 2-5% for encoding speed 2 to 4 + * 9-15% for encoding speed 5 to 6 + * ARM + * Standard bitdepth + * speed 5: +31% + * speed 4: +2% + * speed 3: +9% + * speed 2: +157% + * High bitdepth + * speed 5: +85% + * RTC speedups + * Screen content mode + * 15% IC speedup for speeds 6-8 + * ARM: 7% for speed 9, 3% for speed 10 + * Temporal layers video mode + * 7% speedup for 3 temporal layers on VGA/HD, for speed 10 + * Single layer video + * x86: 2% IC speedup for speeds 7-10 + * ARM: 2-4% speedup across speeds 5-10 + - Bug Fixes + * aomedia:3261 Assertion failed when encoding av1 with film grain and + '--monochrome' flag + * aomedia:3276 ensure all allocations are checked (partial fix) + * aomedia:3451 The libaom library calls exit() + * aomedia:3450 enable -Wshadow for C++ sources + * aomedia:3449 Test Seg Faults After + b459af3e345be402db052a143fcc5383d4b74cbd + * aomedia:3416 prune unused symbols / restrict symbol visibility + * aomedia:3443 Jenkins failure: + UninstantiatedParameterizedTestSuite<EstimateNoiseTest> + * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1 + * aomedia:3433 DeltaqModeTest crash w/row_mt=0 + * aomedia:3429 Encoder crash when turn on both ExternalResize and + g_threads > 2 + * aomedia:3438 Build failure with + `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang. + * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing + scenarios + * aomedia:3170 vmaf tune presets produce extreme glitches in one scene + * aomedia:3401 Building shared libaom with MSVC results in a race condition + with the export library + * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance() + * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT) + * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and + functions + * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h + * aomedia:3130 'cpu-features.h' file not found on Android NDK 22 + * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running + 1 SL 3 TL + * aomedia:3412 Lossless Mode Fails Loopback Bit Test + * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is + incorrect for high bit depths + * aomedia:3403 test_libaom fails with error message + "feenableexcept() failed" on Linux arm + * aomedia:3370 Random color block at fast motion area + * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c() + * aomedia:3392 Strong artifacting for high bit-depth real-time + * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after + "Allintra: multi-threading of calculating differential contrast" + * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3 + multithreading code + * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c + * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX + * Encoding failure due to the use of loop restoration with unintended use of + lossless mode. + * Signed integer overflow in scan_past_frames + * Signed integer overflow in update_a_sep_sym + * Flickering in AV1 1440p/2160p HDR transcodes + * Fixed artifacts with screen share at encoder speed 10 + * Fixed prediction setup for IDTX +- Use system libraries instead of vendored ones + * system-gtest.patch + * system-yuv.patch +- Enable debuginfo also on modules written in assembly +- Enable building PowerPC-specific optimizations +- Enable Neon optimized code on ARM and fix runtime CPU detection +- Fix missing images in documentation + +------------------------------------------------------------------- Old: ---- libaom-3.6.1.obscpio New: ---- _multibuild libaom-3.7.0.obscpio system-gtest.patch system-yuv.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libaom.spec ++++++ --- /var/tmp/diff_new_pack.okKjJO/_old 2023-09-22 21:47:16.208546753 +0200 +++ /var/tmp/diff_new_pack.okKjJO/_new 2023-09-22 21:47:16.212546898 +0200 @@ -15,33 +15,65 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "" +%define psuffix %{nil} +%else +%define psuffix -devel-doc +%endif %define sover 3 %define __builder ninja %define __builddir _build -Name: libaom -Version: 3.6.1 +Name: libaom%{psuffix} +Version: 3.7.0 Release: 0 +%if "%{flavor}" == "" Summary: AV1 codec library -License: BSD-2-Clause Group: Productivity/Multimedia/Other +%endif +%if "%{flavor}" == "doc" +Summary: Documentation for the libaom API +Group: Documentation/HTML +BuildArch: noarch +%endif +License: BSD-2-Clause URL: https://aomedia.googlesource.com/aom/ -Source0: %{name}-%{version}.tar.xz +Source0: libaom-%{version}.tar.xz Source99: baselibs.conf Patch0: libaom-0001-Do-not-disable-_FORTIFY_SOURCE.patch +Patch1: system-gtest.patch +Patch2: system-yuv.patch -BuildRequires: c++_compiler BuildRequires: cmake >= 3.6 -BuildRequires: doxygen -BuildRequires: graphviz BuildRequires: ninja +BuildRequires: c++_compiler BuildRequires: pkgconfig +BuildRequires: pkgconfig(libyuv) +%ifarch x86_64 %ix86 BuildRequires: yasm +%endif + + +%if "%{flavor}" == "doc" +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: graphviz-gnome +%endif + %description +%if "%{flavor}" == "" This is a library for AOMedia Video 1 (AV1), an open, royalty-free video coding format designed for video transmissions over the Internet. +%endif +%if "%{flavor}" == "doc" +This package contains the API documentation for libaom, a library +for the AOMedia Video 1 (AV1) video coding format. +%endif + +%if "%{flavor}" == "" %package -n %{name}%{sover} Summary: AV1 codec library Group: System/Libraries @@ -53,21 +85,12 @@ %package devel Summary: Development files for libaom, an AV1 codec library Group: Development/Languages/C and C++ -Requires: %{name}%{sover} = %{version} +Requires: %{name}%{sover}%{_isa} = %{version} %description devel This package contains the development headers and library files for libaom, a library for the AOMedia Video 1 (AV1) video coding format. -%package devel-doc -Summary: Documentation for the libaom API -Group: Documentation/HTML -BuildArch: noarch - -%description devel-doc -This package contains the API documentation for libaom, a library -for the AOMedia Video 1 (AV1) video coding format. - %package -n aom-tools Summary: AV1 Codec Library Tools Group: Productivity/Multimedia/Other @@ -75,40 +98,66 @@ %description -n aom-tools This package contains tools included with libaom, a library for the AOMedia Video 1 (AV1) video coding format. +%endif %prep -%autosetup -p1 +%autosetup -n libaom-%{version} -p1 +# Remove vendored dependencies +rm -rf third_party/{googletest,libyuv} +sed -E -i 's|#include "third_party/googletest/src/googletest/include/([^"]*)"|#include <\1>|' test/*.{cc,h} %build - %cmake \ + -DAOM_AS_FLAGS=-gdwarf2 \ +%if "%{flavor}" == "" + -DENABLE_DOCS=OFF \ +%endif +`# Do not build unit tests, they require non-free external files.` \ + -DENABLE_TESTS=OFF \ + -DENABLE_TESTDATA=OFF \ +\ -DCONFIG_LOWBITDEPTH=1 \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ -%ifnarch aarch64 %{arm} %{ix86} x86_64 +%ifnarch aarch64 %arm %ix86 x86_64 %x86_64 ppc %power64 -DAOM_TARGET_CPU=generic \ %endif -%ifarch %{arm} - -DAOM_TARGET_CPU=arm \ -%ifarch armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl - -DENABLE_NEON=OFF \ -%endif +%ifarch %arm +`# see regex in build/cmake/rtcd.pl (this actually work for armv6hl too)` \ + -DAOM_TARGET_CPU=armv7 \ +`# Fix missing flag for neon code` \ +`# See aom_ports/arm_cpudetect.c` \ + -DENABLE_NEON=ON \ + -DAOM_NEON_INTRIN_FLAG=-mfpu=neon \ %endif %ifarch aarch64 -DAOM_TARGET_CPU=arm64 \ %endif -%ifarch %{ix86} +%ifarch ppc %power64 + -DAOM_TARGET_CPU=ppc \ +%endif +%ifarch %ix86 -DAOM_TARGET_CPU=x86 \ %endif -%ifarch x86_64 +%ifarch x86_64 %x86_64 -DAOM_TARGET_CPU=x86_64 \ %endif %{nil} + +%if "%{flavor}" == "" %cmake_build +%endif + +%if "%{flavor}" == "doc" +%cmake_build docs +%endif %install +%if "%{flavor}" == "" %cmake_install rm %{buildroot}%{_libdir}/%{name}.a + + %ldconfig_scriptlets -n %{name}%{sover} %files -n %{name}%{sover} @@ -121,10 +170,14 @@ %{_libdir}/%{name}.so %{_libdir}/pkgconfig/aom.pc -%files devel-doc -%doc %{__builddir}/docs/html/* - %files -n aom-tools %{_bindir}/aomdec %{_bindir}/aomenc +%endif + +%if "%{flavor}" == "doc" +%files +%doc %{__builddir}/docs/html/* +%endif + ++++++ _multibuild ++++++ <multibuild> <package>doc</package> </multibuild> ++++++ _service ++++++ --- /var/tmp/diff_new_pack.okKjJO/_old 2023-09-22 21:47:16.264548785 +0200 +++ /var/tmp/diff_new_pack.okKjJO/_new 2023-09-22 21:47:16.268548931 +0200 @@ -5,7 +5,7 @@ <param name="filename">libaom</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v([0-9\.]*)</param> - <param name="revision">v3.6.1</param> + <param name="revision">v3.7.0</param> </service> <service name="tar" mode="buildtime" /> <service name="recompress" mode="buildtime"> ++++++ libaom-3.6.1.obscpio -> libaom-3.7.0.obscpio ++++++ /work/SRC/openSUSE:Factory/libaom/libaom-3.6.1.obscpio /work/SRC/openSUSE:Factory/.libaom.new.1770/libaom-3.7.0.obscpio differ: char 49, line 1 ++++++ libaom.obsinfo ++++++ --- /var/tmp/diff_new_pack.okKjJO/_old 2023-09-22 21:47:16.316550673 +0200 +++ /var/tmp/diff_new_pack.okKjJO/_new 2023-09-22 21:47:16.320550819 +0200 @@ -1,5 +1,5 @@ name: libaom -version: 3.6.1 -mtime: 1683569872 -commit: 7ade96172b95adc91a5d85bf80c90989cd543ee8 +version: 3.7.0 +mtime: 1692990361 +commit: 6054fae218eda6e53e1e3b4f7ef0fff4877c7bf1 ++++++ system-gtest.patch ++++++ --- a/test/test.cmake 2022-06-17 19:46:18.000000000 +0200 +++ b/test/test.cmake 2022-08-30 12:26:32.563379100 +0200 @@ -14,6 +14,7 @@ set(AOM_TEST_TEST_CMAKE_ 1) include(ProcessorCount) +find_package(PkgConfig REQUIRED) include("${AOM_ROOT}/test/test_data_util.cmake") @@ -362,34 +363,21 @@ set(CMAKE_MACOSX_RPATH 1) endif() - add_library( - aom_gtest STATIC - "${AOM_ROOT}/third_party/googletest/src/googletest/src/gtest-all.cc") - set_property(TARGET aom_gtest PROPERTY FOLDER ${AOM_IDE_TEST_FOLDER}) - target_include_directories( - aom_gtest - PUBLIC "${AOM_ROOT}/third_party/googletest/src/googletest/include" - PRIVATE "${AOM_ROOT}/third_party/googletest/src/googletest") - - # The definition of GTEST_HAS_PTHREAD must be public, since it's checked by - # interface headers, not just by the implementation. - if(NOT (MSVC OR WIN32)) - if(CONFIG_MULTITHREAD AND CMAKE_USE_PTHREADS_INIT) - target_compile_definitions(aom_gtest PUBLIC GTEST_HAS_PTHREAD=1) - else() - target_compile_definitions(aom_gtest PUBLIC GTEST_HAS_PTHREAD=0) - endif() - endif() - - add_library( - aom_gmock STATIC - "${AOM_ROOT}/third_party/googletest/src/googlemock/src/gmock-all.cc") - set_property(TARGET aom_gmock PROPERTY FOLDER ${AOM_IDE_TEST_FOLDER}) - target_include_directories( - aom_gmock - PUBLIC "${AOM_ROOT}/third_party/googletest/src/googlemock/include" - PRIVATE "${AOM_ROOT}/third_party/googletest/src/googlemock") - target_link_libraries(aom_gmock ${AOM_LIB_LINK_TYPE} aom_gtest) + pkg_check_modules(gtest REQUIRED gtest) + add_library(aom_gtest INTERFACE) + target_link_libraries(aom_gtest INTERFACE ${gtest_LIBRARIES}) + target_link_directories(aom_gtest INTERFACE ${gtest_LIBRARY_DIRS}) + target_link_options(aom_gtest INTERFACE ${gtest_LDFLAGS_OTHER}) + target_include_directories(aom_gtest INTERFACE ${gtest_INCLUDE_DIRS}) + target_compile_options(aom_gtest INTERFACE ${gtest_CFLAGS_OTHER}) + + pkg_check_modules(gmock REQUIRED gmock) + add_library(aom_gmock INTERFACE) + target_link_libraries(aom_gmock INTERFACE ${gmock_LIBRARIES}) + target_link_directories(aom_gmock INTERFACE ${gmock_LIBRARY_DIRS}) + target_link_options(aom_gmock INTERFACE ${gmock_LDFLAGS_OTHER}) + target_include_directories(aom_gmock INTERFACE ${gmock_INCLUDE_DIRS}) + target_compile_options(aom_gmock INTERFACE ${gmock_CFLAGS_OTHER}) endif() # Setup testdata download targets, test build targets, and test run targets. The ++++++ system-yuv.patch ++++++ --- a/CMakeLists.txt.old 2022-06-17 19:46:18.000000000 +0200 +++ b/CMakeLists.txt 2022-08-30 12:58:06.276718500 +0200 @@ -457,11 +457,14 @@ endif() if(CONFIG_LIBYUV OR CONFIG_TUNE_BUTTERAUGLI) - add_library(yuv OBJECT ${AOM_LIBYUV_SOURCES}) - if(NOT MSVC) - target_compile_options(yuv PRIVATE -Wno-shadow) - endif() - include_directories("${AOM_ROOT}/third_party/libyuv/include") + find_package(PkgConfig REQUIRED) + pkg_check_modules(libyuv REQUIRED libyuv) + add_library(system_libyuv INTERFACE) + target_link_libraries(system_libyuv INTERFACE ${libyuv_LIBRARIES}) + target_link_directories(system_libyuv INTERFACE ${libyuv_LIBRARY_DIRS}) + target_link_options(system_libyuv INTERFACE ${libyuv_LDFLAGS_OTHER}) + target_include_directories(system_libyuv INTERFACE ${libyuv_INCLUDE_DIRS}) + target_compile_options(system_libyuv INTERFACE ${libyuv_CFLAGS_OTHER}) endif() if(CONFIG_AV1_ENCODER) @@ -579,10 +583,10 @@ set_target_properties(aom_static PROPERTIES LINKER_LANGUAGE CXX) endif() - list(APPEND AOM_LIB_TARGETS yuv) - target_sources(aom PRIVATE $<TARGET_OBJECTS:yuv>) + list(APPEND AOM_LIB_TARGETS system_libyuv) + target_link_libraries(aom PRIVATE system_libyuv) if(BUILD_SHARED_LIBS) - target_sources(aom_static PRIVATE $<TARGET_OBJECTS:yuv>) + target_link_libraries(aom_static PRIVATE system_libyuv) endif() endif() @@ -732,7 +736,7 @@ if(CONFIG_LIBYUV) # Add to existing targets. foreach(aom_app ${AOM_APP_TARGETS}) - target_sources(${aom_app} PRIVATE $<TARGET_OBJECTS:yuv>) + target_link_libraries(${aom_app} PRIVATE system_libyuv) set_property(TARGET ${aom_app} PROPERTY LINKER_LANGUAGE CXX) endforeach() endif() --- a/test/test.cmake +++ b/test/test.cmake @@ -458,7 +458,7 @@ target_link_libraries(test_libaom ${AOM_LIB_LINK_TYPE} aom aom_gtest) if(CONFIG_LIBYUV) - target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:yuv>) + target_link_libraries(test_libaom PRIVATE system_libyuv) endif() if(CONFIG_WEBM_IO) target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:webm>) --- a/apps/aomdec.c +++ b/apps/aomdec.c @@ -44,7 +44,7 @@ #include "common/y4menc.h" #if CONFIG_LIBYUV -#include "third_party/libyuv/include/libyuv/scale.h" +#include <libyuv/scale.h> #endif static const char *exec_name; --- a/apps/aomenc.c +++ b/apps/aomenc.c @@ -47,7 +47,7 @@ #include "stats/rate_hist.h" #if CONFIG_LIBYUV -#include "third_party/libyuv/include/libyuv/scale.h" +#include <libyuv/scale.h> #endif /* Swallow warnings about unused results of fread/fwrite */