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, \

Reply via email to