Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libyuv for openSUSE:Factory checked in at 2023-05-23 14:53:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libyuv (Old) and /work/SRC/openSUSE:Factory/.libyuv.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libyuv" Tue May 23 14:53:35 2023 rev:6 rq:1088432 version:20230517+a377993 Changes: -------- --- /work/SRC/openSUSE:Factory/libyuv/libyuv.changes 2022-10-28 19:29:49.810721550 +0200 +++ /work/SRC/openSUSE:Factory/.libyuv.new.1533/libyuv.changes 2023-05-23 14:53:48.606222815 +0200 @@ -1,0 +2,30 @@ +Mon May 22 13:35:51 UTC 2023 - Jan Engelhardt <jeng...@inai.de> + +- Trim redundancies and compact descriptions. + +------------------------------------------------------------------- +Sun May 21 13:13:13 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com> + +- Update to snapshot 20230517+a377993: + * ARGBToI420Alpha function to convert ARGB to I420 with Alpha + * Enable I{422,444}AlphaToARGBRow_RVV & ARGBAttentuateRow_RVV + * Bump version and apply clang format + * Enable ARGBToYMatrixRow_RVV/RGBAToYMatrixRow_RVV/RGBToYMatrixRow_RVV + * Enable RVV if qemu is detected + * Add ARGBToRAWRow_RVV, ARGBToRGB24Row_RVV, RGB24ToARGBRow_RVV + * YUY2ToNV12 using YUY2ToY and YUY2ToNVUV + * Remove old cipd clobber gclient hook. + * Roll chromium_revision 004bde16df..28dca358ed (1051775:1052960) + * Roll chromium_revision 7d683aeda8..004bde16df (1050091:1051775) + * [code-health] Migrate presubmit to python3 + * Enable unlimited data for YUV to RGB + * Roll chromium_revision 829c6df33d..7d683aeda8 (945687:1050098th +- Add libyuv-tools package +- Run test suite in %check +- drop Don-t-install-conversion-tool.patch +- add Install-missing-yuvconstants-binary.patch +- add cmake-minimum-required.patch +- drop Link-main-library-against-libjpeg.patch applied upstream +- add convert_test-little-endian.patch + +------------------------------------------------------------------- Old: ---- Don-t-install-conversion-tool.patch Link-main-library-against-libjpeg.patch libyuv-20220920+f9fda6e.obscpio New: ---- Install-missing-yuvconstants-binary.patch cmake-minimum-required.patch convert_test-little-endian.patch libyuv-20230517+a377993.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libyuv.spec ++++++ --- /var/tmp/diff_new_pack.bdHpWo/_old 2023-05-23 14:53:49.474227950 +0200 +++ /var/tmp/diff_new_pack.bdHpWo/_new 2023-05-23 14:53:49.478227975 +0200 @@ -1,7 +1,7 @@ # # spec file for package libyuv # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,11 +17,11 @@ Name: libyuv -Version: 20220920+f9fda6e +Version: 20230517+a377993 Release: 0 Summary: YUV scaling and conversion library License: BSD-3-Clause -Group: Productivity/Multimedia/Other +Group: Productivity/Graphics/Other URL: https://chromium.googlesource.com/libyuv/libyuv/ Source0: %{name}-%{version}.tar.xz Source99: baselibs.conf @@ -29,39 +29,47 @@ Patch0: Use-a-proper-so-version.patch Patch1: Link-against-shared-library.patch Patch2: Disable-static-library.patch -Patch3: Don-t-install-conversion-tool.patch +Patch3: Install-missing-yuvconstants-binary.patch Patch4: Use-library-suffix-during-installation.patch -Patch5: Link-main-library-against-libjpeg.patch +Patch5: cmake-minimum-required.patch +Patch6: convert_test-little-endian.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkgconfig +BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(libjpeg) %description -libyuv is an open source project that includes YUV scaling and conversion functionality. -- Scale YUV to prepare content for compression, with point, bilinear or box filter. -- Convert to YUV from webcam formats for compression. -- Convert to RGB formats for rendering/effects. -- Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode. -- Optimized for SSSE3/AVX2 on x86/x64. -- Optimized for Neon on Arm. -- Optimized for MSA on Mips. +libyuv is a project for YUV image scaling and conversion. It can +convert between RGB and YUV, scale images with point/bilinear/box +filter, rotate by 90/180/270°, and offers SSE/NEON/MSA acceleration. %package -n libyuv0 Summary: YUV scaling and conversion library Group: System/Libraries %description -n libyuv0 -libyuv is an open source project that includes YUV scaling and conversion functionality. +libyuv is a project for YUV image scaling and conversion. %package devel Summary: Development files for the YUV scaling and conversion library Group: Development/Libraries/C and C++ -Requires: libyuv0 = %{version} +Requires: libyuv0%{_isa} = %{version} %description devel This package contains the development files -for the YUV scaling and conversion library +for the YUV scaling and conversion library. + +%package tools +Summary: Command line utilities from libyuv +Group: Productivity/Graphics/Other + +%description tools +libyuv is a project for YUV image scaling and conversion. It can +convert between RGB and YUV, scale images with point/bilinear/box +filter, rotate by 90/180/270°, and offers SSE/NEON/MSA acceleration. + +This package contains the yuvconvert and yuvconstants commandline programs. %prep %autosetup -p1 @@ -80,15 +88,24 @@ Libs: -lyuv EOF -%cmake +# Compile all unit tests, not only the default set. +export CFLAGS="%{optflags} -DENABLE_ROW_TESTS -DENABLE_FULL_TESTS" +export CXXFLAGS="$CFLAGS" + +OUR_CMAKE_FLAGS=' -DCMAKE_SKIP_RPATH:BOOL=ON ' #do not put bogus runpath in installed executables +OUR_CMAKE_FLAGS+=' -DUNIT_TEST:BOOL=ON ' +%cmake $OUR_CMAKE_FLAGS %cmake_build %install %cmake_install -install -Dm0644 %{name}.pc %{buildroot}%{_libdir}/pkgconfig/%{name}.pc +install -pDm0644 %{name}.pc %{buildroot}%{_libdir}/pkgconfig/%{name}.pc %ldconfig_scriptlets -n libyuv0 +%check +LD_LIBRARY_PATH=$PWD/build ./build/libyuv_unittest + %files -n libyuv0 %{_libdir}/libyuv.so.* @@ -99,4 +116,8 @@ %{_includedir}/%{name}.h %{_libdir}/pkgconfig/%{name}.pc +%files tools +%{_bindir}/yuvconvert +%{_bindir}/yuvconstants + %changelog ++++++ Install-missing-yuvconstants-binary.patch ++++++ From: Boyuan Yang <by...@debian.org> Date: Tue, 18 Oct 2022 16:09:09 -0400 Subject: CMakeLists.txt: Install missing yuvconstants binary --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index f9a7d74..346b729 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,6 +97,7 @@ endif() # install the conversion tool, .so, and all the header files INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconstants DESTINATION bin ) INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) ++++++ Link-against-shared-library.patch ++++++ --- /var/tmp/diff_new_pack.bdHpWo/_old 2023-05-23 14:53:49.514228187 +0200 +++ /var/tmp/diff_new_pack.bdHpWo/_new 2023-05-23 14:53:49.518228211 +0200 @@ -8,15 +8,20 @@ index e1f87062..bff03e88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -34,7 +34,7 @@ SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES VERSION "0.0.0" SOVERSION 0 +@@ -34,11 +34,11 @@ SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES VERSION "0.0.0" SOVERSION 0 # this creates the conversion tool ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) -TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) -+TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_shared} ) ++TARGET_LINK_LIBRARIES ( yuvconvert PRIVATE ${ly_lib_shared} ) + # this creates the yuvconstants tool + ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) +-TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) ++TARGET_LINK_LIBRARIES ( yuvconstants PRIVATE ${ly_lib_shared} -lm ) - INCLUDE ( FindJPEG ) + find_package ( JPEG ) + if (JPEG_FOUND) @@ -61,7 +61,7 @@ if(TEST) endif() ++++++ Use-library-suffix-during-installation.patch ++++++ --- /var/tmp/diff_new_pack.bdHpWo/_old 2023-05-23 14:53:49.534228306 +0200 +++ /var/tmp/diff_new_pack.bdHpWo/_new 2023-05-23 14:53:49.538228329 +0200 @@ -9,11 +9,11 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,7 +73,7 @@ endif() - - - # install .so, and all the header files --INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib ) -+INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib${LIB_SUFFIX} ) + # install the conversion tool, .so, and all the header files + INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) + INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconstants DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib${LIB_SUFFIX} RUNTIME DESTINATION bin ) INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) # create the .deb and .rpm packages using cpack ++++++ _service ++++++ --- /var/tmp/diff_new_pack.bdHpWo/_old 2023-05-23 14:53:49.566228495 +0200 +++ /var/tmp/diff_new_pack.bdHpWo/_new 2023-05-23 14:53:49.570228518 +0200 @@ -2,7 +2,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://chromium.googlesource.com/libyuv/libyuv.git</param> - <param name="revision">f9fda6e7d819c07a684ba6bc97cbf0e257bbcb37</param> + <param name="revision">a37799344d29dc8e4d3fb00ced5f07e5ce8bf1b9</param> <param name="versionformat">%cd+%h</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.bdHpWo/_old 2023-05-23 14:53:49.590228637 +0200 +++ /var/tmp/diff_new_pack.bdHpWo/_new 2023-05-23 14:53:49.594228660 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://chromium.googlesource.com/libyuv/libyuv.git</param> - <param name="changesrevision">f9fda6e7d819c07a684ba6bc97cbf0e257bbcb37</param></service></servicedata> + <param name="changesrevision">a37799344d29dc8e4d3fb00ced5f07e5ce8bf1b9</param></service></servicedata> (No newline at EOF) ++++++ cmake-minimum-required.patch ++++++ Old cmake versions had bugs when linking executables (namely incorrectly adding -rdynamic on commandline) This adds runtime bloat and is bad packaging practice. Cmake defaults to this buggy behaviour for compatibility reasons if the script claims it is written for an old version. --- libyuv-20230517+a377993/CMakeLists.txt.old 2023-05-17 02:23:24.000000000 +0200 +++ libyuv-20230517+a377993/CMakeLists.txt 2023-05-21 00:13:39.072391800 +0200 @@ -2,8 +2,8 @@ # Originally created for "roxlu build system" to compile libyuv on windows # Run with -DTEST=ON to build unit tests +CMAKE_MINIMUM_REQUIRED( VERSION 3.7.1 ) PROJECT ( YUV C CXX ) # "C" is required even for C++ projects -CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) OPTION( UNIT_TEST "Built unit tests" OFF ) SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) ++++++ convert_test-little-endian.patch ++++++ Correctly check for endianness and disable two additional tests that assume endianness --- libyuv-20230517+a377993/unit_test/convert_test.cc.old 2023-05-17 00:23:24.000000000 +0000 +++ libyuv-20230517+a377993/unit_test/convert_test.cc 2023-05-21 13:08:30.803014700 +0000 @@ -33,7 +33,7 @@ // Some functions fail on big endian. Enable these tests on all cpus except // PowerPC, but they are not optimized so disabled by default. -#if !defined(DISABLE_SLOW_TESTS) && !defined(__powerpc__) +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define LITTLE_ENDIAN_ONLY_TEST 1 #endif #if !defined(DISABLE_SLOW_TESTS) || defined(__x86_64__) || defined(__i386__) @@ -2989,6 +2989,7 @@ static const uint8_t kNoDither4x4[16] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; +#ifdef LITTLE_ENDIAN_ONLY_TEST TEST_F(LibYUVConvertTest, TestNoDither) { align_buffer_page_end(src_argb, benchmark_width_ * benchmark_height_ * 4); align_buffer_page_end(dst_rgb565, benchmark_width_ * benchmark_height_ * 2); @@ -3010,12 +3011,14 @@ TEST_F(LibYUVConvertTest, TestNoDither) free_aligned_buffer_page_end(dst_rgb565); free_aligned_buffer_page_end(dst_rgb565dither); } +#endif // Ordered 4x4 dither for 888 to 565. Values from 0 to 7. static const uint8_t kDither565_4x4[16] = { 0, 4, 1, 5, 6, 2, 7, 3, 1, 5, 0, 4, 7, 3, 6, 2, }; +#ifdef LITTLE_ENDIAN_ONLY_TEST TEST_F(LibYUVConvertTest, TestDither) { align_buffer_page_end(src_argb, benchmark_width_ * benchmark_height_ * 4); align_buffer_page_end(dst_rgb565, benchmark_width_ * benchmark_height_ * 2); @@ -3048,6 +3051,7 @@ TEST_F(LibYUVConvertTest, TestDither) { free_aligned_buffer_page_end(dst_argb); free_aligned_buffer_page_end(dst_argbdither); } +#endif #define TESTPLANARTOBID(FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, FMT_B, BPP_B, ALIGN, \ YALIGN, W1280, N, NEG, OFF, FMT_C, BPP_C) \ ++++++ libyuv-20220920+f9fda6e.obscpio -> libyuv-20230517+a377993.obscpio ++++++ ++++ 18292 lines of diff (skipped) ++++++ libyuv.obsinfo ++++++ --- /var/tmp/diff_new_pack.bdHpWo/_old 2023-05-23 14:53:50.006231098 +0200 +++ /var/tmp/diff_new_pack.bdHpWo/_new 2023-05-23 14:53:50.010231122 +0200 @@ -1,5 +1,5 @@ name: libyuv -version: 20220920+f9fda6e -mtime: 1663715273 -commit: f9fda6e7d819c07a684ba6bc97cbf0e257bbcb37 +version: 20230517+a377993 +mtime: 1684283004 +commit: a37799344d29dc8e4d3fb00ced5f07e5ce8bf1b9