Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2026-06-02 16:02:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Tue Jun 2 16:02:24 2026 rev:522 rq:1356433 version:149.0.7827.53 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2026-05-29 18:07:22.219021528 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.1937/chromium.changes 2026-06-02 16:03:25.744714721 +0200 @@ -1,0 +2,39 @@ +Mon Jun 1 16:56:39 UTC 2026 - Andreas Stieger <[email protected]> + +- promote Chromium 149 (149.0.7827.53) to (early) stable + +------------------------------------------------------------------- +Fri May 29 18:34:21 UTC 2026 - Andreas Stieger <[email protected]> + +- Chromium 149.0.7827.53 +- added patches: + * chromium-149-profile_no_const.patch + try to complete deconstifying the use of Profile* + started in upstream 2ac4e0f090a26f86e9ffa4bc6c22743911b9be35 + * ppc-fedora-0003-third_party-libvpx-Add-ppc64-vsx-files.patch + * ppc-libvpx-add-missing-prototype.patch +- removed patches: + * chromium-141-glibc-2.42-SYS_SECCOMP.patch + * fix_building_widevinecdm_with_chromium.patch + * disable-ai.patch: known rebase conflicts on 149 +- modified patches: + * chromium-125-compiler.patch (context) + * chromium-143-revert_rust_is_multiple_of.patch (drop one hunk) + * chromium-146-value_or.patch (drop one hunk, add one hunk) + * ppc-fedora-0002-third_party-libvpx-Remove-bad-ppc64-config.patch + (regenerated) + * ppc-fedora-0002-regenerate-xnn-buildgn.patch (regenerated) + * chromium-146-ignore-for-ubsan.patch (redone) + * chromium-148-no_dep_on_intree_rustc_binary.patch + * ppc-fedora-0001-Implement-support-for-ppc64-on-Linux.patch + * ppc-fedora-0001-Add-PPC64-support-for-boringssl.patch + * ppc-fedora-0001-Add-pregenerated-config-for-libaom-on-ppc64.patch + (regenerated, disable code to regenerate at build for now) +- changed patch ranges, global patches up to 449, + ppc patches from 450-599 now +- keeplibs: + added: third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/urlpattern-polyfill +- bump BR for gn to 0.20260429 for expand_directory +- fixes reading mode (boo#1265854) + +------------------------------------------------------------------- Old: ---- chromium-141-glibc-2.42-SYS_SECCOMP.patch chromium-148.0.7778.215-linux.tar.xz disable-ai.patch fix_building_widevinecdm_with_chromium.patch New: ---- chromium-149-profile_no_const.patch chromium-149.0.7827.53-linux.tar.xz ppc-fedora-0003-third_party-libvpx-Add-ppc64-vsx-files.patch ppc-libvpx-add-missing-prototype.patch ----------(Old B)---------- Old:- removed patches: * chromium-141-glibc-2.42-SYS_SECCOMP.patch * fix_building_widevinecdm_with_chromium.patch Old: * fix_building_widevinecdm_with_chromium.patch * disable-ai.patch: known rebase conflicts on 149 - modified patches: Old: * chromium-141-glibc-2.42-SYS_SECCOMP.patch * fix_building_widevinecdm_with_chromium.patch * disable-ai.patch: known rebase conflicts on 149 ----------(Old E)---------- ----------(New B)---------- New:- added patches: * chromium-149-profile_no_const.patch try to complete deconstifying the use of Profile* New: started in upstream 2ac4e0f090a26f86e9ffa4bc6c22743911b9be35 * ppc-fedora-0003-third_party-libvpx-Add-ppc64-vsx-files.patch * ppc-libvpx-add-missing-prototype.patch New: * ppc-fedora-0003-third_party-libvpx-Add-ppc64-vsx-files.patch * ppc-libvpx-add-missing-prototype.patch - removed patches: ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:37.553204403 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:37.557204568 +0200 @@ -79,7 +79,7 @@ # minimal esbuild version %define esbuild_version 0.25.1 # minimal gn version -%define gn_version 0.20260331 +%define gn_version 0.20260429 # local rollup override to run without binaries %define rollup_version 3.29.5 %if 0%{?suse_version} <= 1699 @@ -132,7 +132,7 @@ %global official_build 1 Name: chromium%{n_suffix} -Version: 148.0.7778.215 +Version: 149.0.7827.53 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -160,8 +160,6 @@ Patch1: exclude_ymp.patch # PATCH-FIX-OPENSUSE enables reading of the master preference Patch2: chromium-master-prefs-path.patch -# PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin -Patch3: fix_building_widevinecdm_with_chromium.patch Patch4: chromium-buildname.patch Patch6: gcc-enable-lto.patch # Do not use unrar code, it is non-free @@ -203,10 +201,9 @@ Patch397: chromium-146-has_no_clone.patch Patch398: chromium-147-comment_safe_assert.patch Patch399: chromium-148-no_dep_on_intree_rustc_binary.patch -Patch400: disable-ai.patch +Patch400: chromium-149-profile_no_const.patch # conditionally applied patches ppc64le only # where applicable patch numbers from fedora specfile + 100 -Patch451: chromium-141-glibc-2.42-SYS_SECCOMP.patch Patch452: ppc-fedora-memory-allocator-dcheck-assert-fix.patch # similar to patch 483 but in llvm-10 tree # so we do not use chromium-143-swiftshader-llvm-16.0.patch @@ -218,6 +215,7 @@ Patch476: ppc-fedora-0001-third_party-angle-Include-missing-header-cstddef-in-.patch Patch477: ppc-fedora-0001-Add-PPC64-support-for-boringssl.patch Patch478: ppc-fedora-0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch +Patch479: ppc-fedora-0003-third_party-libvpx-Add-ppc64-vsx-files.patch Patch480: ppc-fedora-0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch Patch481: ppc-fedora-0002-Add-PPC64-generated-files-for-boringssl.patch Patch482: ppc-fedora-0002-third_party-lss-kernel-structs.patch @@ -270,6 +268,7 @@ Patch550: ppc-chromium-136-clang-config.patch # from debian Patch551: ppc-debian-0003-third_party-ffmpeg-Add-ppc64-generated-config.patch +Patch552: ppc-libvpx-add-missing-prototype.patch # conditionally applied patches # patch where libxml < 2.12 Patch1010: chromium-124-system-libxml.patch @@ -600,19 +599,25 @@ tar xf %{SOURCE4} && mv package third_party/node/node_modules/rollup %patch -p1 -P 1080 -%ifarch ppc64le +# re-enabled if patch is outdated to regenerate in build environment +%ifarch ppc64le_disabled pushd third_party/libaom git init +git config --global user.email "build@host" +git config --global user.name "OBS build" sed -i -e "s@reset_dirs linux/ia32@if false ; then\nreset_dirs linux/ia32@" \ -e "s@reset_dirs linux/ppc64@fi\nreset_dirs linux/ppc64@" \ -e "s@reset_dirs win/x64@if false ; then\nreset_dirs win/x64@" \ -e "s@convert_to_windows.*arm64.*@convert_to_windows foo_arm64\nfi@" cmake_update.sh -sed -i -e "s@CROSS powerpc64le-linux-gnu-@CROSS \"\"@" source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake +#sed -i -e "s@CROSS powerpc64le-linux-gnu-@CROSS \"\"@" source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake +sed -i -e "s@CROSS powerpc64le-linux-gnu-@CROSS \"\"@" source/libaom/cmake/toolchains/ppc-linux-gcc.cmake ./cmake_update.sh -for i in source/config/linux/ppc64/config/* ; do -echo $i -cat $i -done +# +echo "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" +git add source/config/linux/ppc64/config/* +git commit -m initial +git -P show +echo "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" popd %endif @@ -768,6 +773,7 @@ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/urlpattern-polyfill third_party/devtools-frontend/src/front_end/third_party/wasmparser third_party/devtools-frontend/src/node_modules/fast-glob third_party/devtools-frontend/src/third_party ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:37.781213858 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:37.785214024 +0200 @@ -1,6 +1,6 @@ -mtime: 1780030809 -commit: 2b8a35ca0adf85d5ab66cc5c807279ddd54841570ca61c099c5ffd14fce61507 +mtime: 1780337784 +commit: 14283060841a10b653d8063c6ff6cc2379ad5cb38cfec4cb3a3122d295e0841f url: https://src.opensuse.org/chromium/chromium -revision: 2b8a35ca0adf85d5ab66cc5c807279ddd54841570ca61c099c5ffd14fce61507 +revision: 14283060841a10b653d8063c6ff6cc2379ad5cb38cfec4cb3a3122d295e0841f projectscmsync: https://src.opensuse.org/chromium/_ObsPrj.git ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-06-01 20:16:24.000000000 +0200 @@ -0,0 +1,4 @@ +.osc +*.patch~ +*-build/ +.*.swp ++++++ chromium-102-regex_pattern-array.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:37.969221655 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:37.973221820 +0200 @@ -1,7 +1,7 @@ -Index: chromium-147.0.7727.3/components/autofill/core/browser/BUILD.gn +Index: chromium-149.0.7779.3/components/autofill/core/browser/BUILD.gn =================================================================== ---- chromium-147.0.7727.3.orig/components/autofill/core/browser/BUILD.gn -+++ chromium-147.0.7727.3/components/autofill/core/browser/BUILD.gn +--- chromium-149.0.7779.3.orig/components/autofill/core/browser/BUILD.gn ++++ chromium-149.0.7779.3/components/autofill/core/browser/BUILD.gn @@ -122,6 +122,11 @@ proto_library("amount_extraction_heurist } @@ -12,6 +12,6 @@ + ] + } sources = [ - "at_memory/at_memory_data_type.cc", - "at_memory/at_memory_data_type.h", + "at_memory/at_memory_controller.cc", + "at_memory/at_memory_controller.h", ++++++ chromium-125-compiler.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.013223479 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.017223645 +0200 @@ -225,7 +225,7 @@ # In Chromium code, we define __STDC_foo_MACROS in order to get the # C99 macros on Mac and Linux. -@@ -2250,32 +2191,6 @@ +@@ -2245,32 +2245,6 @@ "__STDC_FORMAT_MACROS", ] @@ -249,7 +249,7 @@ - # with the sysroot where support is guaranteed. Clang is also required since - # the system gcc is often patched to add _FORTIFY_SOURCE=2 which would conflict - # with our definition. -- if (use_sysroot && is_clang) { +- if (use_sysroot && is_clang && !is_android) { - fortify_level = "3" - } - defines += [ "_FORTIFY_SOURCE=" + fortify_level ] ++++++ chromium-143-revert_rust_is_multiple_of.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.117227792 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.125228124 +0200 @@ -9,17 +9,6 @@ outp.rhs_elements.push(CSymIdx::NULL); outp.rhs_params.push(ParamExpr::Null); } ---- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/parser.rs 2025/11/10 11:00:52 1.1 -+++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/parser.rs 2025/11/10 11:01:10 -@@ -132,7 +132,7 @@ - } - - pub fn one_in(&mut self, n: u32) -> bool { -- self.next().is_multiple_of(n) -+ self.next() % n == 0 - } - - pub fn next_alt(&mut self) -> u32 { --- chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/regexvec.rs 2025/11/10 11:01:31 1.1 +++ chromium-143.0.7499.17/third_party/rust/chromium_crates_io/vendor/llguidance-v1/src/earley/regexvec.rs 2025/11/10 11:01:45 @@ -674,7 +674,7 @@ ++++++ chromium-146-ignore-for-ubsan.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.169229948 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.173230114 +0200 @@ -1,28 +1,39 @@ -clang++-19: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds' - - ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -1860,13 +1860,7 @@ config("sanitize_c_array_bounds") { - # sanitizer) is enabled, they then do expensive debug like operations. We - # want to suppress this behaviour since we want to keep performance costs - # as low as possible while having these checks. -- "-fsanitize-ignore-for-ubsan-feature=array-bounds", - -- # Because we've enabled array-bounds sanitizing we also want to suppress -- # the related warning about "unsafe-buffer-usage-in-static-sized-array", -- # since we know that the array bounds sanitizing will catch any out-of- -- # bounds accesses. -- "-Wno-unsafe-buffer-usage-in-static-sized-array", - ] - } - } -@@ -1934,7 +1934,6 @@ - # sanitizer) is enabled, they then do expensive debug like operations. We - # want to suppress this behaviour since we want to keep performance costs - # as low as possible while having these checks. -- "-fsanitize-ignore-for-ubsan-feature=return", - ] - } +--- chromium-149.0.7795.2/build/config/compiler/BUILD.gn 2026/04/21 14:39:00 1.1 ++++ chromium-149.0.7795.2/build/config/compiler/BUILD.gn 2026/04/21 14:41:08 +@@ -598,12 +598,6 @@ + if (is_clang) { + # Flags for diagnostics. + cflags += [ "-fcolor-diagnostics" ] +- if (!is_win) { +- cflags += [ "-fdiagnostics-show-inlining-chain" ] +- } else { +- # Combine after https://github.com/llvm/llvm-project/pull/192241 +- cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] +- } + if (diagnostics_print_source_range_info && !is_win) { + cflags += [ "-fdiagnostics-print-source-range-info" ] + } +@@ -1728,12 +1722,6 @@ + ubsan_hardening("c_array_bounds") { + sanitizer = "array-bounds" + condition = !(is_asan && target_cpu == "x86") +- +- # Because we've enabled array-bounds sanitizing we also want to suppress +- # the related warning about "unsafe-buffer-usage-in-static-sized-array", +- # since we know that the array bounds sanitizing will catch any out-of- +- # bounds accesses. +- cflags = [ "-Wno-unsafe-buffer-usage-in-static-sized-array" ] } + + # Enable UBSan subset to ensure we always hit `return` statement in non-void +--- chromium-149.0.7795.2/build/config/sanitizers/sanitizers.gni 2026/04/21 14:40:02 1.1 ++++ chromium-149.0.7795.2/build/config/sanitizers/sanitizers.gni 2026/04/21 14:40:49 +@@ -540,7 +540,6 @@ + # be usable even in release builds, i.e. as widely as possible. + # It's important not to have full-on UBSan workarounds activate + # just because we built support for a specific sanitizer. +- "-fsanitize-ignore-for-ubsan-feature=${invoker.sanitizer}", + ] + if (defined(invoker.cflags)) { + cflags += invoker.cflags ++++++ chromium-146-value_or.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.205231441 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.209231607 +0200 @@ -49,15 +49,17 @@ } #endif // BUILDFLAG(ENTERPRISE_CACHE_ENCRYPTION) ---- chromium-148.0.7766.3/v8/src/compiler/turboshaft/wasm-shuffle-reducer.cc 2026/04/08 09:47:38 1.1 -+++ chromium-148.0.7766.3/v8/src/compiler/turboshaft/wasm-shuffle-reducer.cc 2026/04/08 09:47:50 -@@ -573,7 +573,7 @@ - uint8_t index = shuffle.shuffle[i]; - if (index >= lower_limit && index <= upper_limit) { - max = std::max(static_cast<uint8_t>(index % kSimd128Size), -- max.value_or({})); -+ max.value_or(0)); +--- chromium-149.0.7795.2/content/browser/service_worker/service_worker_version.cc 2026/04/27 15:20:37 1.1 ++++ chromium-149.0.7795.2/content/browser/service_worker/service_worker_version.cc 2026/04/29 16:32:07 +@@ -845,7 +845,9 @@ } + } else { + // Equivalent to the previous, non-optional iterator behavior. Maybe unsafe. +- request_timeouts_.erase(request->timeout_iter.value_or({})); ++ if (request->timeout_iter.has_value()) { ++ request_timeouts_.erase(*request->timeout_iter); ++ } } - if (max) { + inflight_requests_.Remove(request_id); + // TODO(crbug.com/40864997): remove the following DCHECK when the cause ++++++ chromium-148-no_dep_on_intree_rustc_binary.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.233232602 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.241232934 +0200 @@ -1,13 +1,3 @@ ---- chromium-148.0.7766.3/build/toolchain/gcc_toolchain.gni 2026/04/07 23:25:44 1.1 -+++ chromium-148.0.7766.3/build/toolchain/gcc_toolchain.gni 2026/04/07 23:25:57 -@@ -681,7 +681,6 @@ - "//build/action_helpers.py", - "//build/gn_helpers.py", - "//build/rust/gni_impl/rustc_wrapper.py", -- "//third_party/rust-toolchain/bin/rustc", - ] - - # RSP manipulation due to https://bugs.chromium.org/p/gn/issues/detail?id=249 --- chromium-148.0.7778.5/build/rust/cargo_crate.gni 2026/04/08 21:57:34 1.1 +++ chromium-148.0.7778.5/build/rust/cargo_crate.gni 2026/04/08 21:57:43 @@ -456,12 +456,6 @@ @@ -38,4 +28,15 @@ # For the rustc sysroot we must include even the rlibs we don't pass to # the C++ linker. all_stdlibs_to_copy = stdlib_files + skip_stdlib_files +--- chromium-149.0.7808.0/build/config/rust.gni 2026/04/30 12:44:06 1.1 ++++ chromium-149.0.7808.0/build/config/rust.gni 2026/04/30 12:44:23 +@@ -435,8 +435,3 @@ + "//build/rust/gni_impl/rustc_wrapper.py", + ] + +-if (host_os == "win") { +- rustc_wrapper_inputs += [ "//third_party/rust-toolchain/bin/rustc.exe" ] +-} else { +- rustc_wrapper_inputs += [ "//third_party/rust-toolchain/bin/rustc" ] +-} ++++++ chromium-149-profile_no_const.patch ++++++ --- chromium-149.0.7827.3/chrome/browser/ui/startup/profile_launch_observer.h 2026/05/11 10:04:36 1.1 +++ chromium-149.0.7827.3/chrome/browser/ui/startup/profile_launch_observer.h 2026/05/11 10:05:28 @@ -47,11 +47,11 @@ static bool activated_profile(); // Only for HasPendingUncleanExit(). - static bool HasBeenLaunchedAndBrowserOpen(const Profile* profile); + static bool HasBeenLaunchedAndBrowserOpen(Profile* profile); // Returns true if `profile` has been launched by // StartupBrowserCreator::LaunchBrowser() and has at least one open window. - bool HasBeenLaunchedAndBrowserOpenInternal(const Profile* profile) const; + bool HasBeenLaunchedAndBrowserOpenInternal(Profile* profile) const; void AddLaunchedInternal(Profile* profile); void Clear(); bool activated_profile_internal(); --- chromium-149.0.7827.3/chrome/browser/ui/startup/profile_launch_observer.cc 2026/05/11 10:04:01 1.1 +++ chromium-149.0.7827.3/chrome/browser/ui/startup/profile_launch_observer.cc 2026/05/11 10:04:33 @@ -35,7 +35,7 @@ // static bool ProfileLaunchObserver::HasBeenLaunchedAndBrowserOpen( - const Profile* profile) { + Profile* profile) { return GetInstance()->HasBeenLaunchedAndBrowserOpenInternal(profile); } @@ -72,7 +72,7 @@ } bool ProfileLaunchObserver::HasBeenLaunchedAndBrowserOpenInternal( - const Profile* profile) const { + Profile* profile) const { return opened_profiles_.contains(profile) && launched_profiles_.contains(profile); } ++++++ chromium-148.0.7778.215-linux.tar.xz -> chromium-149.0.7827.53-linux.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-148.0.7778.215-linux.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.1937/chromium-149.0.7827.53-linux.tar.xz differ: char 15, line 1 ++++++ ppc-fedora-0001-Add-PPC64-support-for-boringssl.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.413240067 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.417240233 +0200 @@ -4185,8 +4185,8 @@ #endif #endif // !NO_ASM -@@ -513,6 +519,13 @@ extern "C" void aes_gcm_dec_kernel_eor3( - const AES_KEY *key, const u128 Htable[16]); +@@ -524,6 +524,13 @@ + const u128 Htable[16]); #endif +#elif defined(OPENSSL_PPC64LE) ++++++ ppc-fedora-0001-Add-pregenerated-config-for-libaom-on-ppc64.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.437241062 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.445241394 +0200 @@ -1,10 +1,17 @@ -Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm -=================================================================== +commit 3144efb3f7d1e34bc20e92b4360e98cdaa9bfb32 +Author: OBS build <build@host> +Date: Wed May 13 15:58:57 2026 +0000 + + initial + +diff --git a/source/config/linux/ppc64/config/aom_config.asm chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm +new file mode 100644 +index 0000000..3053106 --- /dev/null -+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm ++++ chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm @@ -0,0 +1,100 @@ +; -+; Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++; Copyright (c) 2026, Alliance for Open Media. All rights reserved. +; +; This source code is subject to the terms of the BSD 2 Clause License and +; the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License @@ -24,7 +31,7 @@ +CONFIG_AV1_DECODER equ 0 +CONFIG_AV1_ENCODER equ 1 +CONFIG_AV1_HIGHBITDEPTH equ 0 -+CONFIG_AV1_TEMPORAL_DENOISING equ 1 ++CONFIG_AV1_TEMPORAL_DENOISING equ 0 +CONFIG_BIG_ENDIAN equ 0 +CONFIG_BITRATE_ACCURACY equ 0 +CONFIG_BITRATE_ACCURACY_BL equ 0 @@ -36,7 +43,7 @@ +CONFIG_CWG_C013 equ 0 +CONFIG_CWG_E050 equ 0 +CONFIG_DEBUG equ 0 -+CONFIG_DENOISE equ 1 ++CONFIG_DENOISE equ 0 +CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 equ 1 +CONFIG_ENTROPY_STATS equ 0 +CONFIG_EXCLUDE_SIMD_MISMATCH equ 0 @@ -71,7 +78,6 @@ +CONFIG_SHARED equ 0 +CONFIG_SIZE_LIMIT equ 1 +CONFIG_SPEED_STATS equ 0 -+CONFIG_SVT_AV1 equ 1 +CONFIG_TFLITE equ 0 +CONFIG_THREE_PASS equ 0 +CONFIG_TUNE_BUTTERAUGLI equ 0 @@ -90,6 +96,7 @@ +HAVE_NEON_DOTPROD equ 0 +HAVE_NEON_I8MM equ 0 +HAVE_PTHREAD_H equ 1 ++HAVE_PTHREAD_SETNAME_NP equ 1 +HAVE_RVV equ 0 +HAVE_SSE equ 0 +HAVE_SSE2 equ 0 @@ -103,13 +110,14 @@ +HAVE_VSX equ 1 +HAVE_WXWIDGETS equ 0 +STATIC_LINK_JXL equ 0 -Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c -=================================================================== +diff --git a/source/config/linux/ppc64/config/aom_config.c chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_config.c +new file mode 100644 +index 0000000..429274e --- /dev/null -+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c ++++ chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_config.c @@ -0,0 +1,13 @@ +/* -+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * Copyright (c) 2026, Alliance for Open Media. All rights reserved. + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License @@ -119,15 +127,16 @@ + * PATENTS file, you can obtain it at www.aomedia.org/license/patent. + */ +#include "aom/aom_codec.h" -+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; ++static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=0 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_DENOISE=0 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +const char *aom_codec_build_config(void) {return cfg;} -Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h -=================================================================== +diff --git a/source/config/linux/ppc64/config/aom_config.h chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_config.h +new file mode 100644 +index 0000000..c374d31 --- /dev/null -+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h ++++ chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_config.h @@ -0,0 +1,103 @@ +/* -+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * Copyright (c) 2026, Alliance for Open Media. All rights reserved. + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License @@ -149,7 +158,7 @@ +#define CONFIG_AV1_DECODER 0 +#define CONFIG_AV1_ENCODER 1 +#define CONFIG_AV1_HIGHBITDEPTH 0 -+#define CONFIG_AV1_TEMPORAL_DENOISING 1 ++#define CONFIG_AV1_TEMPORAL_DENOISING 0 +#define CONFIG_BIG_ENDIAN 0 +#define CONFIG_BITRATE_ACCURACY 0 +#define CONFIG_BITRATE_ACCURACY_BL 0 @@ -161,7 +170,7 @@ +#define CONFIG_CWG_C013 0 +#define CONFIG_CWG_E050 0 +#define CONFIG_DEBUG 0 -+#define CONFIG_DENOISE 1 ++#define CONFIG_DENOISE 0 +#define CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 1 +#define CONFIG_ENTROPY_STATS 0 +#define CONFIG_EXCLUDE_SIMD_MISMATCH 0 @@ -196,7 +205,6 @@ +#define CONFIG_SHARED 0 +#define CONFIG_SIZE_LIMIT 1 +#define CONFIG_SPEED_STATS 0 -+#define CONFIG_SVT_AV1 1 +#define CONFIG_TFLITE 0 +#define CONFIG_THREE_PASS 0 +#define CONFIG_TUNE_BUTTERAUGLI 0 @@ -215,6 +223,7 @@ +#define HAVE_NEON_DOTPROD 0 +#define HAVE_NEON_I8MM 0 +#define HAVE_PTHREAD_H 1 ++#define HAVE_PTHREAD_SETNAME_NP 1 +#define HAVE_RVV 0 +#define HAVE_SSE 0 +#define HAVE_SSE2 0 @@ -229,13 +238,14 @@ +#define HAVE_WXWIDGETS 0 +#define STATIC_LINK_JXL 0 +#endif // AOM_CONFIG_H_ -Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h -=================================================================== +diff --git a/source/config/linux/ppc64/config/aom_dsp_rtcd.h chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h +new file mode 100644 +index 0000000..e3bab69 --- /dev/null -+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h ++++ chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h @@ -0,0 +1,1177 @@ +/* -+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * Copyright (c) 2017, Alliance for Open Media. All rights reserved. + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License @@ -1411,13 +1421,14 @@ +#endif + +#endif // AOM_DSP_RTCD_H_ -Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h -=================================================================== +diff --git a/source/config/linux/ppc64/config/aom_scale_rtcd.h chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h +new file mode 100644 +index 0000000..a3dbd73 --- /dev/null -+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h -@@ -0,0 +1,91 @@ ++++ chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h +@@ -0,0 +1,88 @@ +/* -+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * Copyright (c) 2017, Alliance for Open Media. All rights reserved. + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License @@ -1463,9 +1474,6 @@ +void aom_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int use_crop); +#define aom_yv12_copy_y aom_yv12_copy_y_c + -+void aom_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf, const int num_planes); -+#define aom_yv12_extend_frame_borders aom_yv12_extend_frame_borders_c -+ +void aom_yv12_partial_coloc_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int hstart, int hend, int vstart, int vend); +#define aom_yv12_partial_coloc_copy_u aom_yv12_partial_coloc_copy_u_c + @@ -1507,13 +1515,14 @@ +#endif + +#endif // AOM_SCALE_RTCD_H_ -Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h -=================================================================== +diff --git a/source/config/linux/ppc64/config/av1_rtcd.h chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h +new file mode 100644 +index 0000000..e96010f --- /dev/null -+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h -@@ -0,0 +1,405 @@ ++++ chromium-149.0.7827.3/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h +@@ -0,0 +1,402 @@ +/* -+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved. ++ * Copyright (c) 2017, Alliance for Open Media. All rights reserved. + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License @@ -1657,9 +1666,6 @@ +void av1_convolve_y_sr_intrabc_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn); +#define av1_convolve_y_sr_intrabc av1_convolve_y_sr_intrabc_c + -+int av1_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude); -+#define av1_denoiser_filter av1_denoiser_filter_c -+ +void av1_dist_wtd_convolve_2d_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params); +#define av1_dist_wtd_convolve_2d av1_dist_wtd_convolve_2d_c + @@ -1741,7 +1747,7 @@ +void av1_get_horver_correlation_full_c(const int16_t *diff, int stride, int w, int h, float *hcorr, float *vcorr); +#define av1_get_horver_correlation_full av1_get_horver_correlation_full_c + -+void av1_get_nz_map_contexts_c(const uint8_t *const levels, const int16_t *const scan, const uint16_t eob, const TX_SIZE tx_size, const TX_CLASS tx_class, int8_t *const coeff_contexts); ++void av1_get_nz_map_contexts_c(const uint8_t *const levels, const int16_t *const scan, const int eob, const TX_SIZE tx_size, const TX_CLASS tx_class, int8_t *const coeff_contexts); +#define av1_get_nz_map_contexts av1_get_nz_map_contexts_c + +void av1_highbd_inv_txfm_add_c(const tran_low_t *input, uint8_t *dest, int stride, const TxfmParam *txfm_param); ++++++ ppc-fedora-0001-Implement-support-for-ppc64-on-Linux.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.481242887 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.485243053 +0200 @@ -644,16 +644,15 @@ =================================================================== --- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc +++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -@@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p +@@ -72,7 +72,7 @@ bool MemoryMappedFile::Map(const char* p #if defined(__x86_64__) || defined(__aarch64__) || \ (defined(__mips__) && _MIPS_SIM == _ABI64) || \ - (defined(__riscv) && __riscv_xlen == 64) -- -+ (defined(__riscv) && __riscv_xlen == 64) || defined(__powerpc64__) ++ (defined(__riscv) && __riscv_xlen == 64) || defined(__powerpc64__) + struct kernel_stat st; - if (sys_fstat(fd, &st) == -1 || st.st_size < 0) { - #else + __builtin_memset(&st, 0, sizeof(st)); Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc =================================================================== --- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc ++++++ ppc-fedora-0002-regenerate-xnn-buildgn.patch ++++++ ++++ 44386 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/chromium/ppc-fedora-0002-regenerate-xnn-buildgn.patch ++++ and /work/SRC/openSUSE:Factory/.chromium.new.1937/ppc-fedora-0002-regenerate-xnn-buildgn.patch ++++++ ppc-fedora-0002-third_party-libvpx-Remove-bad-ppc64-config.patch ++++++ --- /var/tmp/diff_new_pack.kBCq6m/_old 2026-06-02 16:03:38.913260802 +0200 +++ /var/tmp/diff_new_pack.kBCq6m/_new 2026-06-02 16:03:38.921261134 +0200 @@ -1,195 +1,6 @@ ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h 2026/03/16 13:33:31 1.1 +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h 2026/04/21 13:08:14 1.1 +++ /dev/null -@@ -1,186 +0,0 @@ --/* -- * Copyright (c) 2017 The WebM project authors. All Rights Reserved. -- * -- * Use of this source code is governed by a BSD-style license -- * that can be found in the LICENSE file in the root of the source -- * tree. An additional intellectual property rights grant can be found -- * in the file PATENTS. All contributing project authors may -- * be found in the AUTHORS file in the root of the source tree. -- */ -- --// This file is generated. Do not edit. --#ifndef VP8_RTCD_H_ --#define VP8_RTCD_H_ -- --#ifdef RTCD_C --#define RTCD_EXTERN --#else --#define RTCD_EXTERN extern --#endif -- --/* -- * VP8 -- */ -- --struct blockd; --struct macroblockd; --struct loop_filter_info; -- --/* Encoder forward decls */ --struct block; --struct macroblock; --struct variance_vtable; --union int_mv; --struct yv12_buffer_config; -- --#ifdef __cplusplus --extern "C" { --#endif -- --void vp8_bilinear_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c -- --void vp8_bilinear_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c -- --void vp8_bilinear_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c -- --void vp8_bilinear_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c -- --int vp8_block_error_c(short *coeff, short *dqcoeff); --#define vp8_block_error vp8_block_error_c -- --void vp8_copy32xn_c(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); --#define vp8_copy32xn vp8_copy32xn_c -- --void vp8_copy_mem16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); --#define vp8_copy_mem16x16 vp8_copy_mem16x16_c -- --void vp8_copy_mem8x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); --#define vp8_copy_mem8x4 vp8_copy_mem8x4_c -- --void vp8_copy_mem8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); --#define vp8_copy_mem8x8 vp8_copy_mem8x8_c -- --void vp8_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); --#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c -- --int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); --#define vp8_denoiser_filter vp8_denoiser_filter_c -- --int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); --#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c -- --void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *dest, int stride); --#define vp8_dequant_idct_add vp8_dequant_idct_add_c -- --void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); --#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c -- --void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); --#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c -- --void vp8_dequantize_b_c(struct blockd*, short *DQC); --#define vp8_dequantize_b vp8_dequantize_b_c -- --int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); --#define vp8_diamond_search_sad vp8_diamond_search_sad_c -- --void vp8_fast_quantize_b_c(struct block *, struct blockd *); --#define vp8_fast_quantize_b vp8_fast_quantize_b_c -- --void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); --#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c -- --void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); --#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c -- --void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); --#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c -- --void vp8_loop_filter_bh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); --#define vp8_loop_filter_bh vp8_loop_filter_bh_c -- --void vp8_loop_filter_bv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); --#define vp8_loop_filter_bv vp8_loop_filter_bv_c -- --void vp8_loop_filter_mbh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); --#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c -- --void vp8_loop_filter_mbv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); --#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c -- --void vp8_loop_filter_bhs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); --#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c -- --void vp8_loop_filter_bvs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); --#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c -- --void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); --#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c -- --void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); --#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c -- --int vp8_mbblock_error_c(struct macroblock *mb, int dc); --#define vp8_mbblock_error vp8_mbblock_error_c -- --int vp8_mbuverror_c(struct macroblock *mb); --#define vp8_mbuverror vp8_mbuverror_c -- --int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int error_per_bit, int search_range, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); --#define vp8_refining_search_sad vp8_refining_search_sad_c -- --void vp8_regular_quantize_b_c(struct block *, struct blockd *); --#define vp8_regular_quantize_b vp8_regular_quantize_b_c -- --void vp8_short_fdct4x4_c(short *input, short *output, int pitch); --#define vp8_short_fdct4x4 vp8_short_fdct4x4_c -- --void vp8_short_fdct8x4_c(short *input, short *output, int pitch); --#define vp8_short_fdct8x4 vp8_short_fdct8x4_c -- --void vp8_short_idct4x4llm_c(short *input, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); --#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c -- --void vp8_short_inv_walsh4x4_c(short *input, short *mb_dqcoeff); --#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c -- --void vp8_short_inv_walsh4x4_1_c(short *input, short *mb_dqcoeff); --#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c -- --void vp8_short_walsh4x4_c(short *input, short *output, int pitch); --#define vp8_short_walsh4x4 vp8_short_walsh4x4_c -- --void vp8_sixtap_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c -- --void vp8_sixtap_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c -- --void vp8_sixtap_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c -- --void vp8_sixtap_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); --#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c -- --void vp8_rtcd(void); -- --#include "vpx_config.h" -- --#ifdef RTCD_C --#include "vpx_ports/ppc.h" --static void setup_rtcd_internal(void) --{ -- int flags = ppc_simd_caps(); -- (void)flags; --} --#endif -- --#ifdef __cplusplus --} // extern "C" --#endif -- --#endif // VP8_RTCD_H_ ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h 2026/03/16 13:33:33 1.1 -+++ /dev/null -@@ -1,119 +0,0 @@ +@@ -1,113 +0,0 @@ -/* - * Copyright (c) 2017 The WebM project authors. All Rights Reserved. - * @@ -259,12 +70,6 @@ -void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); -#define vp9_fht8x8 vp9_fht8x8_c - --void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); --#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c -- --void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight); --#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c -- -void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); -#define vp9_fwht4x4 vp9_fwht4x4_c - @@ -309,20 +114,7 @@ -#endif - -#endif // VP9_RTCD_H_ ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vpx_config.c 2026/03/16 13:39:55 1.1 -+++ /dev/null -@@ -1,10 +0,0 @@ --/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ --/* */ --/* Use of this source code is governed by a BSD-style license */ --/* that can be found in the LICENSE file in the root of the source */ --/* tree. An additional intellectual property rights grant can be found */ --/* in the file PATENTS. All contributing project authors may */ --/* be found in the AUTHORS file in the root of the source tree. */ --#include "vpx/vpx_codec.h" --static const char* const cfg = "--target=ppc64le-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-unit-tests"; --const char *vpx_codec_build_config(void) {return cfg;} ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm 2026/03/16 13:39:50 1.1 +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm 2026/04/21 13:08:10 1.1 +++ /dev/null @@ -1,109 +0,0 @@ -@ This file was created from a .asm file @@ -390,7 +182,7 @@ -.equ CONFIG_DC_RECON , 0 -.equ CONFIG_RUNTIME_CPU_DETECT , 0 -.equ CONFIG_POSTPROC , 1 --.equ CONFIG_VP9_POSTPROC , 1 +-.equ CONFIG_VP9_POSTPROC , 0 -.equ CONFIG_MULTITHREAD , 1 -.equ CONFIG_INTERNAL_STATS , 0 -.equ CONFIG_VP8_ENCODER , 1 @@ -434,7 +226,20 @@ -.equ DECODE_WIDTH_LIMIT , 16384 -.equ DECODE_HEIGHT_LIMIT , 16384 - .section .note.GNU-stack,"",%progbits ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vpx_config.h 2026/03/16 13:39:56 1.1 +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vpx_config.c 2026/04/21 13:08:21 1.1 ++++ /dev/null +@@ -1,10 +0,0 @@ +-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ +-/* */ +-/* Use of this source code is governed by a BSD-style license */ +-/* that can be found in the LICENSE file in the root of the source */ +-/* tree. An additional intellectual property rights grant can be found */ +-/* in the file PATENTS. All contributing project authors may */ +-/* be found in the AUTHORS file in the root of the source tree. */ +-#include "vpx/vpx_codec.h" +-static const char* const cfg = "--target=ppc64le-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --disable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-unit-tests"; +-const char *vpx_codec_build_config(void) {return cfg;} +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vpx_config.h 2026/04/21 13:08:23 1.1 +++ /dev/null @@ -1,118 +0,0 @@ -/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ @@ -511,7 +316,7 @@ -#define CONFIG_DC_RECON 0 -#define CONFIG_RUNTIME_CPU_DETECT 0 -#define CONFIG_POSTPROC 1 --#define CONFIG_VP9_POSTPROC 1 +-#define CONFIG_VP9_POSTPROC 0 -#define CONFIG_MULTITHREAD 1 -#define CONFIG_INTERNAL_STATS 0 -#define CONFIG_VP8_ENCODER 1 @@ -555,7 +360,7 @@ -#define DECODE_WIDTH_LIMIT 16384 -#define DECODE_HEIGHT_LIMIT 16384 -#endif /* VPX_CONFIG_H */ ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h 2026/03/16 13:33:39 1.1 +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h 2026/04/21 13:21:14 1.1 +++ /dev/null @@ -1,858 +0,0 @@ -/* @@ -1416,7 +1221,7 @@ -#endif - -#endif // VPX_DSP_RTCD_H_ ---- chromium-147.0.7727.3/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h 2026/03/16 13:33:43 1.1 +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h 2026/04/21 13:21:19 1.1 +++ /dev/null @@ -1,83 +0,0 @@ -/* @@ -1502,4 +1307,193 @@ -#endif - -#endif // VPX_SCALE_RTCD_H_ +--- chromium-149.0.7795.2/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h 2026/04/21 13:30:24 1.1 ++++ /dev/null +@@ -1,186 +0,0 @@ +-/* +- * Copyright (c) 2017 The WebM project authors. All Rights Reserved. +- * +- * Use of this source code is governed by a BSD-style license +- * that can be found in the LICENSE file in the root of the source +- * tree. An additional intellectual property rights grant can be found +- * in the file PATENTS. All contributing project authors may +- * be found in the AUTHORS file in the root of the source tree. +- */ +- +-// This file is generated. Do not edit. +-#ifndef VP8_RTCD_H_ +-#define VP8_RTCD_H_ +- +-#ifdef RTCD_C +-#define RTCD_EXTERN +-#else +-#define RTCD_EXTERN extern +-#endif +- +-/* +- * VP8 +- */ +- +-struct blockd; +-struct macroblockd; +-struct loop_filter_info; +- +-/* Encoder forward decls */ +-struct block; +-struct macroblock; +-struct variance_vtable; +-union int_mv; +-struct yv12_buffer_config; +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-void vp8_bilinear_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c +- +-void vp8_bilinear_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c +- +-void vp8_bilinear_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c +- +-void vp8_bilinear_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c +- +-int vp8_block_error_c(short *coeff, short *dqcoeff); +-#define vp8_block_error vp8_block_error_c +- +-void vp8_copy32xn_c(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); +-#define vp8_copy32xn vp8_copy32xn_c +- +-void vp8_copy_mem16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +-#define vp8_copy_mem16x16 vp8_copy_mem16x16_c +- +-void vp8_copy_mem8x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +-#define vp8_copy_mem8x4 vp8_copy_mem8x4_c +- +-void vp8_copy_mem8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +-#define vp8_copy_mem8x8 vp8_copy_mem8x8_c +- +-void vp8_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +-#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c +- +-int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +-#define vp8_denoiser_filter vp8_denoiser_filter_c +- +-int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +-#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c +- +-void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *dest, int stride); +-#define vp8_dequant_idct_add vp8_dequant_idct_add_c +- +-void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); +-#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c +- +-void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); +-#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c +- +-void vp8_dequantize_b_c(struct blockd*, short *DQC); +-#define vp8_dequantize_b vp8_dequantize_b_c +- +-int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +-#define vp8_diamond_search_sad vp8_diamond_search_sad_c +- +-void vp8_fast_quantize_b_c(struct block *, struct blockd *); +-#define vp8_fast_quantize_b vp8_fast_quantize_b_c +- +-void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +-#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c +- +-void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +-#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c +- +-void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +-#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c +- +-void vp8_loop_filter_bh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_bh vp8_loop_filter_bh_c +- +-void vp8_loop_filter_bv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_bv vp8_loop_filter_bv_c +- +-void vp8_loop_filter_mbh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c +- +-void vp8_loop_filter_mbv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +-#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c +- +-void vp8_loop_filter_bhs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c +- +-void vp8_loop_filter_bvs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c +- +-void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c +- +-void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +-#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c +- +-int vp8_mbblock_error_c(struct macroblock *mb, int dc); +-#define vp8_mbblock_error vp8_mbblock_error_c +- +-int vp8_mbuverror_c(struct macroblock *mb); +-#define vp8_mbuverror vp8_mbuverror_c +- +-int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int error_per_bit, int search_range, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +-#define vp8_refining_search_sad vp8_refining_search_sad_c +- +-void vp8_regular_quantize_b_c(struct block *, struct blockd *); +-#define vp8_regular_quantize_b vp8_regular_quantize_b_c +- +-void vp8_short_fdct4x4_c(short *input, short *output, int pitch); +-#define vp8_short_fdct4x4 vp8_short_fdct4x4_c +- +-void vp8_short_fdct8x4_c(short *input, short *output, int pitch); +-#define vp8_short_fdct8x4 vp8_short_fdct8x4_c +- +-void vp8_short_idct4x4llm_c(short *input, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +-#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c +- +-void vp8_short_inv_walsh4x4_c(short *input, short *mb_dqcoeff); +-#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c +- +-void vp8_short_inv_walsh4x4_1_c(short *input, short *mb_dqcoeff); +-#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c +- +-void vp8_short_walsh4x4_c(short *input, short *output, int pitch); +-#define vp8_short_walsh4x4 vp8_short_walsh4x4_c +- +-void vp8_sixtap_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c +- +-void vp8_sixtap_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c +- +-void vp8_sixtap_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c +- +-void vp8_sixtap_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +-#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c +- +-void vp8_rtcd(void); +- +-#include "vpx_config.h" +- +-#ifdef RTCD_C +-#include "vpx_ports/ppc.h" +-static void setup_rtcd_internal(void) +-{ +- int flags = ppc_simd_caps(); +- (void)flags; +-} +-#endif +- +-#ifdef __cplusplus +-} // extern "C" +-#endif +- +-#endif // VP8_RTCD_H_ ++++++ ppc-fedora-0003-third_party-libvpx-Add-ppc64-vsx-files.patch ++++++ diff -u chromium-149.0.7827.3.orig/third_party/libvpx/libvpx_srcs.gni chromium-149.0.7827.3/third_party/libvpx/libvpx_srcs.gni --- chromium-149.0.7827.3.orig/third_party/libvpx/libvpx_srcs.gni 2026-05-06 00:13:25.000000000 +0200 +++ chromium-149.0.7827.3/third_party/libvpx/libvpx_srcs.gni 2026-05-12 12:04:51.753083115 +0200 @@ -3597,6 +3597,8 @@ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c", + "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c", + "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c", @@ -3607,6 +3608,7 @@ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c", "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c", + "//third_party/libvpx/source/libvpx/vp9/common/ppc/vp9_idct_vsx.c", "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c", "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c", "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c", @@ -3646,6 +3648,7 @@ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c", "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tpl_model.c", "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c", + "//third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c", "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c", "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c", "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.c", @@ -3675,6 +3678,16 @@ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c", "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c", "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/deblock_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/hadamard_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/intrapred_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/inv_txfm_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/sad_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/subtract_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/variance_vsx.c", + "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/vpx_convolve_vsx.c", "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c", "//third_party/libvpx/source/libvpx/vpx_ports/ppc_cpudetect.c", "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c", ++++++ ppc-libvpx-add-missing-prototype.patch ++++++ --- chromium-149.0.7827.3.pat/third_party/libvpx/source/libvpx/vpx_dsp/ppc/sad_vsx.c 2026/05/13 14:58:43 1.1 +++ chromium-149.0.7827.3.pat/third_party/libvpx/source/libvpx/vpx_dsp/ppc/sad_vsx.c 2026/05/13 14:59:48 @@ -111,6 +111,9 @@ SAD64(32); SAD64(64); +void vpx_comp_avg_pred_vsx(uint8_t *comp_pred, const uint8_t *pred, int width, + int height, const uint8_t *ref, int ref_stride); + #define SAD16AVG(height) \ unsigned int vpx_sad16x##height##_avg_vsx( \ const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, \
