From: "Yixun Lan" <dlan@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/
Date: Tue, 28 Jan 2025 11:21:16 +0000 (UTC)	[thread overview]
Message-ID: <1738063224.576909e8eba83d657e51a9aa8c4a5d764ec907c5.dlan@gentoo> (raw)
commit:     576909e8eba83d657e51a9aa8c4a5d764ec907c5
Author:     Andrew Cameron <apcameron <AT> gmail <DOT> com>
AuthorDate: Mon Jan 27 10:22:36 2025 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Jan 28 11:20:24 2025 +0000
URL:        https://gitweb.gentoo.org/proj/riscv.git/commit/?id=576909e8
Update Chromium to 132.0.6834.110
Closes: https://github.com/gentoo/riscv/pull/22
Signed-off-by: Andrew Cameron <apcameron <AT> gmail.com>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
 www-client/chromium/Manifest                       |   11 +-
 ...00-r1.ebuild => chromium-132.0.6834.110.ebuild} |  564 ++++++-----
 ...relocate-1-for-ff_h264_weight_funcs_8_rvv.patch |   26 +
 ...-runtime_api_delegate-add-riscv64-define.patch} |    1 +
 ...-common-api-runtime.json-riscv64-support.patch} |    1 +
 .../chromium/files/Debian-fix-rust-linking.patch   |    1 -
 .../chromium-126-oauth2-client-switches.patch      |   45 -
 .../files/chromium-127-browser-ui-deps.patch       |   57 --
 .../files/chromium-127-updater-systemd.patch       |   73 --
 .../chromium-131-oauth2-client-switches.patch      |   39 +
 .../files/chromium-131-unbundle-icu-target.patch   |   21 +
 ...=> chromium-132-bindgen-custom-toolchain.patch} |   41 +-
 .../chromium-134-oauth2-client-switches.patch      |   35 +
 .../files/{riscv.patch => compiler-rt-riscv.patch} |    0
 www-client/chromium/files/cpuinfo.patch            |   22 +-
 www-client/chromium/files/esbuild                  |  Bin 0 -> 9437336 bytes
 www-client/chromium/files/libstdc++-fixup.patch    |  219 +++++
 www-client/chromium/files/riscv-cargo.patch        |   32 -
 www-client/chromium/files/riscv-ffmpeg.patch       | 1025 ++++++++++----------
 www-client/chromium/files/riscv-misc.patch         |   48 +-
 www-client/chromium/files/riscv-sandbox.patch      |  152 +--
 www-client/chromium/files/riscv-v8.patch           |   28 -
 www-client/chromium/metadata.xml                   |    6 +-
 23 files changed, 1362 insertions(+), 1085 deletions(-)
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 9f92372..4ac6834 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,7 +1,6 @@
-DIST chromium-129-clang.tar.xz 52250752 BLAKE2B c7223a1f4a9f52eb631b968ecaea528d19aa14ded23e03e530ad6c46e7e1579a7a010cb347489f1b963013b4f26358be94aeff0f98b5eceb7b1f1e49e8acdfd3 SHA512 43681d64d4480e3f69afd3021037af6910e9c64052edefdb72e99b0a85cd94c4a8eb4095188784d7fa7f52fae10a9bd9db53f2bb80e89f709f92af7ce6403976
-DIST chromium-129-rust.tar.xz 152042272 BLAKE2B acde4dc9c0fe232d16f07f3e4b719ea762627e234970866e0de56ec3959c4cd0a7b1b09cf5ccecd50efd1cc35dcf224be3b398c1ea19a79731d6db13c94fa7a9 SHA512 bef8e56cf73de5cefd5fe0bb9836ef65012406ff3d364d36624d30e7b5cdb2634d17ac9e49a60ccb0ac5dd57cf4311b587c5ff0cec26b2fc6e15274abe0dc85b
-DIST chromium-129.0.6668.100.tar.xz 6677334468 BLAKE2B b68896322673762ce49ac18dcd731011516f3eff3e98561bcfc2404fea7e5bf8c39fa8c5b19e0dc26f188ec8787ba2b729580024a0ca205c891eaf48a4a0e134 SHA512 366be6dbde59e979186174525431d4823449e0c031bb4dc290f747c7525de44f3e2c821a0c4cd1bbb47ae3bee9fa24efdaa465d8d883791f6c63f20760a4fb48
-DIST chromium-patches-129.tar.bz2 5071 BLAKE2B 080e1af8b0560a3c5365674e7c8d592310bbd2e273311b775b8112e410d91ccd48f170adbcf77cff566ad32de196217410663ac7b9e7e65544b6730fb1890aca SHA512 0a5bbc07dc9085b07332d5c6dd74940a9d55c4d0677f5603e75763ba54156f43664839d438f350bc86f3efc85aae452476e7f7040e06e60727847b156d1f0ab9
-DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
+DIST chromium-132.0.6834.110-linux-testdata.tar.xz 299682228 BLAKE2B 93775b8f3ee34484fb93fefd5eb7bd2b2d9c2f26d869a1ae65968a7151b975ccf8b94027b0cbbbce6a1805292da50fbf084dce038c24fdc651fb6d0387c22d1d SHA512 3dd3332a83227d198c8cf9f42bc1d395bcbb2f7f711cdbd2a5f1f804944a37ac5c2f39fc65717a4bb3324c987abbee0a7eefd7048df7811f0edb6db60ffeb340
+DIST chromium-132.0.6834.110-linux.tar.xz 2196336616 BLAKE2B a31932fdf003b6fbe59b61804d28e2f321cbb257311f45f732dbc4868cdb844a22521ced70d98a1cec647ef4c3de26d1881210c0a54098c416d9d9e9da214781 SHA512 962c85c16f2c59656347b4804b8766a3669d23764f1802d96af00de889047ce43ebe2cddc511ad9bc88e8e55a0cfc957d7f2b96e9a8680dc6d983293968adf9e
+DIST chromium-openpower-c11b515d9a.tar.bz2 396039 BLAKE2B c05653e6bb62188c18864e783197853f4c41f88d1c928044a0ea0cb4677bc17806fac266ab100cbbcec3cb0d964bf2172917df95679927c1f1a88fa34aef4f53 SHA512 e9d9bbb2dd8d998060c78dfd5bbaedc548a8c44b442f6259304797326c585046144a6bb8aa4e24c44b3b56068189bee8a01267db2a392e90fd5603d06c0ef9ff
+DIST chromium-patches-132.tar.bz2 5040 BLAKE2B d5bd84dd90b395c6a15135637f51f931c72a2f301b1c24e9b938c744f2767fa36857b8edfdf5c44cf085a1efcb40475401fec226ce43446442f32fb174b55355 SHA512 29833b306a34ab6562ee58eb03669818da7235cd36666b27d829bcbd3c4d0035a530fb6be1c33cf88c1c11d43e68e3781f9b9602c0c004e7a37ffa69f9ee17c7
 DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
-DIST chromium_128.0.6613.84-1raptor0~deb12u1.debian.tar.xz 8674292 BLAKE2B 74c8556f578231cd133ce3a11306ce38d32332a3db7b0f32a63df1806201933e69e9ff01e66d7ccef279f2134e0a69c89365d7a08a7a7e7d69816a188ae0b91c SHA512 b1b85bc99493676d466e648c00eb7e337efbcb197e9ed5ae6394133721db828583340df5ebfa45a3dccc72f400ad6ada637d400d8e2fae35c1322ca5e15dc10e
+DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde
diff --git a/www-client/chromium/chromium-129.0.6668.100-r1.ebuild b/www-client/chromium/chromium-132.0.6834.110.ebuild
similarity index 70%
rename from www-client/chromium/chromium-129.0.6668.100-r1.ebuild
rename to www-client/chromium/chromium-132.0.6834.110.ebuild
index 80d0a5d..8f3791d 100644
--- a/www-client/chromium/chromium-129.0.6668.100-r1.ebuild
+++ b/www-client/chromium/chromium-132.0.6834.110.ebuild
@@ -1,35 +1,16 @@
-# Copyright 2009-2024 Gentoo Authors
+# Copyright 2009-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
 # PACKAGING NOTES
 
-# Google roll their bundled Clang every two weeks, and the bundled Rust
-# is rolled regularly and depends on that. While we do our best to build
-# with system Clang, we will eventually hit the point where we need to use
-# the bundled Clang due to the use of prerelease features. We've been lucky
-# enough so far that this hasn't been an issue.
-# We use llvm-utils.eclass directly due to chromium's inherent Googliness.
-
-# GN is bundled with Chromium, but we always use the system version. Remember to
-# check for upstream changes to GN and update ebuild (and version below) as required.
-
-# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
-# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
-# then we remove ffmpeg from the image to ensure that the built package is distributable
-# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
-# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
-
-# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
-# no reason not to. Todo: Re-enable USE=system-ffmpeg.
+# This uses a gentoo-created tarball due to Google CI Failures.
+# Use 133(?) as a base for new official tarballs.
 
 GN_MIN_VER=0.2165
-# chromium-tools/get-chromium-toolchain-strings.sh
-GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10
-GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5
-
-: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
+# chromium-tools/get-chromium-toolchain-strings.py
+TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35
 
 VIRTUALX_REQUIRED="pgo"
 
@@ -37,43 +18,45 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
 	hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
 	sv sw ta te th tr uk ur vi zh-CN zh-TW"
 
-LLVM_COMPAT=( 18 )
+LLVM_COMPAT=( 19 )
 PYTHON_COMPAT=( python3_{11..13} )
 PYTHON_REQ_USE="xml(+)"
 RUST_MIN_VER=1.78.0
-RUST_NEEDS_LLVM=1
-RUST_OPTIONAL=1
+RUST_NEEDS_LLVM="yes please"
 
-inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils
+inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils
 inherit python-any-r1 qmake-utils readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils
 
 DESCRIPTION="Open-source version of Google Chrome web browser"
 HOMEPAGE="https://www.chromium.org/"
-PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1"
+PPC64_HASH="c11b515d9addc3f8b516502e553ace507eb81815"
 PATCH_V="${PV%%\.*}"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
-	system-toolchain? (
+SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz
 		https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
-	)
-	!system-toolchain? (
-		https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
-			-> chromium-${PV%%\.*}-clang.tar.xz
-		https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz
-			-> chromium-${PV%%\.*}-rust.tar.xz
+	test? (
+		https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz
+		https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz
 	)
 	ppc64? (
-		https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
-		https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+		https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
 	)
 	pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
 
 LICENSE="BSD"
 SLOT="0/stable"
-KEYWORDS="amd64 arm64 ~riscv"
+# Dev exists mostly to give devs some breathing room for beta/stable releases;
+# it shouldn't be keyworded but adventurous users can select it.
+if [[ ${SLOT} != "0/dev" ]]; then
+	KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+fi
+
 IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
 IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo +proprietary-codecs pulseaudio"
-IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
-RESTRICT="!bindist? ( bindist )"
+IUSE+=" qt5 qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3"
+RESTRICT="
+	!bindist? ( bindist )
+	!test? ( test )
+"
 
 REQUIRED_USE="
 	!headless? ( || ( X wayland ) )
@@ -111,7 +94,6 @@ COMMON_SNAPSHOT_DEPEND="
 	media-libs/mesa:=[gbm(+)]
 	>=media-libs/openh264-1.6.0:=
 	sys-libs/zlib:=
-	x11-libs/libdrm:=
 	!headless? (
 		dev-libs/glib:2
 		>=media-libs/alsa-lib-1.0.19:=
@@ -136,6 +118,7 @@ COMMON_SNAPSHOT_DEPEND="
 
 COMMON_DEPEND="
 	${COMMON_SNAPSHOT_DEPEND}
+	app-misc/jq:=
 	app-arch/bzip2:=
 	dev-libs/expat:=
 	net-misc/curl[ssl]
@@ -192,19 +175,19 @@ BDEPEND="
 		qt5? ( dev-qt/qtcore:5 )
 		qt6? ( dev-qt/qtbase:6 )
 	)
-	system-toolchain? (
-		$(llvm_gen_dep "
-			llvm-core/clang:\${LLVM_SLOT}
-			llvm-core/llvm:\${LLVM_SLOT}
-			llvm-core/lld:\${LLVM_SLOT}
-		")
-		${RUST_DEPEND}
-		pgo? (
-			>=dev-python/selenium-3.141.0
-			>=dev-util/web_page_replay_go-20220314
+	$(llvm_gen_dep '
+		llvm-core/clang:${LLVM_SLOT}
+		llvm-core/llvm:${LLVM_SLOT}
+		llvm-core/lld:${LLVM_SLOT}
+		official? (
+			!ppc64? ( !riscv? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) )
 		)
-		>=dev-util/bindgen-0.68.0
+	')
+	pgo? (
+		>=dev-python/selenium-3.141.0
+		>=dev-util/web_page_replay_go-20220314
 	)
+	>=dev-util/bindgen-0.68.0
 	>=dev-build/gn-${GN_MIN_VER}
 	dev-build/ninja
 	dev-lang/perl
@@ -299,38 +282,57 @@ pkg_setup() {
 		# The pre_build_checks are all about compilation resources, no need to run it for a binpkg
 		pre_build_checks
 
-		if use system-toolchain; then
-			# The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
-			# This is effectively the 'force-clang' path if GCC support is re-added.
-			if ! tc-is-lto && use official; then
-				einfo "USE=official selected and LTO not detected."
-				einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
-				einfo "and to be consistent with the upstream \"official\" build optimisations."
-			fi
+		# The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
+		# We'll set these to clang here then use llvm-utils functions to very explicitly set these
+		# to a sane value.
+		# This is effectively the 'force-clang' path if GCC support is re-added.
+		# TODO: check if the user has already selected a specific impl via make.conf and respect that.
+		use_lto="false"
+		if tc-is-lto; then
+			use_lto="true"
+			# We can rely on GN to do this for us; anecdotally without this builds
+			# take significantly longer with LTO enabled and it doesn't hurt anything.
+			filter-lto
+		fi
 
-			# 936858
-			if tc-ld-is-mold; then
-				eerror "Your toolchain is using the mold linker."
-				eerror "This is not supported by Chromium."
-				die "Please switch to a different linker."
-			fi
+		if [ "$use_lto" = "false" ] && use official; then
+			einfo "USE=official selected and LTO not detected."
+			einfo "It is _highly_ recommended that LTO be enabled for performance reasons"
+			einfo "and to be consistent with the upstream \"official\" build optimisations."
+		fi
 
-			# We're forcing clang here; user choice is respected via llvm_slot_x USE
-			AR=llvm-ar
-			CPP="${CHOST}-clang++ -E"
-			NM=llvm-nm
-			CC=${CHOST}-clang
-			CXX=${CHOST}-clang++
+		if [ "$use_lto" = "false" ] && use test; then
+			die "Tests require CFI which requires LTO"
+		fi
 
-			if tc-is-cross-compiler; then
-				use pgo && die "The pgo USE flag cannot be used when cross-compiling"
-				CPP="${CBUILD}-clang++ -E"
-			fi
+		export use_lto
 
-			llvm-r1_pkg_setup
-			rust_pkg_setup
+		# 936858
+		if tc-ld-is-mold; then
+			eerror "Your toolchain is using the mold linker."
+			eerror "This is not supported by Chromium."
+			die "Please switch to a different linker."
 		fi
 
+		llvm-r1_pkg_setup
+		rust_pkg_setup
+
+		# Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT
+		AR=llvm-ar
+		CPP="${CHOST}-clang++-${LLVM_SLOT} -E"
+		NM=llvm-nm
+		CC="${CHOST}-clang-${LLVM_SLOT}"
+		CXX="${CHOST}-clang++-${LLVM_SLOT}"
+
+		if tc-is-cross-compiler; then
+			use pgo && die "The pgo USE flag cannot be used when cross-compiling"
+			CPP="${CBUILD}-clang++-${LLVM_SLOT} -E"
+		fi
+
+		# I hate doing this but upstream Rust have yet to come up with a better solution for
+		# us poor packagers. Required for Split LTO units, which are required for CFI.
+		export RUSTC_BOOTSTRAP=1
+
 		# Users should never hit this, it's purely a development convenience
 		if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
 			die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
@@ -341,26 +343,24 @@ pkg_setup() {
 }
 
 src_unpack() {
-	# In 126 Chromium upstream decided to change the way that the rust toolchain is packaged
-	# so now we get a fancy src_unpack function to ensure that we don't accidentally unpack
-	# one toolchain over the other. The addtional control over over unpacking also helps us
-	# ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system
-	# package by just not unpacking it unless we're using the bundled toolchain.
-	unpack ${P}.tar.xz
-	if use system-toolchain; then
-		unpack chromium-patches-${PATCH_V}.tar.bz2
-	else
-		unpack chromium-${PV%%\.*}-clang.tar.xz
-		local rust_dir="${WORKDIR}/rust-toolchain"
-		mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory"
-		tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain"
-	fi
+	unpack ${P}-linux.tar.xz
+	unpack chromium-patches-${PATCH_V}.tar.bz2
 
 	use pgo && unpack chromium-profiler-0.2.tar
 
+	if use test; then
+		# A new testdata tarball is available for each release; but testfonts tend to remain stable
+		# for the duration of a release.
+		# This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`.
+		unpack ${P}-linux-testdata.tar.xz
+		# This just contains a bunch of font files that need to be unpacked (or moved) to the correct location.
+		local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts"
+		local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz"
+		tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts"
+	fi
+
 	if use ppc64; then
-		unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
-		unpack chromium-ppc64le-gentoo-patches-1.tar.xz
+		unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2
 	fi
 }
 
@@ -368,58 +368,70 @@ src_prepare() {
 	# Calling this here supports resumption via FEATURES=keepwork
 	python_setup
 
-	# disable global media controls, crashes with libstdc++
-	sed -i -e \
-		"/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
-		"chrome/browser/media/router/media_router_feature.cc"
-
 	local PATCHES=(
 		"${FILESDIR}/chromium-cross-compile.patch"
 		"${FILESDIR}/chromium-109-system-zlib.patch"
 		"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
-		"${FILESDIR}/chromium-126-oauth2-client-switches.patch"
-		"${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
+		"${FILESDIR}/chromium-131-unbundle-icu-target.patch"
+		"${FILESDIR}/chromium-131-oauth2-client-switches.patch"
+		"${FILESDIR}/chromium-132-bindgen-custom-toolchain.patch"
         "${FILESDIR}/swiftshader-MCDissassembler.patch"
         "${FILESDIR}/swiftshader-use-llvm16.patch"
         "${FILESDIR}/Debian-fix-rust-linking.patch"
         "${FILESDIR}/riscv-dav1d.patch"
-        "${FILESDIR}/riscv-cargo.patch"
         "${FILESDIR}/riscv-sandbox.patch"
         "${FILESDIR}/riscv-ffmpeg.patch"
-        "${FILESDIR}/riscv.patch"
+        "${FILESDIR}/compiler-rt-riscv.patch"
         "${FILESDIR}/cpuinfo.patch"
         "${FILESDIR}/riscv-misc.patch"
+        "${FILESDIR}/libstdc++-fixup.patch"
+        "${FILESDIR}/0001-chrome-runtime_api_delegate-add-riscv64-define.patch"
+        "${FILESDIR}/0001-extensions-common-api-runtime.json-riscv64-support.patch"
+        "${FILESDIR}/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch"
 	)
+	shopt -s globstar nullglob
+	# 130: moved the PPC64 patches into the chromium-patches repo
+	local patch
+	for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do
+			if [[ ${patch} == *"ppc64le"* ]]; then
+					use ppc64 && PATCHES+=( "${patch}" )
+			else
+					PATCHES+=( "${patch}" )
+			fi
+	done
+	shopt -u globstar nullglob
 
-	if use system-toolchain; then
-		# The patchset is really only required if we're using the system-toolchain
-		PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
-		# We can't use the bundled compiler builtins with the system toolchain
-		# `grep` is a development convenience to ensure we fail early when google changes something.
-		local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
-		grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
-		sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
+	# We can't use the bundled compiler builtins with the system toolchain
+	# `grep` is a development convenience to ensure we fail early when google changes something.
+	local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {"
+	grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+	sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn
 
-	else
-		mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
-		ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
-		ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
-		echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
-			die "Failed to set clang version"
-		ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
-		cp "${WORKDIR}"/rust-toolchain/VERSION \
-			"${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+	if use ppc64; then
+		local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches"
+		# patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304)
+		local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch"
+		local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch"
+		# Apply the OpenPOWER patches (check for page size and isa3.0)
+		openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" |
+			grep -v "${isa_3_patch}" || die) )
+		for patch in "${openpower_patches[@]}"; do
+			PATCHES+=( "${patchset_dir}/${patch}" )
+		done
+		if [[ $(getconf PAGESIZE) == 65536 ]]; then
+			PATCHES+=( "${patchset_dir}/${page_size_patch}" )
+		fi
+		# We use vsx3 as a proxy for 'want isa3.0' (POWER9)
+		if use cpu_flags_ppc_vsx3 ; then
+			PATCHES+=( "${patchset_dir}/${isa_3_patch}" )
+		fi
 	fi
 
-	if use ppc64 ; then
-		local p
-		for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
-			if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
-				eapply "${WORKDIR}/debian/patches/${p}"
-			fi
-		done
-		PATCHES+=( "${WORKDIR}/ppc64le" )
-		PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+	# This is a nightly option that does not exist any current release
+	# https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64
+	if ver_test ${RUST_SLOT} -le "1.82.0"; then
+		sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn ||
+			die "Failed to remove default visibility nightly option"
 	fi
 
 	default
@@ -427,9 +439,24 @@ src_prepare() {
 	rm third_party/node/linux/node-linux-x64/bin/node || die
 	ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
 
+    # if this is riscv apply wasm-node fix to get it to compile clean
+    if use riscv  ; then
+       pushd third_party/node
+            sed -i -e 's/@rollup/rollup/' -e "s/'wasm-node',//" node_modules.py
+            _rollup_ver="$(jq -r .dependencies.\"@rollup/wasm-node\" package.json)"
+             jq ".dependencies.rollup=\"$_rollup_ver\"" package.json > package.json.new
+             mv package.json{.new,}
+       popd
+       third_party/node/update_npm_deps || die
+       rm third_party/devtools-frontend/src/third_party/esbuild/esbuild || die
+       cp -a ${FILESDIR}/esbuild third_party/devtools-frontend/src/third_party/esbuild/esbuild
+    fi
+
 	# adjust python interpreter version
 	sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
 
+	# remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party'
+	# whitelist matches use the right-most matching path component, so we need to whitelist from that point down.
 	local keeplibs=(
 		base/third_party/cityhash
 		base/third_party/double_conversion
@@ -441,7 +468,6 @@ src_prepare() {
 		buildtools/third_party/libc++
 		buildtools/third_party/libc++abi
 		chrome/third_party/mozilla_security_manager
-		courgette/third_party
 		net/third_party/mozilla_security_manager
 		net/third_party/nss
 		net/third_party/quic
@@ -504,14 +530,15 @@ src_prepare() {
 		third_party/devtools-frontend/src/front_end/third_party/diff
 		third_party/devtools-frontend/src/front_end/third_party/i18n
 		third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+		third_party/devtools-frontend/src/front_end/third_party/json5
 		third_party/devtools-frontend/src/front_end/third_party/lighthouse
 		third_party/devtools-frontend/src/front_end/third_party/lit
-		third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
 		third_party/devtools-frontend/src/front_end/third_party/marked
 		third_party/devtools-frontend/src/front_end/third_party/puppeteer
 		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/third-party-web
 		third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
 		third_party/devtools-frontend/src/front_end/third_party/wasmparser
 		third_party/devtools-frontend/src/front_end/third_party/web-vitals
@@ -521,6 +548,7 @@ src_prepare() {
 		third_party/eigen3
 		third_party/emoji-segmenter
 		third_party/farmhash
+		third_party/fast_float
 		third_party/fdlibm
 		third_party/ffmpeg
 		third_party/fft2d
@@ -537,6 +565,17 @@ src_prepare() {
 		third_party/highway
 		third_party/hunspell
 		third_party/iccjpeg
+		third_party/ink_stroke_modeler/src/ink_stroke_modeler
+		third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal
+		third_party/ink/src/ink/brush
+		third_party/ink/src/ink/color
+		third_party/ink/src/ink/geometry
+		third_party/ink/src/ink/rendering
+		third_party/ink/src/ink/rendering/skia/common_internal
+		third_party/ink/src/ink/rendering/skia/native
+		third_party/ink/src/ink/rendering/skia/native/internal
+		third_party/ink/src/ink/strokes
+		third_party/ink/src/ink/types
 		third_party/inspector_protocol
 		third_party/ipcz
 		third_party/jinja2
@@ -553,6 +592,7 @@ src_prepare() {
 		third_party/libaom/source/libaom/third_party/x86inc
 		third_party/libavif
 		third_party/libc++
+		third_party/libdrm
 		third_party/libevent
 		third_party/libgav1
 		third_party/libjingle
@@ -560,6 +600,9 @@ src_prepare() {
 		third_party/libsecret
 		third_party/libsrtp
 		third_party/libsync
+		third_party/libtess2/libtess2
+		third_party/libtess2/src/Include
+		third_party/libtess2/src/Source
 		third_party/liburlpattern
 		third_party/libva_protected_content
 		third_party/libvpx
@@ -571,6 +614,8 @@ src_prepare() {
 		third_party/libyuv
 		third_party/libzip
 		third_party/lit
+		third_party/llvm-libc
+		third_party/llvm-libc/src/shared/
 		third_party/lottie
 		third_party/lss
 		third_party/lzma_sdk
@@ -647,8 +692,10 @@ src_prepare() {
 		third_party/tflite/src/third_party/eigen3
 		third_party/tflite/src/third_party/fft2d
 		third_party/tflite/src/third_party/xla/third_party/tsl
-		third_party/tflite/src/third_party/xla/xla/tsl/util
 		third_party/tflite/src/third_party/xla/xla/tsl/framework
+		third_party/tflite/src/third_party/xla/xla/tsl/lib/random
+		third_party/tflite/src/third_party/xla/xla/tsl/protobuf
+		third_party/tflite/src/third_party/xla/xla/tsl/util
 		third_party/ukey2
 		third_party/unrar
 		third_party/utf
@@ -686,6 +733,18 @@ src_prepare() {
 		third_party/xdg-utils
 	)
 
+	if use test; then
+		# tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}'
+		keeplibs+=(
+			third_party/breakpad/breakpad/src/processor
+			third_party/google_benchmark/src/include/benchmark
+			third_party/google_benchmark/src/src
+			third_party/perfetto/protos/third_party/pprof
+			third_party/test_fonts
+			third_party/test_fonts/fontconfig
+		)
+	fi
+
 	# USE=system-*
 	if ! use system-harfbuzz; then
 		keeplibs+=( third_party/harfbuzz-ng )
@@ -703,10 +762,6 @@ src_prepare() {
 		keeplibs+=( third_party/zstd )
 	fi
 
-	if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
-			keeplibs+=( third_party/llvm )
-	fi
-
 	# Arch-specific
 	if use arm64 || use ppc64 ; then
 		keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
@@ -734,10 +789,38 @@ src_prepare() {
 		popd >/dev/null || die
 	fi
 
-	einfo "Unbundling third-party libraries ..."
+	# Sanity check keeplibs, on major version bumps it is often necessary to update this list
+	# and this enables us to hit them all at once.
+	# There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd)
+	whitelist_libs=(
+		net/third_party/quic
+		third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+		third_party/libjingle
+		third_party/mesa
+		third_party/skia/third_party/vulkan
+		third_party/vulkan
+	)
+	local not_found_libs=()
+	for lib in "${keeplibs[@]}"; do
+		if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then
+			not_found_libs+=( "${lib}" )
+		fi
+	done
+
+	if [[ ${#not_found_libs[@]} -gt 0 ]]; then
+		eerror "The following \`keeplibs\` directories were not found in the source tree:"
+		for lib in "${not_found_libs[@]}"; do
+			eerror "  ${lib}"
+		done
+		die "Please update the ebuild."
+	fi
+
 	# Remove most bundled libraries. Some are still needed.
+	einfo "Unbundling third-party libraries ..."
 	build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
 
+	# TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed.
+
 	# bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
 	mkdir -p buildtools/third_party/eu-strip/bin || die
 	ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
@@ -750,65 +833,63 @@ chromium_configure() {
 	local myconf_gn=""
 
 	# We already forced the "correct" clang via pkg_setup
-	if use system-toolchain; then
-		if tc-is-cross-compiler; then
-			CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
-			CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
-			BUILD_AR=${AR}
-			BUILD_CC=${CC}
-			BUILD_CXX=${CXX}
-			BUILD_NM=${NM}
-		fi
 
-		strip-unsupported-flags
+	if tc-is-cross-compiler; then
+		CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
+		CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
+		BUILD_AR=${AR}
+		BUILD_CC=${CC}
+		BUILD_CXX=${CXX}
+		BUILD_NM=${NM}
+	fi
 
-		myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
-		# https://bugs.gentoo.org/918897#c32
-		append-ldflags -Wl,--undefined-version
-		myconf_gn+=" use_lld=true"
+	strip-unsupported-flags
 
-		# Make sure the build system will use the right tools, bug #340795.
-		tc-export AR CC CXX NM
+	myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+	# https://bugs.gentoo.org/918897#c32
+	append-ldflags -Wl,--undefined-version
+	myconf_gn+=" use_lld=true"
 
-		myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+	# Make sure the build system will use the right tools, bug #340795.
+	tc-export AR CC CXX NM
 
-		if tc-is-cross-compiler; then
-			tc-export BUILD_{AR,CC,CXX,NM}
-			myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
-			myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
-			myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
-			myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
-
-			# setup cups-config, build system only uses --libs option
-			if use cups; then
-				mkdir "${T}/cups-config" || die
-				cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
-				export PATH="${PATH}:${T}/cups-config"
-			fi
+	myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
 
-			# Don't inherit PKG_CONFIG_PATH from environment
-			local -x PKG_CONFIG_PATH=
-		else
-			myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+	if tc-is-cross-compiler; then
+		tc-export BUILD_{AR,CC,CXX,NM}
+		myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+		myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+		myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+		myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+		# setup cups-config, build system only uses --libs option
+		if use cups; then
+			mkdir "${T}/cups-config" || die
+			cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+			export PATH="${PATH}:${T}/cups-config"
 		fi
 
-		# bindgen settings
-		# From 127, to make bindgen work, we need to provide a location for libclang.
-		# We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
-		# rust_bindgen_root = directory with `bin/bindgen` beneath it.
-		myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
-
-		myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
-		# We don't need to set 'clang_base_bath' for anything in our build
-		# and it defaults to the google toolchain location. Instead provide a location
-		# to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
-		myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
-
-		# We need to provide this to GN in both the path to rust _and_ the version
-		myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
-		myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+		# Don't inherit PKG_CONFIG_PATH from environment
+		local -x PKG_CONFIG_PATH=
+	else
+		myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
 	fi
 
+	# bindgen settings
+	# From 127, to make bindgen work, we need to provide a location for libclang.
+	# We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
+	# rust_bindgen_root = directory with `bin/bindgen` beneath it.
+	myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
+
+	myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
+	# We don't need to set 'clang_base_bath' for anything in our build
+	# and it defaults to the google toolchain location. Instead provide a location
+	# to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
+	myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
+
+	myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\""
+	myconf_gn+=" rustc_version=\"${RUST_SLOT}\""
+
 	# GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
 	myconf_gn+=" is_debug=false"
 
@@ -837,7 +918,6 @@ chromium_configure() {
 		freetype
 		# Need harfbuzz_from_pkgconfig target
 		#harfbuzz-ng
-		libdrm
 		libjpeg
 		libwebp
 		libxml
@@ -857,6 +937,13 @@ chromium_configure() {
 
 	build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
 
+	# TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file
+	# drop the last line, then append the freetype line and a new curly brace to end the block
+	local freetype_gni="build/config/freetype/freetype.gni"
+	sed -i -e '$d' ${freetype_gni} || die
+	echo "  enable_freetype = true" >> ${freetype_gni} || die
+	echo "}" >> ${freetype_gni} || die
+
 	# See dependency logic in third_party/BUILD.gn
 	myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
 
@@ -1000,6 +1087,11 @@ chromium_configure() {
 	# Don't need nocompile checks and GN crashes with our config
 	myconf_gn+=" enable_nocompile_tests=false"
 
+	# 131 began laying the groundwork for replacing freetype with
+	# "Rust-based Fontations set of libraries plus Skia path rendering"
+	# We now need to opt-in
+	myconf_gn+=" enable_freetype=true"
+
 	# Enable ozone wayland and/or headless support
 	myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
 	myconf_gn+=" ozone_platform_headless=true"
@@ -1012,7 +1104,6 @@ chromium_configure() {
 		myconf_gn+=" enable_print_preview=false"
 		myconf_gn+=" enable_remoting=false"
 	else
-		myconf_gn+=" use_system_libdrm=true"
 		myconf_gn+=" use_system_minigbm=true"
 		myconf_gn+=" use_xkbcommon=true"
 		if use qt5 || use qt6; then
@@ -1045,20 +1136,6 @@ chromium_configure() {
 		use wayland && myconf_gn+=" use_system_libffi=true"
 	fi
 
-	# Results in undefined references in chrome linking, may require CFI to work
-	if use arm64; then
-		myconf_gn+=" arm_control_flow_integrity=\"none\""
-	fi
-
-	# 936673: Updater (which we don't use) depends on libsystemd
-	# This _should_ always be disabled if we're not building a
-	# "Chrome" branded browser, but obviously this is not always sufficient.
-	myconf_gn+=" enable_updater=false"
-
-	local use_lto="false"
-	if tc-is-lto; then
-		use_lto="true"
-	fi
 	myconf_gn+=" use_thin_lto=${use_lto}"
 	myconf_gn+=" thin_lto_enable_optimizations=${use_lto}"
 
@@ -1068,10 +1145,11 @@ chromium_configure() {
 		# Allow building against system libraries in official builds
 		sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
 			tools/generate_shim_headers/generate_shim_headers.py || die
-		# Req's LTO; TODO: not compatible with -fno-split-lto-unit
-		# split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch),
-		# however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G.
-		myconf_gn+=" is_cfi=false"
+		if use ppc64 || use riscv; then
+			myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi]
+		else
+			myconf_gn+=" is_cfi=${use_lto}"
+		fi
 		# Don't add symbols to build
 		myconf_gn+=" symbol_level=0"
 	fi
@@ -1102,6 +1180,7 @@ src_configure() {
 }
 
 chromium_compile() {
+
 	# Final link uses lots of file descriptors.
 	ulimit -n 2048
 
@@ -1127,25 +1206,10 @@ chromium_compile() {
 
 	# Even though ninja autodetects number of CPUs, we respect
 	# user's options, for debugging with -j 1 or any other reason.
-	eninja -C out/Release chrome chromedriver chrome_sandbox
+	eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests")
 
 	pax-mark m out/Release/chrome
 
-	if ! use system-toolchain; then
-		QA_FLAGS_IGNORED="
-			usr/lib64/chromium-browser/chrome
-			usr/lib64/chromium-browser/chrome-sandbox
-			usr/lib64/chromium-browser/chromedriver
-			usr/lib64/chromium-browser/chrome_crashpad_handler
-			usr/lib64/chromium-browser/libEGL.so
-			usr/lib64/chromium-browser/libGLESv2.so
-			usr/lib64/chromium-browser/libVkICD_mock_icd.so
-			usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
-			usr/lib64/chromium-browser/libqt5_shim.so
-			usr/lib64/chromium-browser/libvk_swiftshader.so
-			usr/lib64/chromium-browser/libvulkan.so.1
-		"
-	fi
 }
 
 # This function is called from virtx, and must always return so that Xvfb
@@ -1224,6 +1288,58 @@ src_compile() {
 		out/Release/vk_swiftshader_icd.json || die
 }
 
+src_test() {
+	# Initial list of tests to skip pulled from Alpine. Thanks Lauren!
+	# https://issues.chromium.org/issues/40939315
+	local skip_tests=(
+		'MessagePumpLibeventTest.NestedNotification*'
+		ClampTest.Death
+		OptionalTest.DereferencingNoValueCrashes
+		PlatformThreadTest.SetCurrentThreadTypeTest
+		RawPtrTest.TrivialRelocability
+		SafeNumerics.IntMaxOperations
+		StackTraceTest.TraceStackFramePointersFromBuffer
+		StringPieceTest.InvalidLengthDeath
+		StringPieceTest.OutOfBoundsDeath
+		ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker
+		ValuesUtilTest.FilePath
+		# Gentoo-specific
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2
+		AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3
+		CharacterEncodingTest.GetCanonicalEncodingNameByAliasName
+		CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE
+		CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL
+		CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV
+		CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress
+		FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe
+		FileTest.GetInfoForCreationTime
+		ICUStringConversionsTest.ConvertToUtf8AndNormalize
+		NumberFormattingTest.FormatPercent
+		PathServiceTest.CheckedGetFailure
+		PlatformThreadTest.CanChangeThreadType
+		RustLogIntegrationTest.CheckAllSeverity
+		StackCanary.ChangingStackCanaryCrashesOnReturn
+		StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree
+		SysStrings.SysNativeMBAndWide
+		SysStrings.SysNativeMBToWide
+		SysStrings.SysWideToNativeMB
+		TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest
+		ToolsSanityTest.BadVirtualCallNull
+		ToolsSanityTest.BadVirtualCallWrongType
+	)
+	local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")"
+	# test-launcher-bot-mode enables parallelism and plain output
+	./out/Release/base_unittests --test-launcher-bot-mode \
+		--test-launcher-jobs="$(makeopts_jobs)" \
+		--gtest_filter="${test_filter}" || die "Tests failed!"
+}
+
 src_install() {
 	local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
 	exeinto "${CHROMIUM_HOME}"
diff --git a/www-client/chromium/files/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch b/www-client/chromium/files/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch
new file mode 100644
index 0000000..790206f
--- /dev/null
+++ b/www-client/chromium/files/0001-Enable-relocate-1-for-ff_h264_weight_funcs_8_rvv.patch
@@ -0,0 +1,26 @@
+From 7954389e39292980323a986ed21eb47325bbddf8 Mon Sep 17 00:00:00 2001
+Message-ID: <7954389e39292980323a986ed21eb47325bbddf8.1731734570.git.rsworktech@outlook.com>
+From: Levi Zim <rsworktech@outlook.com>
+Date: Sat, 16 Nov 2024 13:22:28 +0800
+Subject: [PATCH] Enable relocate=1 for ff_h264_weight_funcs_8_rvv
+
+---
+ libavcodec/riscv/h264dsp_rvv.S | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S b/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S
+index 079896b17b..05d077f44e 100644
+--- a/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S
++++ b/third_party/ffmpeg/libavcodec/riscv/h264dsp_rvv.S
+@@ -160,7 +160,7 @@ h264_weight 8, 16
+ 
+         .global ff_h264_weight_funcs_8_rvv
+         .hidden ff_h264_weight_funcs_8_rvv
+-const ff_h264_weight_funcs_8_rvv
++const ff_h264_weight_funcs_8_rvv, relocate=1
+         .irp    w, 16, 8, 4, 2
+ #if __riscv_xlen == 32
+         .word   ff_h264_weight_pixels\w\()_8_rvv
+-- 
+2.47.0
+
diff --git a/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch b/www-client/chromium/files/0001-chrome-runtime_api_delegate-add-riscv64-define.patch
similarity index 99%
rename from www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch
rename to www-client/chromium/files/0001-chrome-runtime_api_delegate-add-riscv64-define.patch
index 930574c..20122ea 100644
--- a/www-client/chromium/files/chrome-runtime_api_delegate-add-riscv64-define.patch
+++ b/www-client/chromium/files/0001-chrome-runtime_api_delegate-add-riscv64-define.patch
@@ -31,3 +31,4 @@ index 0c2f88ce0d92c..113a8e0010075 100644
      return false;
 -- 
 2.39.2
+
diff --git a/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch b/www-client/chromium/files/0001-extensions-common-api-runtime.json-riscv64-support.patch
similarity index 99%
rename from www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch
rename to www-client/chromium/files/0001-extensions-common-api-runtime.json-riscv64-support.patch
index 5c9fec6..a8633cf 100644
--- a/www-client/chromium/files/extensions-common-api-runtime.json-riscv64-support.patch
+++ b/www-client/chromium/files/0001-extensions-common-api-runtime.json-riscv64-support.patch
@@ -34,3 +34,4 @@ index 65a024c03011e..9965a83545807 100644
 -- 
 2.43.0
 
+
diff --git a/www-client/chromium/files/Debian-fix-rust-linking.patch b/www-client/chromium/files/Debian-fix-rust-linking.patch
index 1fc0efb..bb8572d 100644
--- a/www-client/chromium/files/Debian-fix-rust-linking.patch
+++ b/www-client/chromium/files/Debian-fix-rust-linking.patch
@@ -45,4 +45,3 @@
        # Generate a map file to be used for binary size analysis.
        # Map file adds ~10% to the link time on a z620.
        # With target_os="android", libchrome.so.map.gz is ~20MB.
-
diff --git a/www-client/chromium/files/chromium-126-oauth2-client-switches.patch b/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
deleted file mode 100644
index b7ddf79..0000000
--- a/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From b6cda4bc2283a02a5b5209c0f4282a8365f6f33e Mon Sep 17 00:00:00 2001
-From: Matt Jolly <Matt.Jolly@footclan.ninja>
-Date: Tue, 21 May 2024 10:04:24 +1000
-Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
- 126 update
-
-126 changed the function proto; patch rebased.
-
-Google doesn't let us bake in OAuth2 credentials, and for some time,
-Google sign-in has been broken. Arch dealt with this in March, and so
-did we to some degree, but in the last few months, our sign-in
-credentials have been broken. It appears that we actually did remove API
-credentials in March around Chrome 89, but they got added back, perhaps
-when rotating newer versions to replace older versions. Work around this
-by following Arch's lead: we remove the predefined credentials, as
-before, but also we patch Chromium so that people can use their own
-easily, using Arch's patch for that.
-
-For more info, see:
-
-https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
-https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5
-https://hackaday.com/2021/01/26/whats-the-deal-with-chromium-on-linux-google-at-odds-with-package-maintainers/
-
-Bug: https://bugs.gentoo.org/791871
-Signed-off-by: Matt Jolly <kangie@gentoo.org>
---- a/google_apis/google_api_keys-inc.cc
-+++ b/google_apis/google_api_keys-inc.cc
-@@ -193,11 +193,11 @@ class APIKeyCache {
-     std::string default_client_id = CalculateKeyValue(
-         GOOGLE_DEFAULT_CLIENT_ID,
-         STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(),
--        nullptr, std::string(), environment.get(), command_line, gaia_config);
-+        ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config);
-     std::string default_client_secret = CalculateKeyValue(
-         GOOGLE_DEFAULT_CLIENT_SECRET,
-         STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
--        nullptr, std::string(), environment.get(), command_line, gaia_config);
-+        ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config);
- 
-     // We currently only allow overriding the baked-in values for the
-     // default OAuth2 client ID and secret using a command-line
--- 
-2.45.1
-
diff --git a/www-client/chromium/files/chromium-127-browser-ui-deps.patch b/www-client/chromium/files/chromium-127-browser-ui-deps.patch
deleted file mode 100644
index e262e31..0000000
--- a/www-client/chromium/files/chromium-127-browser-ui-deps.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-https://gitlab.exherbo.org/exherbo/desktop/-/raw/master/packages/net-www/chromium-beta/files/chromium-browser-ui-missing-deps.patch
-https://issues.chromium.org/u/2/issues/351157339
-Source: Tom Briden <tom@decompile.me.uk>
-Upstream: No
-
---- a/chrome/browser/ui/views/side_panel/BUILD.gn
-+++ b/chrome/browser/ui/views/side_panel/BUILD.gn
-@@ -142,18 +142,30 @@ static_library("side_panel") {
-   }
-   public_deps = [
-     "//base",
-+    "//chrome/browser/cart:mojo_bindings",
-     "//chrome/browser/companion/core/mojom:mojo_bindings",
-     "//chrome/browser/profiles:profile",
-     "//chrome/browser/ui/actions:actions_headers",
-     "//chrome/browser/ui/color:color_headers",
-+    "//chrome/browser/ui/webui/side_panel/customize_chrome:mojo_bindings",
-+    "//chrome/browser/ui/webui/side_panel/bookmarks:mojo_bindings",
-     "//chrome/browser/ui/webui/side_panel/performance_controls:mojo_bindings",
-+    "//chrome/browser/ui/webui/side_panel/reading_list:mojo_bindings",
-+    "//chrome/browser/ui:webui_name_variants",
-     "//chrome/common",
-     "//chrome/common/accessibility:mojo_bindings",
-+    "//chrome/common/companion:mojo_bindings",
-+    "//components/enterprise/buildflags:buildflags",
-+    "//components/enterprise/common/proto:connectors_proto",
-     "//components/lens",
-     "//components/lens:buildflags",
-     "//components/omnibox/browser",
-+    "//components/page_image_service/mojom:mojo_bindings",
-+    "//components/paint_preview/buildflags:buildflags",
-     "//components/prefs",
-     "//components/search_engines",
-+    "//components/segmentation_platform/public/proto:proto",
-+    "//components/webapps/common:mojo_bindings",
-     "//content/public/browser",
-     "//extensions/browser",
-     "//extensions/common",
-@@ -165,6 +177,8 @@ static_library("side_panel") {
-     "//ui/gfx/geometry",
-     "//ui/views",
-     "//ui/views/controls/webview",
-+    "//ui/webui/resources/cr_components/commerce:mojo_bindings",
-+    "//ui/webui/resources/cr_components/help_bubble:mojo_bindings",
-     "//url",
-   ]
-   deps = [
---- a/chrome/browser/ui/webui/top_chrome/BUILD.gn
-+++ b/chrome/browser/ui/webui/top_chrome/BUILD.gn
-@@ -19,6 +19,7 @@ source_set("top_chrome") {
-   deps = [
-     "//base",
-     "//chrome/browser/profiles:profile",
-+    "//chrome/browser/ui:webui_name_variants",
-     "//components/site_engagement/content:content",
-     "//content/public/browser",
-     "//ui/webui",
diff --git a/www-client/chromium/files/chromium-127-updater-systemd.patch b/www-client/chromium/files/chromium-127-updater-systemd.patch
deleted file mode 100644
index 57e9029..0000000
--- a/www-client/chromium/files/chromium-127-updater-systemd.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-https://github.com/chromium/chromium/commit/570332aad61afab5d9d88a8438bae53ea28a298a
-From: Noah Rose Ledesma <noahrose@google.com>
-Date: Wed, 31 Jul 2024 17:59:12 +0000
-Subject: [PATCH] Use libs instead of pkg_config for linux deps
-
-pkg_config can cause builds to fail if the requested packages are not
-present, regardless of if the lib is depended upon by the target being
-built.
-
-This issue can be avoided by setting 'libs' instead. I'm not sure why we
-didn't do so in the first place.
-
-Bug: 355967882
-Change-Id: Ie5dc4c03b08d7c1e26458ea143f6dc812b670544
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5749680
-Reviewed-by: Sorin Jianu <sorin@chromium.org>
-Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
-Cr-Commit-Position: refs/heads/main@{#1335558}
---- a/chrome/updater/BUILD.gn
-+++ b/chrome/updater/BUILD.gn
-@@ -367,9 +367,10 @@ if (is_win || is_mac || is_linux) {
-         "update_service_internal_impl_qualifying_linux.cc",
-         "update_usage_stats_task_linux.cc",
-       ]
--      public_configs = [
--        "linux:libcurl",
--        "linux:libsystemd",
-+
-+      libs = [
-+        "curl",
-+        "systemd",
-       ]
-     }
-   }
-@@ -1040,7 +1041,7 @@ if (is_win || is_mac || is_linux) {
- 
-       data += [ "//chrome/test/data/updater/updater_qualification_app.crx" ]
-       data_deps += [ "//chrome/updater/linux:updater_test" ]
--      public_configs = [ "linux:libsystemd" ]
-+      libs = [ "systemd" ]
-     }
- 
-     if (is_posix) {
---- a/chrome/updater/linux/BUILD.gn
-+++ b/chrome/updater/linux/BUILD.gn
-@@ -2,7 +2,6 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- 
--import("//build/config/linux/pkg_config.gni")
- import("//chrome/updater/zip.gni")
- 
- # This target builds the updater executable and unittests.
-@@ -13,18 +12,10 @@ group("linux") {
-   ]
- }
- 
--pkg_config("libcurl") {
--  packages = [ "libcurl" ]
--}
--
--pkg_config("libsystemd") {
--  packages = [ "libsystemd" ]
--}
--
- source_set("updater_executable") {
-   sources = [ "main.cc" ]
-   deps = [ "//chrome/updater:base" ]
--  public_configs = [ ":libsystemd" ]
-+  libs = [ "systemd" ]
- }
- 
- executable("updater") {
diff --git a/www-client/chromium/files/chromium-131-oauth2-client-switches.patch b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch
new file mode 100644
index 0000000..350775c
--- /dev/null
+++ b/www-client/chromium/files/chromium-131-oauth2-client-switches.patch
@@ -0,0 +1,39 @@
+From 54951636d20fa798e148228118863b89a4580479 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Sat, 12 Oct 2024 12:40:16 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
+ 131 update
+
+131 moved a ton of things around; this is now in api_key_cache.cc
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+--- a/google_apis/api_key_cache.cc
++++ b/google_apis/api_key_cache.cc
+@@ -214,14 +214,14 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) {
+ 
+   std::string default_client_id = CalculateKeyValue(
+       default_api_keys.google_default_client_id,
+-      STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), nullptr,
++      STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), ::switches::kOAuth2ClientID,
+       std::string(), environment.get(), command_line, gaia_config,
+       default_api_keys.allow_override_via_environment,
+       default_api_keys.allow_unset_values);
+   std::string default_client_secret = CalculateKeyValue(
+       default_api_keys.google_default_client_secret,
+       STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
+-      nullptr, std::string(), environment.get(), command_line, gaia_config,
++      ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config,
+       default_api_keys.allow_override_via_environment,
+       default_api_keys.allow_unset_values);
+ 
+-- 
+2.46.2
+
diff --git a/www-client/chromium/files/chromium-131-unbundle-icu-target.patch b/www-client/chromium/files/chromium-131-unbundle-icu-target.patch
new file mode 100644
index 0000000..618750f
--- /dev/null
+++ b/www-client/chromium/files/chromium-131-unbundle-icu-target.patch
@@ -0,0 +1,21 @@
+From a665875b4013eed997bd042326a038e24f3296e7 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Thu, 10 Oct 2024 14:36:51 +1000
+Subject: [PATCH] unbundle: add missing icu target
+
+--- a/build/linux/unbundle/icu.gn
++++ b/build/linux/unbundle/icu.gn
+@@ -65,6 +65,10 @@ group("icuuc_public") {
+   public_deps = [ ":icuuc" ]
+ }
+ 
++group("icui18n_hidden_visibility") {
++  public_deps = [ ":icuuc" ]
++}
++
+ shim_headers("icui18n_shim") {
+   root_path = "source/i18n"
+   headers = [
+-- 
+2.46.2
+
diff --git a/www-client/chromium/files/chromium-127-bindgen-custom-toolchain.patch b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch
similarity index 76%
rename from www-client/chromium/files/chromium-127-bindgen-custom-toolchain.patch
rename to www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch
index e981df8..f0cf20a 100644
--- a/www-client/chromium/files/chromium-127-bindgen-custom-toolchain.patch
+++ b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch
@@ -1,6 +1,6 @@
-From 6df5a080f58ddb6a49a9d33e4a3619a34fffa78c Mon Sep 17 00:00:00 2001
-From: Matt Jolly <Matt.Jolly@footclan.ninja>
-Date: Fri, 5 Jul 2024 20:49:01 +1000
+From 84b3b8335f7efbb8ed5ab9c9a260ea4f5d77192b Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Mon, 11 Nov 2024 20:52:48 +1000
 Subject: [PATCH] Make bindgen wrapper work with unbundled toolchain
 
 The `run_bindgen.py` wrapper takes a --libclang-path option
@@ -11,13 +11,6 @@ bindgen (in our rust toolchain), but distributions may want to
 override this and use a system path.
 
 Additionally enable distros to feed in appropriate library paths.
----
- build/config/rust.gni       | 11 +++++++++++
- build/rust/rust_bindgen.gni | 28 ++++++++++++++++++----------
- 2 files changed, 29 insertions(+), 10 deletions(-)
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 97e788a227..78b9daa7e8 100644
 --- a/build/config/rust.gni
 +++ b/build/config/rust.gni
 @@ -60,6 +60,17 @@ declare_args() {
@@ -38,11 +31,9 @@ index 97e788a227..78b9daa7e8 100644
    # If you're using a Rust toolchain as specified by rust_sysroot_absolute,
    # set this to the output of `rustc -V`. Changing this string will cause all
    # Rust targets to be rebuilt, which allows you to update your toolchain and
-diff --git a/build/rust/rust_bindgen.gni b/build/rust/rust_bindgen.gni
-index bf110ca93c..d7eb04eb00 100644
 --- a/build/rust/rust_bindgen.gni
 +++ b/build/rust/rust_bindgen.gni
-@@ -16,13 +16,13 @@ if (host_os == "win") {
+@@ -17,13 +17,13 @@ if (host_os == "win") {
    _bindgen_path = "${_bindgen_path}.exe"
  }
  
@@ -62,35 +53,38 @@ index bf110ca93c..d7eb04eb00 100644
  }
  
  # Template to build Rust/C bindings with bindgen.
-@@ -100,7 +100,7 @@ template("rust_bindgen") {
+--- a/build/rust/rust_bindgen_generator.gni
++++ b/build/rust/rust_bindgen_generator.gni
+@@ -151,7 +151,7 @@ template("rust_bindgen_generator") {
        "--output",
-       rebase_path(out_gen_rs, root_build_dir),
+       rebase_path(output_file, root_build_dir),
        "--libclang-path",
 -      rebase_path(_libclang_path, root_build_dir),
 +      rebase_path(bindgen_libclang_path, root_build_dir),
      ]
  
-     if (wrap_static_fns) {
-@@ -117,7 +117,7 @@ template("rust_bindgen") {
+     if (_wrap_static_fns) {
+@@ -172,7 +172,7 @@ template("rust_bindgen_generator") {
        # point to.
        args += [
          "--ld-library-path",
 -        rebase_path(clang_base_path + "/lib", root_build_dir),
-+        rebase_path(_clang_ld_libpath, root_build_dir),
++        rebase_path(bindgen_libclang_path, root_build_dir),
        ]
      }
  
-@@ -145,8 +145,7 @@ template("rust_bindgen") {
+@@ -215,9 +215,7 @@ template("rust_bindgen_generator") {
+     # says the wrong thing. We point it to our clang's resource dir which will
      # make it behave consistently with our other command line flags and allows
      # system headers to be found.
-     clang_resource_dir =
+-    clang_resource_dir =
 -        rebase_path(clang_base_path + "/lib/clang/" + clang_version,
 -                    root_build_dir)
-+        rebase_path(_clang_libpath, root_build_dir)
++    clang_resource_dir = rebase_path(clang_base_path + "/include", root_build_dir)
      args += [
        "-resource-dir",
        clang_resource_dir,
-@@ -167,6 +166,15 @@ template("rust_bindgen") {
+@@ -238,6 +236,15 @@ template("rust_bindgen_generator") {
        }
      }
  
@@ -107,5 +101,4 @@ index bf110ca93c..d7eb04eb00 100644
        # On Windows we fall back to using system headers from a sysroot from
        # depot_tools. This is negotiated by python scripts and the result is
 -- 
-2.45.2
-
+2.47.0
diff --git a/www-client/chromium/files/chromium-134-oauth2-client-switches.patch b/www-client/chromium/files/chromium-134-oauth2-client-switches.patch
new file mode 100644
index 0000000..b7137e5
--- /dev/null
+++ b/www-client/chromium/files/chromium-134-oauth2-client-switches.patch
@@ -0,0 +1,35 @@
+From 628c8aad603791ec1276c6a5b8d3704a03840f86 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Sat, 18 Jan 2025 11:09:46 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+--- a/google_apis/api_key_cache.cc
++++ b/google_apis/api_key_cache.cc
+@@ -192,13 +192,13 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) {
+ 
+   std::string default_client_id = CalculateKeyValue(
+       default_api_keys.google_default_client_id,
+-      STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr, std::string(),
++      STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID, std::string(),
+       environment.get(), command_line, gaia_config,
+       default_api_keys.allow_override_via_environment,
+       default_api_keys.allow_unset_values);
+   std::string default_client_secret = CalculateKeyValue(
+       default_api_keys.google_default_client_secret,
+-      STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr,
++      STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientID,
+       std::string(), environment.get(), command_line, gaia_config,
+       default_api_keys.allow_override_via_environment,
+       default_api_keys.allow_unset_values);
+-- 
+2.48.0
+
diff --git a/www-client/chromium/files/riscv.patch b/www-client/chromium/files/compiler-rt-riscv.patch
similarity index 100%
rename from www-client/chromium/files/riscv.patch
rename to www-client/chromium/files/compiler-rt-riscv.patch
diff --git a/www-client/chromium/files/cpuinfo.patch b/www-client/chromium/files/cpuinfo.patch
index 942a658..35a730a 100644
--- a/www-client/chromium/files/cpuinfo.patch
+++ b/www-client/chromium/files/cpuinfo.patch
@@ -1,7 +1,8 @@
-diff -Naur a/third_party/cpuinfo/BUILD.gn b/third_party/cpuinfo/BUILD.gn
---- a/third_party/cpuinfo/BUILD.gn	2024-03-16 09:54:46.809862047 +0000
-+++ b/third_party/cpuinfo/BUILD.gn	2024-03-16 10:00:01.616932065 +0000
-@@ -123,6 +123,12 @@
+Index: chromium-129.0.6668.58/third_party/cpuinfo/BUILD.gn
+===================================================================
+--- chromium-129.0.6668.58.orig/third_party/cpuinfo/BUILD.gn
++++ chromium-129.0.6668.58/third_party/cpuinfo/BUILD.gn
+@@ -105,6 +105,12 @@ source_set("cpu_specific") {
      ]
    }
  
@@ -14,18 +15,19 @@ diff -Naur a/third_party/cpuinfo/BUILD.gn b/third_party/cpuinfo/BUILD.gn
    # Because "init.c" is reused again, but only has sources in the corresponding
    # build config.
    deps = [ ":x86_cache" ]
-@@ -190,6 +196,14 @@
-     ]
+@@ -191,6 +197,14 @@ source_set("cpu_and_os_specific") {
+     }
    }
  
-+  if ((is_linux || is_chromeos) && current_cpu == "riscv64") {
++  if (is_linux && current_cpu == "riscv64") {
 +    sources = [
-+      "src/src/riscv/linux/api.h",
 +      "src/src/riscv/linux/init.c",
 +      "src/src/riscv/linux/riscv-hw.c",
 +      "src/src/riscv/linux/riscv-isa.c",
 +    ]
 +  }
-   if (is_android && (current_cpu == "arm" || current_cpu == "arm64")) {
++
+   if (is_android && (current_cpu == "x86" || current_cpu == "x64")) {
      sources = [
-       "src/src/arm/android/properties.c",
+       "src/src/x86/linux/cpuinfo.c",
+
diff --git a/www-client/chromium/files/esbuild b/www-client/chromium/files/esbuild
new file mode 100755
index 0000000..ccbd8bf
Binary files /dev/null and b/www-client/chromium/files/esbuild differ
diff --git a/www-client/chromium/files/libstdc++-fixup.patch b/www-client/chromium/files/libstdc++-fixup.patch
new file mode 100644
index 0000000..9402ef3
--- /dev/null
+++ b/www-client/chromium/files/libstdc++-fixup.patch
@@ -0,0 +1,219 @@
+Index: chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
+===================================================================
+--- chromium-132.0.6834.83.orig/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
++++ chromium-132.0.6834.83/chrome/browser/ui/lens/lens_overlay_request_id_generator.h
+@@ -5,6 +5,8 @@
+ #ifndef CHROME_BROWSER_UI_LENS_LENS_OVERLAY_REQUEST_ID_GENERATOR_H_
+ #define CHROME_BROWSER_UI_LENS_LENS_OVERLAY_REQUEST_ID_GENERATOR_H_
+ 
++#include <optional>
++
+ #include "third_party/lens_server_proto/lens_overlay_routing_info.pb.h"
+ #include "third_party/lens_server_proto/lens_overlay_server.pb.h"
+ #include "third_party/lens_server_proto/lens_overlay_service_deps.pb.h"
+Index: chromium-132.0.6834.83/components/sync/service/local_data_description.h
+===================================================================
+--- chromium-132.0.6834.83.orig/components/sync/service/local_data_description.h
++++ chromium-132.0.6834.83/components/sync/service/local_data_description.h
+@@ -6,6 +6,7 @@
+ #define COMPONENTS_SYNC_SERVICE_LOCAL_DATA_DESCRIPTION_H_
+ 
+ #include <string>
++#include <variant>
+ #include <vector>
+ 
+ #include "components/sync/base/data_type.h"
+Index: chromium-132.0.6834.83/components/variations/limited_layer_entropy_cost_tracker.h
+===================================================================
+--- chromium-132.0.6834.83.orig/components/variations/limited_layer_entropy_cost_tracker.h
++++ chromium-132.0.6834.83/components/variations/limited_layer_entropy_cost_tracker.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_VARIATIONS_LIMITED_LAYER_ENTROPY_COST_TRACKER_H_
+ #define COMPONENTS_VARIATIONS_LIMITED_LAYER_ENTROPY_COST_TRACKER_H_
+ 
++#include <cstdint>
+ #include <map>
+ #include <set>
+ 
+Index: chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.h
+===================================================================
+--- chromium-132.0.6834.83.orig/components/viz/service/display/surface_aggregator.h
++++ chromium-132.0.6834.83/components/viz/service/display/surface_aggregator.h
+@@ -132,13 +132,18 @@ class VIZ_SERVICE_EXPORT SurfaceAggregat
+   struct PrewalkResult;
+ 
+   struct AggregateStatistics {
+-    int prewalked_surface_count = 0;
+-    int copied_surface_count = 0;
++    AggregateStatistics()
++      : prewalked_surface_count(0),
++	copied_surface_count(0),
++	has_pixel_moving_filter(false),
++	has_unembedded_pass(false) {}
++    int prewalked_surface_count;
++    int copied_surface_count;
+     // True if the current frame contains a pixel-moving foreground filter
+     // render pass.
+-    bool has_pixel_moving_filter = false;
++    bool has_pixel_moving_filter;
+     // True if the current frame contains a unembedded render pass.
+-    bool has_unembedded_pass = false;
++    bool has_unembedded_pass;
+ 
+     base::TimeDelta prewalk_time;
+     base::TimeDelta copy_time;
+Index: chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_image_backing.h
+===================================================================
+--- chromium-132.0.6834.83.orig/gpu/command_buffer/service/shared_image/shared_image_backing.h
++++ chromium-132.0.6834.83/gpu/command_buffer/service/shared_image/shared_image_backing.h
+@@ -389,7 +389,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
+  private:
+   class ScopedWriteUMA {
+    public:
+-    ScopedWriteUMA() = default;
++    ScopedWriteUMA() : content_consumed_(false) {}
+ 
+     ScopedWriteUMA(const ScopedWriteUMA&) = delete;
+     ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
+@@ -403,7 +403,7 @@ class GPU_GLES2_EXPORT SharedImageBackin
+     void SetConsumed() { content_consumed_ = true; }
+ 
+    private:
+-    bool content_consumed_ = false;
++    bool content_consumed_;
+   };
+ 
+   const Mailbox mailbox_;
+Index: chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
+===================================================================
+--- chromium-132.0.6834.83.orig/mojo/public/cpp/bindings/lib/multiplex_router.h
++++ chromium-132.0.6834.83/mojo/public/cpp/bindings/lib/multiplex_router.h
+@@ -315,8 +315,9 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS
+   // are not managed by the MultiplexRouter and thus are not relevant here.
+   struct ExclusiveSyncWaitInfo {
+     InterfaceId interface_id = kInvalidInterfaceId;
+-    uint64_t request_id = 0;
+-    bool finished = false;
++    uint64_t request_id;
++    bool finished;
++    ExclusiveSyncWaitInfo() : request_id(0), finished(false) {}
+   };
+   std::optional<ExclusiveSyncWaitInfo> exclusive_sync_wait_;
+ 
+Index: chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
++++ chromium-132.0.6834.83/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+@@ -885,8 +885,9 @@ class CORE_EXPORT PaintLayerScrollableAr
+ 
+   struct PendingViewState {
+     HistoryItem::ViewState state;
+-    mojom::blink::ScrollBehavior scroll_behavior =
+-        mojom::blink::ScrollBehavior::kAuto;
++    mojom::blink::ScrollBehavior scroll_behavior;
++    PendingViewState()
++      : scroll_behavior(mojom::blink::ScrollBehavior::kAuto) {}
+   };
+   std::optional<PendingViewState> pending_view_state_;
+ };
+Index: chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
++++ chromium-132.0.6834.83/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.h
+@@ -51,7 +51,8 @@ class MediaControlTimelineElement : publ
+   // Struct used to track the current live time.
+   struct LiveAnchorTime {
+     base::TimeTicks clock_time_;
+-    double media_time_ = 0;
++    double media_time_;
++    LiveAnchorTime() : media_time_(0) {}
+   };
+ 
+   void DefaultEventHandler(Event&) override;
+Index: chromium-132.0.6834.83/third_party/ink/src/ink/brush/brush_paint.cc
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/ink/src/ink/brush/brush_paint.cc
++++ chromium-132.0.6834.83/third_party/ink/src/ink/brush/brush_paint.cc
+@@ -84,7 +84,7 @@ absl::Status ValidateBrushPaintTextureKe
+         keyframe.progress));
+   }
+   if (keyframe.size.has_value()) {
+-    if (!isfinite(keyframe.size->x) || !isfinite(keyframe.size->y) ||
++    if (!std::isfinite(keyframe.size->x) || !std::isfinite(keyframe.size->y) ||
+         keyframe.size->x <= 0 || keyframe.size->y <= 0) {
+       return absl::InvalidArgumentError(
+           absl::StrFormat("`BrushPaint::TextureKeyframe::size` components must "
+@@ -102,7 +102,7 @@ absl::Status ValidateBrushPaintTextureKe
+     }
+   }
+   if (keyframe.rotation.has_value()) {
+-    if (!isfinite(keyframe.rotation->ValueInRadians())) {
++    if (!std::isfinite(keyframe.rotation->ValueInRadians())) {
+       return absl::InvalidArgumentError(
+           absl::StrFormat("`BrushPaint::TextureKeyframe::rotation` must be "
+                           "finite. Got %v",
+@@ -159,7 +159,7 @@ absl::Status ValidateBrushPaintTextureLa
+                         "interval [0, 1]. Got %v",
+                         layer.offset));
+   }
+-  if (!isfinite(layer.rotation.ValueInRadians())) {
++  if (!std::isfinite(layer.rotation.ValueInRadians())) {
+     return absl::InvalidArgumentError(
+         absl::StrFormat("`BrushPaint::TextureLayer::rotation` must be finite. "
+                         "Got %v",
+@@ -179,7 +179,7 @@ absl::Status ValidateBrushPaintTextureLa
+         "interval [0, 1]. Got %v",
+         layer.offset_jitter));
+   }
+-  if (!isfinite(layer.rotation_jitter.ValueInRadians())) {
++  if (!std::isfinite(layer.rotation_jitter.ValueInRadians())) {
+     return absl::InvalidArgumentError(absl::StrFormat(
+         "`BrushPaint::TextureLayer::rotation_jitter` must be finite. "
+         "Got %v",
+Index: chromium-132.0.6834.83/third_party/ruy/src/ruy/profiler/instrumentation.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/ruy/src/ruy/profiler/instrumentation.h
++++ chromium-132.0.6834.83/third_party/ruy/src/ruy/profiler/instrumentation.h
+@@ -18,7 +18,9 @@ limitations under the License.
+ 
+ #ifdef RUY_PROFILER
+ #include <cstdio>
++#include <cstdlib>
+ #include <mutex>
++#include <string>
+ #include <vector>
+ #endif
+ 
+Index: chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/webrtc/call/rtp_config.h
++++ chromium-132.0.6834.83/third_party/webrtc/call/rtp_config.h
+@@ -79,10 +79,12 @@ struct RtpStreamConfig {
+   struct Rtx {
+     std::string ToString() const;
+     // SSRC to use for the RTX stream.
+-    uint32_t ssrc = 0;
++    uint32_t ssrc;
+ 
+     // Payload type to use for the RTX stream.
+-    int payload_type = -1;
++    int payload_type;
++
++    Rtx() : ssrc(0), payload_type(-1) {}
+   };
+   std::optional<Rtx> rtx;
+ };
+Index: chromium-132.0.6834.83/third_party/webrtc/rtc_base/ssl_stream_adapter.h
+===================================================================
+--- chromium-132.0.6834.83.orig/third_party/webrtc/rtc_base/ssl_stream_adapter.h
++++ chromium-132.0.6834.83/third_party/webrtc/rtc_base/ssl_stream_adapter.h
+@@ -15,6 +15,7 @@
+ #include <stdint.h>
+ 
+ #include <memory>
++#include <optional>
+ #include <string>
+ #include <vector>
+ 
+ 
+
diff --git a/www-client/chromium/files/riscv-cargo.patch b/www-client/chromium/files/riscv-cargo.patch
deleted file mode 100644
index 35412dd..0000000
--- a/www-client/chromium/files/riscv-cargo.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c50dab84e0c911f7b89532700fca27d42a77b3c1 Mon Sep 17 00:00:00 2001
-From: kxxt <rsworktech@outlook.com>
-Date: Fri, 13 Sep 2024 12:48:44 +0000
-Subject: [PATCH] cargo_crate.gni: add riscv64 and loong64 cases
-
-This CL syncs the condition of 64 bit pointer with
-https://github.com/chromium/chromium/blob/31f058a669fd063cab3439df5c877ed3005d9832/base/allocator/partition_allocator/partition_alloc.gni#L21-L24
-
-Bug: none
-Change-Id: Id2f1cfaa0c5167fb61c74505aba03716337b071f
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5850670
-Commit-Queue: Nico Weber <thakis@chromium.org>
-Reviewed-by: Nico Weber <thakis@chromium.org>
-Reviewed-by: Arthur Eubanks <aeubanks@google.com>
-Cr-Commit-Position: refs/heads/main@{#1355138}
----
-
-diff --git a/build/rust/cargo_crate.gni b/build/rust/cargo_crate.gni
-index e5d1b2f8..7290451 100644
---- a/build/rust/cargo_crate.gni
-+++ b/build/rust/cargo_crate.gni
-@@ -429,7 +429,8 @@
-           rust_abi_target,
-         ]
-       }
--      if (current_cpu == "arm64" || current_cpu == "x64") {
-+      if (current_cpu == "arm64" || current_cpu == "x64" ||
-+          current_cpu == "loong64" || current_cpu == "riscv64") {
-         args += [
-           "--pointer-width",
-           "64",
-
diff --git a/www-client/chromium/files/riscv-ffmpeg.patch b/www-client/chromium/files/riscv-ffmpeg.patch
index 6a21d07..124abfe 100644
--- a/www-client/chromium/files/riscv-ffmpeg.patch
+++ b/www-client/chromium/files/riscv-ffmpeg.patch
@@ -1,10 +1,129 @@
 diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ffmpeg/CREDITS.chromium
---- a/third_party/ffmpeg/CREDITS.chromium	2024-10-02 03:50:24.635323500 +0100
-+++ b/third_party/ffmpeg/CREDITS.chromium	2024-10-05 16:34:43.806521178 +0100
-@@ -131,6 +131,62 @@
+--- a/third_party/ffmpeg/CREDITS.chromium	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/CREDITS.chromium	2025-01-14 12:35:22.000000000 +0000
+@@ -131,6 +131,181 @@
  
  ********************************************************************************
  
++libavcodec/riscv/h264addpx_rvv.S
++
++Copyright © 2024 Rémi Denis-Courmont.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
++libavcodec/riscv/h264dsp_rvv.S
++
++SPDX-License-Identifier: BSD-2-Clause
++
++Copyright © 2024 Rémi Denis-Courmont.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
++libavcodec/riscv/h264idct_rvv.S
++
++SPDX-License-Identifier: BSD-2-Clause
++
++Copyright (c) 2024 J. Dekker <jdek@itanimul.li>
++Copyright © 2024 Rémi Denis-Courmont.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
++libavcodec/riscv/h264qpel_rvv.S
++
++SPDX-License-Identifier: BSD-2-Clause
++
++Copyright (c) 2024 Niklas Haas
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++1. Redistributions of source code must retain the above copyright notice,
++this list of conditions and the following disclaimer.
++
++2. Redistributions in binary form must reproduce the above copyright notice,
++this list of conditions and the following disclaimer in the documentation
++and/or other materials provided with the distribution.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
++LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++********************************************************************************
++
 +libavcodec/riscv/startcode_rvb.S
 +
 +Copyright © 2024 Rémi Denis-Courmont.
@@ -64,19 +183,51 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/CREDITS.chromium b/third_party/ff
  libavformat/oggparsetheora.c
  
  Copyright (C) 2005  Matthieu CASTET, Alex Beregszaszi
+@@ -157,31 +332,6 @@
+ 
+ ********************************************************************************
+ 
+-libavutil/x86/x86inc.asm
+-
+-x86inc.asm: x86 abstraction layer
+-
+- Copyright (C) 2005-2024 x264 project
+-
+- Authors: Loren Merritt <lorenm@u.washington.edu>
+-          Henrik Gramner <henrik@gramner.com>
+-          Anton Mitrofanov <BugMaster@narod.ru>
+-          Fiona Glaser <fiona@x264.com>
+-
+- Permission to use, copy, modify, and/or distribute this software for any
+- purpose with or without fee is hereby granted, provided that the above
+- copyright notice and this permission notice appear in all copies.
+-
+- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+-
+-********************************************************************************
+-
+ libavcodec/mips/compute_antialias_fixed.h
+ libavcodec/mips/compute_antialias_float.h
+ libavutil/fixed_dsp.c
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h	2024-10-05 16:34:43.806521178 +0100
-@@ -0,0 +1,782 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config.h	2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,793 @@
 +/* Automatically generated by configure - do not modify! */
 +#ifndef FFMPEG_CONFIG_H
 +#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-co
 mpile --target-os=linux --sysroot=/home/porter/Workspaces/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/media/Recorded_TV/chrome/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-
 compile --target-os=linux --sysroot=/media/Recorded_TV/chrome/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
 +#define FFMPEG_LICENSE "LGPL version 2.1 or later"
 +#define CONFIG_THIS_YEAR 2024
 +#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
 +#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project b81d8e90339a788cc6cb148831612c6b39b93ad5)"
 +#define OS_NAME linux
 +#define EXTERN_PREFIX ""
 +#define EXTERN_ASM 
@@ -84,12 +235,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define SLIBSUF ".so"
 +#define SWS_MAX_FILTER_SIZE 256
 +#define ARCH_AARCH64 0
-+#define ARCH_ALPHA 0
 +#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
 +#define ARCH_IA64 0
 +#define ARCH_LOONGARCH 0
 +#define ARCH_LOONGARCH32 0
@@ -102,7 +248,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define ARCH_PPC64 0
 +#define ARCH_RISCV 1
 +#define ARCH_S390 0
-+#define ARCH_SH4 0
 +#define ARCH_SPARC 0
 +#define ARCH_SPARC64 0
 +#define ARCH_TILEGX 0
@@ -120,6 +265,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_VFP 0
 +#define HAVE_VFPV3 0
 +#define HAVE_SETEND 0
++#define HAVE_SVE 0
++#define HAVE_SVE2 0
 +#define HAVE_ALTIVEC 0
 +#define HAVE_DCBZL 0
 +#define HAVE_LDBRX 0
@@ -128,6 +275,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_VSX 0
 +#define HAVE_RV 1
 +#define HAVE_RVV 1
++#define HAVE_RV_ZICBOP 1
 +#define HAVE_RV_ZVBB 0
 +#define HAVE_AESNI 0
 +#define HAVE_AMD3DNOW 0
@@ -172,6 +320,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_VFP_EXTERNAL 0
 +#define HAVE_VFPV3_EXTERNAL 0
 +#define HAVE_SETEND_EXTERNAL 0
++#define HAVE_SVE_EXTERNAL 0
++#define HAVE_SVE2_EXTERNAL 0
 +#define HAVE_ALTIVEC_EXTERNAL 0
 +#define HAVE_DCBZL_EXTERNAL 0
 +#define HAVE_LDBRX_EXTERNAL 0
@@ -180,6 +330,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_VSX_EXTERNAL 0
 +#define HAVE_RV_EXTERNAL 0
 +#define HAVE_RVV_EXTERNAL 0
++#define HAVE_RV_ZICBOP_EXTERNAL 0
 +#define HAVE_RV_ZVBB_EXTERNAL 0
 +#define HAVE_AESNI_EXTERNAL 0
 +#define HAVE_AMD3DNOW_EXTERNAL 0
@@ -224,6 +375,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_VFP_INLINE 0
 +#define HAVE_VFPV3_INLINE 0
 +#define HAVE_SETEND_INLINE 0
++#define HAVE_SVE_INLINE 0
++#define HAVE_SVE2_INLINE 0
 +#define HAVE_ALTIVEC_INLINE 0
 +#define HAVE_DCBZL_INLINE 0
 +#define HAVE_LDBRX_INLINE 0
@@ -232,6 +385,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_VSX_INLINE 0
 +#define HAVE_RV_INLINE 0
 +#define HAVE_RVV_INLINE 0
++#define HAVE_RV_ZICBOP_INLINE 0
 +#define HAVE_RV_ZVBB_INLINE 0
 +#define HAVE_AESNI_INLINE 0
 +#define HAVE_AMD3DNOW_INLINE 0
@@ -275,13 +429,10 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_SIMD_ALIGN_16 0
 +#define HAVE_SIMD_ALIGN_32 0
 +#define HAVE_SIMD_ALIGN_64 0
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
 +#define HAVE_MEMORYBARRIER 0
 +#define HAVE_MM_EMPTY 0
 +#define HAVE_RDTSC 0
 +#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
 +#define HAVE_INLINE_ASM 1
 +#define HAVE_SYMVER 0
 +#define HAVE_X86ASM 0
@@ -315,7 +466,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_OPENGL_GL3_H 0
 +#define HAVE_POLL_H 1
 +#define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 1
++#define HAVE_SYS_HWPROBE_H 0
 +#define HAVE_SYS_PARAM_H 1
 +#define HAVE_SYS_RESOURCE_H 1
 +#define HAVE_SYS_SELECT_H 1
@@ -330,6 +481,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_WINDOWS_H 0
 +#define HAVE_WINSOCK2_H 0
 +#define HAVE_INTRINSICS_NEON 0
++#define HAVE_INTRINSICS_SSE2 0
 +#define HAVE_ATANF 1
 +#define HAVE_ATAN2F 1
 +#define HAVE_CBRT 1
@@ -372,6 +524,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_CLOCK_GETTIME 1
 +#define HAVE_CLOSESOCKET 0
 +#define HAVE_COMMANDLINETOARGVW 0
++#define HAVE_ELF_AUX_INFO 0
 +#define HAVE_FCNTL 1
 +#define HAVE_GETADDRINFO 0
 +#define HAVE_GETAUXVAL 1
@@ -420,6 +573,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_SYSCONF 1
 +#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
 +#define HAVE_SYSCTLBYNAME 0
++#define HAVE_TEMPNAM 1
 +#define HAVE_USLEEP 1
 +#define HAVE_UTGETOSTYPEFROMSTRING 0
 +#define HAVE_VIRTUALALLOC 0
@@ -435,6 +589,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_AS_ARCH_DIRECTIVE 0
 +#define HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE 0
 +#define HAVE_AS_ARCHEXT_I8MM_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE2_DIRECTIVE 0
 +#define HAVE_AS_DN_DIRECTIVE 0
 +#define HAVE_AS_FPU_DIRECTIVE 0
 +#define HAVE_AS_FUNC 0
@@ -450,7 +606,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_INLINE_ASM_LABELS 1
 +#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
 +#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
++#define HAVE_RSYNC_CONTIMEOUT 1
 +#define HAVE_SYMVER_ASM_LABEL 1
 +#define HAVE_SYMVER_GNU_ASM 1
 +#define HAVE_VFP_ARGS 0
@@ -461,6 +617,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
 +#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
 +#define HAVE_KCMVIDEOCODECTYPE_VP9 0
++#define HAVE_KCMVIDEOCODECTYPE_AV1 0
 +#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
 +#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
 +#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
@@ -488,7 +645,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
 +#define HAVE_STRUCT_SOCKADDR_STORAGE 0
 +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
 +#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
 +#define HAVE_GZIP 1
 +#define HAVE_LIBDRM_GETFB2 0
@@ -503,6 +660,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define HAVE_OPENCL_VIDEOTOOLBOX 0
 +#define HAVE_PERL 1
 +#define HAVE_POD2MAN 1
++#define HAVE_POSIX_IOCTL 0
 +#define HAVE_TEXI2HTML 0
 +#define HAVE_XMLLINT 0
 +#define HAVE_ZLIB_GZIP 0
@@ -592,6 +750,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_LIBKLVANC 0
 +#define CONFIG_LIBKVAZAAR 0
 +#define CONFIG_LIBLC3 0
++#define CONFIG_LIBLCEVC_DEC 0
 +#define CONFIG_LIBMODPLUG 0
 +#define CONFIG_LIBMP3LAME 0
 +#define CONFIG_LIBMYSOFA 0
@@ -629,6 +788,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_LIBVMAF 0
 +#define CONFIG_LIBVORBIS 0
 +#define CONFIG_LIBVPX 0
++#define CONFIG_LIBVVENC 0
 +#define CONFIG_LIBWEBP 0
 +#define CONFIG_LIBXEVD 0
 +#define CONFIG_LIBXEVE 0
@@ -761,6 +921,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_CBS_MPEG2 0
 +#define CONFIG_CBS_VP8 0
 +#define CONFIG_CBS_VP9 0
++#define CONFIG_D3D12VA_ENCODE 0
 +#define CONFIG_DEFLATE_WRAPPER 0
 +#define CONFIG_DIRAC_PARSE 1
 +#define CONFIG_DNN 0
@@ -847,13 +1008,14 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_VP3DSP 0
 +#define CONFIG_VP56DSP 0
 +#define CONFIG_VP8DSP 0
++#define CONFIG_VULKAN_ENCODE 0
 +#define CONFIG_WMA_FREQS 0
 +#define CONFIG_WMV2DSP 0
 +#endif /* FFMPEG_CONFIG_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h	2024-10-05 16:34:43.813187846 +0100
-@@ -0,0 +1,2218 @@
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/config_components.h	2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,2234 @@
 +/* Automatically generated by configure - do not modify! */
 +#ifndef FFMPEG_CONFIG_COMPONENTS_H
 +#define FFMPEG_CONFIG_COMPONENTS_H
@@ -864,6 +1026,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_CHOMP_BSF 0
 +#define CONFIG_DUMP_EXTRADATA_BSF 0
 +#define CONFIG_DCA_CORE_BSF 0
++#define CONFIG_DOVI_RPU_BSF 0
 +#define CONFIG_DTS2PTS_BSF 0
 +#define CONFIG_DV_ERROR_MARKER_BSF 0
 +#define CONFIG_EAC3_CORE_BSF 0
@@ -1455,6 +1618,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_BINTEXT_DECODER 0
 +#define CONFIG_XBIN_DECODER 0
 +#define CONFIG_IDF_DECODER 0
++#define CONFIG_AAC_MEDIACODEC_DECODER 0
++#define CONFIG_AMRNB_MEDIACODEC_DECODER 0
++#define CONFIG_AMRWB_MEDIACODEC_DECODER 0
 +#define CONFIG_LIBAOM_AV1_DECODER 0
 +#define CONFIG_AV1_DECODER 0
 +#define CONFIG_AV1_CUVID_DECODER 0
@@ -1466,6 +1632,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_HEVC_MEDIACODEC_DECODER 0
 +#define CONFIG_MJPEG_CUVID_DECODER 0
 +#define CONFIG_MJPEG_QSV_DECODER 0
++#define CONFIG_MP3_MEDIACODEC_DECODER 0
 +#define CONFIG_MPEG1_CUVID_DECODER 0
 +#define CONFIG_MPEG2_CUVID_DECODER 0
 +#define CONFIG_MPEG4_CUVID_DECODER 0
@@ -1477,6 +1644,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_VP9_CUVID_DECODER 0
 +#define CONFIG_VP9_MEDIACODEC_DECODER 0
 +#define CONFIG_VP9_QSV_DECODER 0
++#define CONFIG_VVC_QSV_DECODER 0
 +#define CONFIG_VNULL_DECODER 0
 +#define CONFIG_ANULL_DECODER 0
 +#define CONFIG_A64MULTI_ENCODER 0
@@ -1684,6 +1852,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_LIBVORBIS_ENCODER 0
 +#define CONFIG_LIBVPX_VP8_ENCODER 0
 +#define CONFIG_LIBVPX_VP9_ENCODER 0
++#define CONFIG_LIBVVENC_ENCODER 0
 +#define CONFIG_LIBWEBP_ANIM_ENCODER 0
 +#define CONFIG_LIBWEBP_ENCODER 0
 +#define CONFIG_LIBX262_ENCODER 0
@@ -1701,6 +1870,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_AV1_NVENC_ENCODER 0
 +#define CONFIG_AV1_QSV_ENCODER 0
 +#define CONFIG_AV1_AMF_ENCODER 0
++#define CONFIG_AV1_MF_ENCODER 0
 +#define CONFIG_AV1_VAAPI_ENCODER 0
 +#define CONFIG_LIBOPENH264_ENCODER 0
 +#define CONFIG_H264_AMF_ENCODER 0
@@ -1711,7 +1881,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_H264_V4L2M2M_ENCODER 0
 +#define CONFIG_H264_VAAPI_ENCODER 0
 +#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_H264_VULKAN_ENCODER 0
 +#define CONFIG_HEVC_AMF_ENCODER 0
++#define CONFIG_HEVC_D3D12VA_ENCODER 0
 +#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
 +#define CONFIG_HEVC_MF_ENCODER 0
 +#define CONFIG_HEVC_NVENC_ENCODER 0
@@ -1719,6 +1891,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_HEVC_V4L2M2M_ENCODER 0
 +#define CONFIG_HEVC_VAAPI_ENCODER 0
 +#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_HEVC_VULKAN_ENCODER 0
 +#define CONFIG_LIBKVAZAAR_ENCODER 0
 +#define CONFIG_MJPEG_QSV_ENCODER 0
 +#define CONFIG_MJPEG_VAAPI_ENCODER 0
@@ -1744,6 +1917,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_AV1_NVDEC_HWACCEL 0
 +#define CONFIG_AV1_VAAPI_HWACCEL 0
 +#define CONFIG_AV1_VDPAU_HWACCEL 0
++#define CONFIG_AV1_VIDEOTOOLBOX_HWACCEL 0
 +#define CONFIG_AV1_VULKAN_HWACCEL 0
 +#define CONFIG_H263_VAAPI_HWACCEL 0
 +#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
@@ -1822,6 +1996,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_DCA_PARSER 0
 +#define CONFIG_DIRAC_PARSER 0
 +#define CONFIG_DNXHD_PARSER 0
++#define CONFIG_DNXUC_PARSER 0
 +#define CONFIG_DOLBY_E_PARSER 0
 +#define CONFIG_DPX_PARSER 0
 +#define CONFIG_DVAUDIO_PARSER 0
@@ -2213,6 +2388,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_KIRSCH_FILTER 0
 +#define CONFIG_LAGFUN_FILTER 0
 +#define CONFIG_LATENCY_FILTER 0
++#define CONFIG_LCEVC_FILTER 0
 +#define CONFIG_LENSCORRECTION_FILTER 0
 +#define CONFIG_LENSFUN_FILTER 0
 +#define CONFIG_LIBPLACEBO_FILTER 0
@@ -2408,6 +2584,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_XFADE_OPENCL_FILTER 0
 +#define CONFIG_XFADE_VULKAN_FILTER 0
 +#define CONFIG_XMEDIAN_FILTER 0
++#define CONFIG_XPSNR_FILTER 0
 +#define CONFIG_XSTACK_FILTER 0
 +#define CONFIG_YADIF_FILTER 0
 +#define CONFIG_YADIF_CUDA_FILTER 0
@@ -2444,6 +2621,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#define CONFIG_QRENCODESRC_FILTER 0
 +#define CONFIG_PAL75BARS_FILTER 0
 +#define CONFIG_PAL100BARS_FILTER 0
++#define CONFIG_PERLIN_FILTER 0
 +#define CONFIG_RGBTESTSRC_FILTER 0
 +#define CONFIG_SIERPINSKI_FILTER 0
 +#define CONFIG_SMPTEBARS_FILTER 0
@@ -3074,13 +3252,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c	2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/bsf_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,2 @@
 +static const FFBitStreamFilter * const bitstream_filters[] = {
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c	2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/codec_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,17 @@
 +static const FFCodec * const codec_list[] = {
 +    &ff_h264_decoder,
@@ -3101,7 +3279,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c	2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavcodec/parser_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,9 @@
 +static const AVCodecParser * const parser_list[] = {
 +    &ff_aac_parser,
@@ -3114,7 +3292,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c	2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/demuxer_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,9 @@
 +static const FFInputFormat * const demuxer_list[] = {
 +    &ff_aac_demuxer,
@@ -3127,19 +3305,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c	2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/muxer_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,2 @@
 +static const FFOutputFormat * const muxer_list[] = {
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c	2024-10-05 16:34:43.813187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavformat/protocol_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,2 @@
 +static const URLProtocol * const url_protocols[] = {
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h	2024-10-05 16:34:43.816521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/avconfig.h	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,6 @@
 +/* Generated by ffmpeg configure */
 +#ifndef AVUTIL_AVCONFIG_H
@@ -3149,115 +3327,26 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/risc
 +#endif /* AVUTIL_AVCONFIG_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h
 --- a/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h	2024-10-05 16:34:43.816521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chrome/linux/riscv64/libavutil/ffversion.h	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,5 @@
 +/* Automatically generated by version.sh, do not manually edit! */
 +#ifndef AVUTIL_FFVERSION_H
 +#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
++#define FFMPEG_VERSION "git-2024-10-31-591ae4b02e"
 +#endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm
---- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm	2024-10-02 03:50:24.656325800 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.asm	2024-10-05 16:34:43.816521179 +0100
-@@ -102,8 +102,8 @@
- %define HAVE_AMD3DNOWEXT_EXTERNAL 1
- %define HAVE_AVX_EXTERNAL 1
- %define HAVE_AVX2_EXTERNAL 1
--%define HAVE_AVX512_EXTERNAL 1
--%define HAVE_AVX512ICL_EXTERNAL 1
-+%define HAVE_AVX512_EXTERNAL 0
-+%define HAVE_AVX512ICL_EXTERNAL 0
- %define HAVE_FMA3_EXTERNAL 1
- %define HAVE_FMA4_EXTERNAL 1
- %define HAVE_MMX_EXTERNAL 1
-@@ -366,7 +366,7 @@
- %define HAVE_INLINE_ASM_LABELS 1
- %define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- %define HAVE_PRAGMA_DEPRECATED 1
--%define HAVE_RSYNC_CONTIMEOUT 1
-+%define HAVE_RSYNC_CONTIMEOUT 0
- %define HAVE_SYMVER_ASM_LABEL 1
- %define HAVE_SYMVER_GNU_ASM 1
- %define HAVE_VFP_ARGS 0
-@@ -420,7 +420,7 @@
- %define HAVE_PERL 1
- %define HAVE_POD2MAN 1
- %define HAVE_TEXI2HTML 0
--%define HAVE_XMLLINT 1
-+%define HAVE_XMLLINT 0
- %define HAVE_ZLIB_GZIP 0
- %define HAVE_OPENVINO2 0
- %define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h
---- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h	2024-10-02 03:50:24.656325800 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/config.h	2024-10-05 16:34:43.816521179 +0100
-@@ -1,12 +1,12 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --ena
 ble-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --enable-pic --cc=
 clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project ecea8371ff03c15fb3dc27ee4108b98335fd2d63)"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
- #define OS_NAME linux
- #define EXTERN_PREFIX ""
- #define EXTERN_ASM 
-@@ -116,8 +116,8 @@
- #define HAVE_AMD3DNOWEXT_EXTERNAL 1
- #define HAVE_AVX_EXTERNAL 1
- #define HAVE_AVX2_EXTERNAL 1
--#define HAVE_AVX512_EXTERNAL 1
--#define HAVE_AVX512ICL_EXTERNAL 1
-+#define HAVE_AVX512_EXTERNAL 0
-+#define HAVE_AVX512ICL_EXTERNAL 0
- #define HAVE_FMA3_EXTERNAL 1
- #define HAVE_FMA4_EXTERNAL 1
- #define HAVE_MMX_EXTERNAL 1
-@@ -380,7 +380,7 @@
- #define HAVE_INLINE_ASM_LABELS 1
- #define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- #define HAVE_PRAGMA_DEPRECATED 1
--#define HAVE_RSYNC_CONTIMEOUT 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
- #define HAVE_SYMVER_ASM_LABEL 1
- #define HAVE_SYMVER_GNU_ASM 1
- #define HAVE_VFP_ARGS 0
-@@ -434,7 +434,7 @@
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
--#define HAVE_XMLLINT 1
-+#define HAVE_XMLLINT 0
- #define HAVE_ZLIB_GZIP 0
- #define HAVE_OPENVINO2 0
- #define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h	2024-10-02 03:50:24.657326000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chrome/linux/x64/libavutil/ffversion.h	2024-10-05 16:34:43.816521179 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-116575-gd941d9677b"
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
- #endif /* AVUTIL_FFVERSION_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h	2024-10-05 16:34:43.819854513 +0100
-@@ -0,0 +1,782 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config.h	2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,793 @@
 +/* Automatically generated by configure - do not modify! */
 +#ifndef FFMPEG_CONFIG_H
 +#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-co
 mpile --target-os=linux --sysroot=/home/porter/Workspaces/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/media/Recorded_TV/chrome/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=riscv64 --extra-cflags='-march=rv64gc' --enable-cross-
 compile --target-os=linux --sysroot=/media/Recorded_TV/chrome/chromium/src/build/linux/debian_sid_riscv64-sysroot --extra-cflags='--target=riscv64-linux-gnu' --extra-ldflags='--target=riscv64-linux-gnu' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
 +#define FFMPEG_LICENSE "LGPL version 2.1 or later"
 +#define CONFIG_THIS_YEAR 2024
 +#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
 +#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
++#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project b81d8e90339a788cc6cb148831612c6b39b93ad5)"
 +#define OS_NAME linux
 +#define EXTERN_PREFIX ""
 +#define EXTERN_ASM 
@@ -3265,12 +3354,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define SLIBSUF ".so"
 +#define SWS_MAX_FILTER_SIZE 256
 +#define ARCH_AARCH64 0
-+#define ARCH_ALPHA 0
 +#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
 +#define ARCH_IA64 0
 +#define ARCH_LOONGARCH 0
 +#define ARCH_LOONGARCH32 0
@@ -3283,7 +3367,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define ARCH_PPC64 0
 +#define ARCH_RISCV 1
 +#define ARCH_S390 0
-+#define ARCH_SH4 0
 +#define ARCH_SPARC 0
 +#define ARCH_SPARC64 0
 +#define ARCH_TILEGX 0
@@ -3301,6 +3384,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_VFP 0
 +#define HAVE_VFPV3 0
 +#define HAVE_SETEND 0
++#define HAVE_SVE 0
++#define HAVE_SVE2 0
 +#define HAVE_ALTIVEC 0
 +#define HAVE_DCBZL 0
 +#define HAVE_LDBRX 0
@@ -3309,6 +3394,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_VSX 0
 +#define HAVE_RV 1
 +#define HAVE_RVV 1
++#define HAVE_RV_ZICBOP 1
 +#define HAVE_RV_ZVBB 0
 +#define HAVE_AESNI 0
 +#define HAVE_AMD3DNOW 0
@@ -3353,6 +3439,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_VFP_EXTERNAL 0
 +#define HAVE_VFPV3_EXTERNAL 0
 +#define HAVE_SETEND_EXTERNAL 0
++#define HAVE_SVE_EXTERNAL 0
++#define HAVE_SVE2_EXTERNAL 0
 +#define HAVE_ALTIVEC_EXTERNAL 0
 +#define HAVE_DCBZL_EXTERNAL 0
 +#define HAVE_LDBRX_EXTERNAL 0
@@ -3361,6 +3449,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_VSX_EXTERNAL 0
 +#define HAVE_RV_EXTERNAL 0
 +#define HAVE_RVV_EXTERNAL 0
++#define HAVE_RV_ZICBOP_EXTERNAL 0
 +#define HAVE_RV_ZVBB_EXTERNAL 0
 +#define HAVE_AESNI_EXTERNAL 0
 +#define HAVE_AMD3DNOW_EXTERNAL 0
@@ -3405,6 +3494,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_VFP_INLINE 0
 +#define HAVE_VFPV3_INLINE 0
 +#define HAVE_SETEND_INLINE 0
++#define HAVE_SVE_INLINE 0
++#define HAVE_SVE2_INLINE 0
 +#define HAVE_ALTIVEC_INLINE 0
 +#define HAVE_DCBZL_INLINE 0
 +#define HAVE_LDBRX_INLINE 0
@@ -3413,6 +3504,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_VSX_INLINE 0
 +#define HAVE_RV_INLINE 0
 +#define HAVE_RVV_INLINE 0
++#define HAVE_RV_ZICBOP_INLINE 0
 +#define HAVE_RV_ZVBB_INLINE 0
 +#define HAVE_AESNI_INLINE 0
 +#define HAVE_AMD3DNOW_INLINE 0
@@ -3456,13 +3548,10 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_SIMD_ALIGN_16 0
 +#define HAVE_SIMD_ALIGN_32 0
 +#define HAVE_SIMD_ALIGN_64 0
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
 +#define HAVE_MEMORYBARRIER 0
 +#define HAVE_MM_EMPTY 0
 +#define HAVE_RDTSC 0
 +#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
 +#define HAVE_INLINE_ASM 1
 +#define HAVE_SYMVER 0
 +#define HAVE_X86ASM 0
@@ -3496,7 +3585,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_OPENGL_GL3_H 0
 +#define HAVE_POLL_H 1
 +#define HAVE_PTHREAD_NP_H 0
-+#define HAVE_SYS_HWPROBE_H 1
++#define HAVE_SYS_HWPROBE_H 0
 +#define HAVE_SYS_PARAM_H 1
 +#define HAVE_SYS_RESOURCE_H 1
 +#define HAVE_SYS_SELECT_H 1
@@ -3511,6 +3600,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_WINDOWS_H 0
 +#define HAVE_WINSOCK2_H 0
 +#define HAVE_INTRINSICS_NEON 0
++#define HAVE_INTRINSICS_SSE2 0
 +#define HAVE_ATANF 1
 +#define HAVE_ATAN2F 1
 +#define HAVE_CBRT 1
@@ -3553,6 +3643,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_CLOCK_GETTIME 1
 +#define HAVE_CLOSESOCKET 0
 +#define HAVE_COMMANDLINETOARGVW 0
++#define HAVE_ELF_AUX_INFO 0
 +#define HAVE_FCNTL 1
 +#define HAVE_GETADDRINFO 0
 +#define HAVE_GETAUXVAL 1
@@ -3601,6 +3692,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_SYSCONF 1
 +#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
 +#define HAVE_SYSCTLBYNAME 0
++#define HAVE_TEMPNAM 1
 +#define HAVE_USLEEP 1
 +#define HAVE_UTGETOSTYPEFROMSTRING 0
 +#define HAVE_VIRTUALALLOC 0
@@ -3616,6 +3708,8 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_AS_ARCH_DIRECTIVE 0
 +#define HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE 0
 +#define HAVE_AS_ARCHEXT_I8MM_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE_DIRECTIVE 0
++#define HAVE_AS_ARCHEXT_SVE2_DIRECTIVE 0
 +#define HAVE_AS_DN_DIRECTIVE 0
 +#define HAVE_AS_FPU_DIRECTIVE 0
 +#define HAVE_AS_FUNC 0
@@ -3631,7 +3725,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_INLINE_ASM_LABELS 1
 +#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
 +#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
++#define HAVE_RSYNC_CONTIMEOUT 1
 +#define HAVE_SYMVER_ASM_LABEL 1
 +#define HAVE_SYMVER_GNU_ASM 1
 +#define HAVE_VFP_ARGS 0
@@ -3642,6 +3736,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
 +#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
 +#define HAVE_KCMVIDEOCODECTYPE_VP9 0
++#define HAVE_KCMVIDEOCODECTYPE_AV1 0
 +#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
 +#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
 +#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
@@ -3669,7 +3764,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
 +#define HAVE_STRUCT_SOCKADDR_STORAGE 0
 +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
 +#define HAVE_STRUCT_MFXCONFIGINTERFACE 0
 +#define HAVE_GZIP 1
 +#define HAVE_LIBDRM_GETFB2 0
@@ -3684,6 +3779,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define HAVE_OPENCL_VIDEOTOOLBOX 0
 +#define HAVE_PERL 1
 +#define HAVE_POD2MAN 1
++#define HAVE_POSIX_IOCTL 0
 +#define HAVE_TEXI2HTML 0
 +#define HAVE_XMLLINT 0
 +#define HAVE_ZLIB_GZIP 0
@@ -3773,6 +3869,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_LIBKLVANC 0
 +#define CONFIG_LIBKVAZAAR 0
 +#define CONFIG_LIBLC3 0
++#define CONFIG_LIBLCEVC_DEC 0
 +#define CONFIG_LIBMODPLUG 0
 +#define CONFIG_LIBMP3LAME 0
 +#define CONFIG_LIBMYSOFA 0
@@ -3810,6 +3907,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_LIBVMAF 0
 +#define CONFIG_LIBVORBIS 0
 +#define CONFIG_LIBVPX 0
++#define CONFIG_LIBVVENC 0
 +#define CONFIG_LIBWEBP 0
 +#define CONFIG_LIBXEVD 0
 +#define CONFIG_LIBXEVE 0
@@ -3942,6 +4040,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_CBS_MPEG2 0
 +#define CONFIG_CBS_VP8 0
 +#define CONFIG_CBS_VP9 0
++#define CONFIG_D3D12VA_ENCODE 0
 +#define CONFIG_DEFLATE_WRAPPER 0
 +#define CONFIG_DIRAC_PARSE 1
 +#define CONFIG_DNN 0
@@ -4028,13 +4127,14 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_VP3DSP 0
 +#define CONFIG_VP56DSP 0
 +#define CONFIG_VP8DSP 0
++#define CONFIG_VULKAN_ENCODE 0
 +#define CONFIG_WMA_FREQS 0
 +#define CONFIG_WMV2DSP 0
 +#endif /* FFMPEG_CONFIG_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h	2024-10-05 16:34:43.823187846 +0100
-@@ -0,0 +1,2218 @@
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/config_components.h	2025-01-14 12:35:46.000000000 +0000
+@@ -0,0 +1,2234 @@
 +/* Automatically generated by configure - do not modify! */
 +#ifndef FFMPEG_CONFIG_COMPONENTS_H
 +#define FFMPEG_CONFIG_COMPONENTS_H
@@ -4045,6 +4145,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_CHOMP_BSF 0
 +#define CONFIG_DUMP_EXTRADATA_BSF 0
 +#define CONFIG_DCA_CORE_BSF 0
++#define CONFIG_DOVI_RPU_BSF 0
 +#define CONFIG_DTS2PTS_BSF 0
 +#define CONFIG_DV_ERROR_MARKER_BSF 0
 +#define CONFIG_EAC3_CORE_BSF 0
@@ -4636,6 +4737,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_BINTEXT_DECODER 0
 +#define CONFIG_XBIN_DECODER 0
 +#define CONFIG_IDF_DECODER 0
++#define CONFIG_AAC_MEDIACODEC_DECODER 0
++#define CONFIG_AMRNB_MEDIACODEC_DECODER 0
++#define CONFIG_AMRWB_MEDIACODEC_DECODER 0
 +#define CONFIG_LIBAOM_AV1_DECODER 0
 +#define CONFIG_AV1_DECODER 0
 +#define CONFIG_AV1_CUVID_DECODER 0
@@ -4647,6 +4751,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_HEVC_MEDIACODEC_DECODER 0
 +#define CONFIG_MJPEG_CUVID_DECODER 0
 +#define CONFIG_MJPEG_QSV_DECODER 0
++#define CONFIG_MP3_MEDIACODEC_DECODER 0
 +#define CONFIG_MPEG1_CUVID_DECODER 0
 +#define CONFIG_MPEG2_CUVID_DECODER 0
 +#define CONFIG_MPEG4_CUVID_DECODER 0
@@ -4658,6 +4763,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_VP9_CUVID_DECODER 0
 +#define CONFIG_VP9_MEDIACODEC_DECODER 0
 +#define CONFIG_VP9_QSV_DECODER 0
++#define CONFIG_VVC_QSV_DECODER 0
 +#define CONFIG_VNULL_DECODER 0
 +#define CONFIG_ANULL_DECODER 0
 +#define CONFIG_A64MULTI_ENCODER 0
@@ -4865,6 +4971,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_LIBVORBIS_ENCODER 0
 +#define CONFIG_LIBVPX_VP8_ENCODER 0
 +#define CONFIG_LIBVPX_VP9_ENCODER 0
++#define CONFIG_LIBVVENC_ENCODER 0
 +#define CONFIG_LIBWEBP_ANIM_ENCODER 0
 +#define CONFIG_LIBWEBP_ENCODER 0
 +#define CONFIG_LIBX262_ENCODER 0
@@ -4882,6 +4989,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_AV1_NVENC_ENCODER 0
 +#define CONFIG_AV1_QSV_ENCODER 0
 +#define CONFIG_AV1_AMF_ENCODER 0
++#define CONFIG_AV1_MF_ENCODER 0
 +#define CONFIG_AV1_VAAPI_ENCODER 0
 +#define CONFIG_LIBOPENH264_ENCODER 0
 +#define CONFIG_H264_AMF_ENCODER 0
@@ -4892,7 +5000,9 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_H264_V4L2M2M_ENCODER 0
 +#define CONFIG_H264_VAAPI_ENCODER 0
 +#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_H264_VULKAN_ENCODER 0
 +#define CONFIG_HEVC_AMF_ENCODER 0
++#define CONFIG_HEVC_D3D12VA_ENCODER 0
 +#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
 +#define CONFIG_HEVC_MF_ENCODER 0
 +#define CONFIG_HEVC_NVENC_ENCODER 0
@@ -4900,6 +5010,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_HEVC_V4L2M2M_ENCODER 0
 +#define CONFIG_HEVC_VAAPI_ENCODER 0
 +#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
++#define CONFIG_HEVC_VULKAN_ENCODER 0
 +#define CONFIG_LIBKVAZAAR_ENCODER 0
 +#define CONFIG_MJPEG_QSV_ENCODER 0
 +#define CONFIG_MJPEG_VAAPI_ENCODER 0
@@ -4925,6 +5036,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_AV1_NVDEC_HWACCEL 0
 +#define CONFIG_AV1_VAAPI_HWACCEL 0
 +#define CONFIG_AV1_VDPAU_HWACCEL 0
++#define CONFIG_AV1_VIDEOTOOLBOX_HWACCEL 0
 +#define CONFIG_AV1_VULKAN_HWACCEL 0
 +#define CONFIG_H263_VAAPI_HWACCEL 0
 +#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
@@ -5003,6 +5115,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_DCA_PARSER 0
 +#define CONFIG_DIRAC_PARSER 0
 +#define CONFIG_DNXHD_PARSER 0
++#define CONFIG_DNXUC_PARSER 0
 +#define CONFIG_DOLBY_E_PARSER 0
 +#define CONFIG_DPX_PARSER 0
 +#define CONFIG_DVAUDIO_PARSER 0
@@ -5394,6 +5507,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_KIRSCH_FILTER 0
 +#define CONFIG_LAGFUN_FILTER 0
 +#define CONFIG_LATENCY_FILTER 0
++#define CONFIG_LCEVC_FILTER 0
 +#define CONFIG_LENSCORRECTION_FILTER 0
 +#define CONFIG_LENSFUN_FILTER 0
 +#define CONFIG_LIBPLACEBO_FILTER 0
@@ -5589,6 +5703,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_XFADE_OPENCL_FILTER 0
 +#define CONFIG_XFADE_VULKAN_FILTER 0
 +#define CONFIG_XMEDIAN_FILTER 0
++#define CONFIG_XPSNR_FILTER 0
 +#define CONFIG_XSTACK_FILTER 0
 +#define CONFIG_YADIF_FILTER 0
 +#define CONFIG_YADIF_CUDA_FILTER 0
@@ -5625,6 +5740,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#define CONFIG_QRENCODESRC_FILTER 0
 +#define CONFIG_PAL75BARS_FILTER 0
 +#define CONFIG_PAL100BARS_FILTER 0
++#define CONFIG_PERLIN_FILTER 0
 +#define CONFIG_RGBTESTSRC_FILTER 0
 +#define CONFIG_SIERPINSKI_FILTER 0
 +#define CONFIG_SMPTEBARS_FILTER 0
@@ -6255,13 +6371,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c	2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/bsf_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,2 @@
 +static const FFBitStreamFilter * const bitstream_filters[] = {
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c	2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/codec_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,15 @@
 +static const FFCodec * const codec_list[] = {
 +    &ff_flac_decoder,
@@ -6280,7 +6396,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c	2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavcodec/parser_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,7 @@
 +static const AVCodecParser * const parser_list[] = {
 +    &ff_flac_parser,
@@ -6291,7 +6407,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c	2024-10-05 16:34:43.823187846 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/demuxer_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,8 @@
 +static const FFInputFormat * const demuxer_list[] = {
 +    &ff_flac_demuxer,
@@ -6303,19 +6419,19 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c	2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/muxer_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,2 @@
 +static const FFOutputFormat * const muxer_list[] = {
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c	2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavformat/protocol_list.c	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,2 @@
 +static const URLProtocol * const url_protocols[] = {
 +    NULL };
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h	2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/avconfig.h	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,6 @@
 +/* Generated by ffmpeg configure */
 +#ifndef AVUTIL_AVCONFIG_H
@@ -6325,105 +6441,16 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/ri
 +#endif /* AVUTIL_AVCONFIG_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h
 --- a/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h	2024-10-05 16:34:43.826521179 +0100
++++ b/third_party/ffmpeg/chromium/config/Chromium/linux/riscv64/libavutil/ffversion.h	2025-01-14 12:35:46.000000000 +0000
 @@ -0,0 +1,5 @@
 +/* Automatically generated by version.sh, do not manually edit! */
 +#ifndef AVUTIL_FFVERSION_H
 +#define AVUTIL_FFVERSION_H
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
++#define FFMPEG_VERSION "git-2024-10-31-591ae4b02e"
 +#endif /* AVUTIL_FFVERSION_H */
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm
---- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm	2024-10-02 03:50:24.674327900 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.asm	2024-10-05 16:34:43.826521179 +0100
-@@ -102,8 +102,8 @@
- %define HAVE_AMD3DNOWEXT_EXTERNAL 1
- %define HAVE_AVX_EXTERNAL 1
- %define HAVE_AVX2_EXTERNAL 1
--%define HAVE_AVX512_EXTERNAL 1
--%define HAVE_AVX512ICL_EXTERNAL 1
-+%define HAVE_AVX512_EXTERNAL 0
-+%define HAVE_AVX512ICL_EXTERNAL 0
- %define HAVE_FMA3_EXTERNAL 1
- %define HAVE_FMA4_EXTERNAL 1
- %define HAVE_MMX_EXTERNAL 1
-@@ -366,7 +366,7 @@
- %define HAVE_INLINE_ASM_LABELS 1
- %define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- %define HAVE_PRAGMA_DEPRECATED 1
--%define HAVE_RSYNC_CONTIMEOUT 1
-+%define HAVE_RSYNC_CONTIMEOUT 0
- %define HAVE_SYMVER_ASM_LABEL 1
- %define HAVE_SYMVER_GNU_ASM 1
- %define HAVE_VFP_ARGS 0
-@@ -420,7 +420,7 @@
- %define HAVE_PERL 1
- %define HAVE_POD2MAN 1
- %define HAVE_TEXI2HTML 0
--%define HAVE_XMLLINT 1
-+%define HAVE_XMLLINT 0
- %define HAVE_ZLIB_GZIP 0
- %define HAVE_OPENVINO2 0
- %define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h
---- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h	2024-10-02 03:50:24.674327900 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h	2024-10-05 16:34:43.826521179 +0100
-@@ -1,12 +1,12 @@
- /* Automatically generated by configure - do not modify! */
- #ifndef FFMPEG_CONFIG_H
- #define FFMPEG_CONFIG_H
--/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/dalecurtis/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --ena
 ble-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-iamf --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/home/porter/Workspaces/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-lto --arch=x86_64 --target-os=linux --enable-pic --cc=
 clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */
- #define FFMPEG_LICENSE "LGPL version 2.1 or later"
- #define CONFIG_THIS_YEAR 2024
- #define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
- #define AVCONV_DATADIR "/usr/local/share/ffmpeg"
--#define CC_IDENT "clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project ecea8371ff03c15fb3dc27ee4108b98335fd2d63)"
-+#define CC_IDENT "clang version 20.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 7088a5ed880f29129ec844c66068e8cb61ca98bf)"
- #define OS_NAME linux
- #define EXTERN_PREFIX ""
- #define EXTERN_ASM 
-@@ -116,8 +116,8 @@
- #define HAVE_AMD3DNOWEXT_EXTERNAL 1
- #define HAVE_AVX_EXTERNAL 1
- #define HAVE_AVX2_EXTERNAL 1
--#define HAVE_AVX512_EXTERNAL 1
--#define HAVE_AVX512ICL_EXTERNAL 1
-+#define HAVE_AVX512_EXTERNAL 0
-+#define HAVE_AVX512ICL_EXTERNAL 0
- #define HAVE_FMA3_EXTERNAL 1
- #define HAVE_FMA4_EXTERNAL 1
- #define HAVE_MMX_EXTERNAL 1
-@@ -380,7 +380,7 @@
- #define HAVE_INLINE_ASM_LABELS 1
- #define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
- #define HAVE_PRAGMA_DEPRECATED 1
--#define HAVE_RSYNC_CONTIMEOUT 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
- #define HAVE_SYMVER_ASM_LABEL 1
- #define HAVE_SYMVER_GNU_ASM 1
- #define HAVE_VFP_ARGS 0
-@@ -434,7 +434,7 @@
- #define HAVE_PERL 1
- #define HAVE_POD2MAN 1
- #define HAVE_TEXI2HTML 0
--#define HAVE_XMLLINT 1
-+#define HAVE_XMLLINT 0
- #define HAVE_ZLIB_GZIP 0
- #define HAVE_OPENVINO2 0
- #define CONFIG_DOC 0
-diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h
---- a/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h	2024-10-02 03:50:24.675328000 +0100
-+++ b/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h	2024-10-05 16:34:43.829854513 +0100
-@@ -1,5 +1,5 @@
- /* Automatically generated by version.sh, do not manually edit! */
- #ifndef AVUTIL_FFVERSION_H
- #define AVUTIL_FFVERSION_H
--#define FFMPEG_VERSION "N-116575-gd941d9677b"
-+#define FFMPEG_VERSION "git-2024-08-15-14d16cd143"
- #endif /* AVUTIL_FFVERSION_H */
 diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b/third_party/ffmpeg/chromium/scripts/copy_config.sh
---- a/third_party/ffmpeg/chromium/scripts/copy_config.sh	2024-10-02 03:50:24.681328800 +0100
-+++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh	2024-10-05 16:34:43.829854513 +0100
+--- a/third_party/ffmpeg/chromium/scripts/copy_config.sh	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/chromium/scripts/copy_config.sh	2025-01-14 12:33:32.000000000 +0000
 @@ -10,7 +10,7 @@
      # Copy config files for various architectures:
      #   - ia32/x64 have config.asm, config.h
@@ -6434,9 +6461,15 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/chromium/scripts/copy_config.sh b
        [ ! -e "build.$arch.$os/$target/config.h" ] && continue
        for f in config.h config_components.h config.asm libavutil/avconfig.h libavutil/ffversion.h libavcodec/bsf_list.c libavcodec/codec_list.c libavcodec/parser_list.c libavformat/demuxer_list.c libavformat/muxer_list.c libavformat/protocol_list.c; do
 diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_party/ffmpeg/ffmpeg_generated.gni
---- a/third_party/ffmpeg/ffmpeg_generated.gni	2024-10-02 03:50:24.721333300 +0100
-+++ b/third_party/ffmpeg/ffmpeg_generated.gni	2024-10-05 16:34:43.829854513 +0100
-@@ -14,10 +14,8 @@
+--- a/third_party/ffmpeg/ffmpeg_generated.gni	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/ffmpeg_generated.gni	2025-01-14 12:35:22.000000000 +0000
+@@ -1,4 +1,4 @@
+-# Copyright 2024 The Chromium Authors. All rights reserved.
++# Copyright 2025 The Chromium Authors. All rights reserved.
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+ 
+@@ -14,19 +14,13 @@
  
  use_linux_config = is_linux || is_chromeos || is_fuchsia
  
@@ -6444,13 +6477,117 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    (is_android && current_cpu == "arm" && arm_use_neon) ||
 -    (is_android && current_cpu == "x86") || is_apple || is_win ||
 -    use_linux_config) {
-+if ((use_linux_config && current_cpu == "riscv64") ||
-+    (use_linux_config && current_cpu == "x64")) {
++if (use_linux_config && current_cpu == "riscv64") {
    ffmpeg_c_sources += [
      "libavcodec/ac3_channel_layout_tab.c",
      "libavcodec/ac3_parser.c",
-@@ -211,16 +209,26 @@
+     "libavcodec/adts_parser.c",
+     "libavcodec/allcodecs.c",
+-    "libavcodec/autorename_libavcodec_flacdsp.c",
+-    "libavcodec/autorename_libavcodec_mpegaudiodsp.c",
+     "libavcodec/autorename_libavcodec_parser.c",
+-    "libavcodec/autorename_libavcodec_vorbisdsp.c",
+     "libavcodec/avcodec.c",
+     "libavcodec/avdct.c",
+     "libavcodec/avfft.c",
+@@ -47,6 +41,7 @@
+     "libavcodec/flac_parser.c",
+     "libavcodec/flacdata.c",
+     "libavcodec/flacdec.c",
++    "libavcodec/flacdsp.c",
+     "libavcodec/get_buffer.c",
+     "libavcodec/golomb.c",
+     "libavcodec/imgconvert.c",
+@@ -65,6 +60,7 @@
+     "libavcodec/mpegaudiodec_common.c",
+     "libavcodec/mpegaudiodec_fixed.c",
+     "libavcodec/mpegaudiodecheader.c",
++    "libavcodec/mpegaudiodsp.c",
+     "libavcodec/mpegaudiodsp_data.c",
+     "libavcodec/mpegaudiodsp_fixed.c",
+     "libavcodec/mpegaudiodsp_float.c",
+@@ -82,6 +78,8 @@
+     "libavcodec/qsv_api.c",
+     "libavcodec/raw.c",
+     "libavcodec/refstruct.c",
++    "libavcodec/riscv/flacdsp_init.c",
++    "libavcodec/riscv/vorbisdsp_init.c",
+     "libavcodec/threadprogress.c",
+     "libavcodec/to_upper4.c",
+     "libavcodec/utils.c",
+@@ -91,6 +89,7 @@
+     "libavcodec/vorbis_data.c",
+     "libavcodec/vorbis_parser.c",
+     "libavcodec/vorbisdec.c",
++    "libavcodec/vorbisdsp.c",
+     "libavcodec/vp9_parser.c",
+     "libavcodec/xiph.c",
+     "libavformat/allformats.c",
+@@ -145,12 +144,7 @@
+     "libavutil/aes.c",
+     "libavutil/aes_ctr.c",
+     "libavutil/ambient_viewing_environment.c",
+-    "libavutil/autorename_libavutil_cpu.c",
+     "libavutil/autorename_libavutil_executor.c",
+-    "libavutil/autorename_libavutil_fixed_dsp.c",
+-    "libavutil/autorename_libavutil_float_dsp.c",
+-    "libavutil/autorename_libavutil_imgutils.c",
+-    "libavutil/autorename_libavutil_tx_float.c",
+     "libavutil/autorename_libavutil_utils.c",
+     "libavutil/autorename_libavutil_version.c",
+     "libavutil/avstring.c",
+@@ -159,6 +153,7 @@
+     "libavutil/buffer.c",
+     "libavutil/camellia.c",
+     "libavutil/channel_layout.c",
++    "libavutil/cpu.c",
+     "libavutil/crc.c",
+     "libavutil/csp.c",
+     "libavutil/detection_bbox.c",
+@@ -172,12 +167,15 @@
+     "libavutil/fifo.c",
+     "libavutil/file_open.c",
+     "libavutil/film_grain_params.c",
++    "libavutil/fixed_dsp.c",
++    "libavutil/float_dsp.c",
+     "libavutil/frame.c",
+     "libavutil/hdr_dynamic_metadata.c",
+     "libavutil/hdr_dynamic_vivid_metadata.c",
+     "libavutil/hwcontext.c",
+     "libavutil/hwcontext_stub.c",
+     "libavutil/iamf.c",
++    "libavutil/imgutils.c",
+     "libavutil/integer.c",
+     "libavutil/intmath.c",
+     "libavutil/lfg.c",
+@@ -195,6 +193,11 @@
+     "libavutil/random_seed.c",
+     "libavutil/rational.c",
+     "libavutil/reverse.c",
++    "libavutil/riscv/autorename_libavutil_riscv_cpu.c",
++    "libavutil/riscv/cpu_common.c",
++    "libavutil/riscv/fixed_dsp_init.c",
++    "libavutil/riscv/float_dsp_init.c",
++    "libavutil/riscv/lls_init.c",
+     "libavutil/samplefmt.c",
+     "libavutil/sha.c",
+     "libavutil/slicethread.c",
+@@ -207,22 +210,41 @@
+     "libavutil/timestamp.c",
+     "libavutil/twofish.c",
+     "libavutil/tx.c",
++    "libavutil/tx_float.c",
+     "libavutil/uuid.c",
+     "libavutil/video_enc_params.c",
+     "libavutil/video_hint.c",
    ]
++  ffmpeg_gas_sources += [
++    "libavcodec/riscv/flacdsp_rvv.S",
++    "libavcodec/riscv/vorbisdsp_rvv.S",
++    "libavutil/riscv/fixed_dsp_rvv.S",
++    "libavutil/riscv/float_dsp_rvv.S",
++    "libavutil/riscv/lls_rvv.S",
++  ]
  }
  
 -if ((current_cpu == "arm64" && ffmpeg_branding == "Chrome") ||
@@ -6459,13 +6596,15 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    (is_apple && ffmpeg_branding == "Chrome") ||
 -    (is_win && ffmpeg_branding == "Chrome") ||
 -    (use_linux_config && ffmpeg_branding == "Chrome")) {
-+if ((use_linux_config && current_cpu == "riscv64" &&
-+     ffmpeg_branding == "Chrome") ||
-+    (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome")) {
++if (use_linux_config && current_cpu == "riscv64" &&
++    ffmpeg_branding == "Chrome") {
    ffmpeg_c_sources += [
 +    "libavcodec/aac/aacdec.c",
++    "libavcodec/aac/aacdec_ac.c",
 +    "libavcodec/aac/aacdec_float.c",
++    "libavcodec/aac/aacdec_lpd.c",
 +    "libavcodec/aac/aacdec_tab.c",
++    "libavcodec/aac/aacdec_usac.c",
 +    "libavcodec/aac_ac3_parser.c",
 +    "libavcodec/aac_parser.c",
 +    "libavcodec/aacps_common.c",
@@ -6475,14 +6614,13 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 +    "libavcodec/aactab.c",
 +    "libavcodec/adts_header.c",
      "libavcodec/atsc_a53.c",
-+    "libavcodec/autorename_libavcodec_sbrdsp.c",
      "libavcodec/autorename_libavcodec_videodsp.c",
      "libavcodec/cabac.c",
 +    "libavcodec/cbrt_data.c",
      "libavcodec/h2645_parse.c",
      "libavcodec/h2645_sei.c",
      "libavcodec/h2645_vui.c",
-@@ -245,46 +253,27 @@
+@@ -247,236 +269,30 @@
      "libavcodec/h264pred.c",
      "libavcodec/h264qpel.c",
      "libavcodec/h274.c",
@@ -6500,8 +6638,11 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    (use_linux_config && ffmpeg_branding == "Chrome")) {
 -  ffmpeg_c_sources += [
 -    "libavcodec/aac/aacdec.c",
+-    "libavcodec/aac/aacdec_ac.c",
 -    "libavcodec/aac/aacdec_float.c",
+-    "libavcodec/aac/aacdec_lpd.c",
 -    "libavcodec/aac/aacdec_tab.c",
+-    "libavcodec/aac/aacdec_usac.c",
 -    "libavcodec/aac_ac3_parser.c",
 -    "libavcodec/aac_parser.c",
 -    "libavcodec/aacps_common.c",
@@ -6513,44 +6654,47 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    "libavcodec/autorename_libavcodec_sbrdsp.c",
 -    "libavcodec/cbrt_data.c",
      "libavcodec/kbdwin.c",
++    "libavcodec/riscv/aacpsdsp_init.c",
++    "libavcodec/riscv/h264_chroma_init_riscv.c",
++    "libavcodec/riscv/h264dsp_init.c",
++    "libavcodec/riscv/h264qpel_init.c",
++    "libavcodec/riscv/sbrdsp_init.c",
++    "libavcodec/riscv/videodsp_init.c",
++    "libavcodec/sbrdsp.c",
      "libavcodec/sinewin.c",
 +    "libavcodec/startcode.c",
      "libavformat/apetag.c",
      "libavformat/autorename_libavformat_aacdec.c",
      "libavformat/img2.c",
    ]
- }
- 
+-}
+-
 -if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
 -    (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
 -    (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") {
-+  ffmpeg_c_sources += [
-+    "libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c",
-+    "libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c",
-+    "libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c",
-+    "libavcodec/x86/h264_intrapred_init.c",
-+    "libavcodec/x86/h264_qpel.c",
-+    "libavcodec/x86/h264chroma_init.c",
-+    "libavcodec/x86/videodsp_init.c",
-+  ]
-   ffmpeg_asm_sources += [
-     "libavcodec/x86/aacpsdsp.asm",
+-  ffmpeg_asm_sources += [
+-    "libavcodec/x86/aacpsdsp.asm",
 -    "libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
-     "libavcodec/x86/fpel.asm",
-     "libavcodec/x86/h264_chromamc.asm",
-     "libavcodec/x86/h264_chromamc_10bit.asm",
-@@ -300,36 +289,23 @@
-     "libavcodec/x86/h264_weight_10bit.asm",
-     "libavcodec/x86/qpel.asm",
-     "libavcodec/x86/sbrdsp.asm",
-+    "libavcodec/x86/videodsp.asm",
-   ]
- }
- 
+-    "libavcodec/x86/fpel.asm",
+-    "libavcodec/x86/h264_chromamc.asm",
+-    "libavcodec/x86/h264_chromamc_10bit.asm",
+-    "libavcodec/x86/h264_deblock.asm",
+-    "libavcodec/x86/h264_deblock_10bit.asm",
+-    "libavcodec/x86/h264_idct.asm",
+-    "libavcodec/x86/h264_idct_10bit.asm",
+-    "libavcodec/x86/h264_intrapred.asm",
+-    "libavcodec/x86/h264_intrapred_10bit.asm",
+-    "libavcodec/x86/h264_qpel_10bit.asm",
+-    "libavcodec/x86/h264_qpel_8bit.asm",
+-    "libavcodec/x86/h264_weight.asm",
+-    "libavcodec/x86/h264_weight_10bit.asm",
+-    "libavcodec/x86/qpel.asm",
+-    "libavcodec/x86/sbrdsp.asm",
+-  ]
+-}
+-
 -if (current_cpu == "arm64" && ffmpeg_branding == "Chrome") {
-+if (use_linux_config && current_cpu == "x64") {
-   ffmpeg_c_sources += [
+-  ffmpeg_c_sources += [
 -    "libavcodec/aarch64/aacpsdsp_init_aarch64.c",
 -    "libavcodec/aarch64/autorename_libavcodec_aarch64_videodsp_init.c",
 -    "libavcodec/aarch64/h264chroma_init_aarch64.c",
@@ -6569,41 +6713,55 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    "libavcodec/aarch64/autorename_libavcodec_aarch64_hpeldsp_neon.S",
 -    "libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S",
 -    "libavcodec/aarch64/videodsp.S",
-+    "libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c",
-+    "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
-+    "libavcodec/x86/constants.c",
-+    "libavcodec/x86/mpegaudiodsp.c",
-+    "libavutil/x86/autorename_libavutil_x86_cpu.c",
-+    "libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c",
-+    "libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
-+    "libavutil/x86/imgutils_init.c",
-+    "libavutil/x86/lls_init.c",
-+    "libavutil/x86/tx_float_init.c",
-   ]
+-  ]
 -}
 -
 -if (current_cpu == "x64" || (is_win && current_cpu == "x86") ||
 -    (use_linux_config && current_cpu == "x86")) {
 -  ffmpeg_c_sources +=
 -      [ "libavutil/x86/autorename_libavutil_x86_tx_float_init.c" ]
-   ffmpeg_asm_sources += [
-     "libavcodec/x86/dct32.asm",
-     "libavcodec/x86/flacdsp.asm",
-@@ -344,133 +320,35 @@
-   ]
- }
- 
+-  ffmpeg_asm_sources += [
+-    "libavcodec/x86/dct32.asm",
+-    "libavcodec/x86/flacdsp.asm",
+-    "libavcodec/x86/imdct36.asm",
+-    "libavcodec/x86/vorbisdsp.asm",
+-    "libavutil/x86/cpuid.asm",
+-    "libavutil/x86/fixed_dsp.asm",
+-    "libavutil/x86/float_dsp.asm",
+-    "libavutil/x86/imgutils.asm",
+-    "libavutil/x86/lls.asm",
+-    "libavutil/x86/tx_float.asm",
+-  ]
+-}
+-
+-if (current_cpu == "arm64") {
+-  ffmpeg_c_sources += [
+-    "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_init.c",
+-    "libavcodec/aarch64/mpegaudiodsp_init.c",
+-    "libavutil/aarch64/autorename_libavutil_aarch64_cpu.c",
+-    "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_init.c",
+-    "libavutil/aarch64/tx_float_init.c",
+-  ]
+-  ffmpeg_gas_sources += [
+-    "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
+-    "libavcodec/aarch64/mpegaudiodsp_neon.S",
+-    "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S",
+-    "libavutil/aarch64/cpu_sve.S",
+-    "libavutil/aarch64/tx_float_neon.S",
+-  ]
+-}
+-
 -if (current_cpu == "x64" || (is_android && current_cpu == "x86") ||
 -    (is_win && current_cpu == "x86") ||
 -    (use_linux_config && current_cpu == "x86")) {
 -  ffmpeg_c_sources += [
--    "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
 -    "libavcodec/x86/constants.c",
 -    "libavcodec/x86/flacdsp_init.c",
 -    "libavcodec/x86/mpegaudiodsp.c",
+-    "libavcodec/x86/vorbisdsp_init.c",
 -    "libavutil/x86/autorename_libavutil_x86_cpu.c",
--    "libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
 -    "libavutil/x86/fixed_dsp_init.c",
+-    "libavutil/x86/float_dsp_init.c",
 -    "libavutil/x86/imgutils_init.c",
 -    "libavutil/x86/lls_init.c",
 -  ]
@@ -6616,7 +6774,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    "libavcodec/arm/flacdsp_init_arm.c",
 -    "libavcodec/arm/mpegaudiodsp_init_arm.c",
 -    "libavcodec/arm/vorbisdsp_init_arm.c",
--    "libavutil/arm/autorename_libavutil_arm_cpu.c",
+-    "libavutil/arm/cpu.c",
 -    "libavutil/arm/float_dsp_init_arm.c",
 -    "libavutil/arm/float_dsp_init_vfp.c",
 -  ]
@@ -6627,22 +6785,6 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -  ]
 -}
 -
--if (current_cpu == "arm64") {
--  ffmpeg_c_sources += [
--    "libavcodec/aarch64/mpegaudiodsp_init.c",
--    "libavcodec/aarch64/vorbisdsp_init.c",
--    "libavutil/aarch64/cpu.c",
--    "libavutil/aarch64/float_dsp_init.c",
--    "libavutil/aarch64/tx_float_init.c",
--  ]
--  ffmpeg_gas_sources += [
--    "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
--    "libavcodec/aarch64/mpegaudiodsp_neon.S",
--    "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S",
--    "libavutil/aarch64/tx_float_neon.S",
--  ]
--}
--
 -if ((use_linux_config && current_cpu == "arm" && arm_use_neon &&
 -     ffmpeg_branding == "Chrome") ||
 -    (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
@@ -6654,11 +6796,21 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    "libavcodec/arm/videodsp_init_arm.c",
 -    "libavcodec/arm/videodsp_init_armv5te.c",
 -  ]
--  ffmpeg_gas_sources += [
+   ffmpeg_gas_sources += [
 -    "libavcodec/arm/startcode_armv6.S",
 -    "libavcodec/arm/videodsp_armv5te.S",
--  ]
--}
++    "libavcodec/riscv/aacpsdsp_rvv.S",
++    "libavcodec/riscv/h264_mc_chroma.S",
++    "libavcodec/riscv/h264addpx_rvv.S",
++    "libavcodec/riscv/h264dsp_rvv.S",
++    "libavcodec/riscv/h264idct_rvv.S",
++    "libavcodec/riscv/h264qpel_rvv.S",
++    "libavcodec/riscv/sbrdsp_rvv.S",
++    "libavcodec/riscv/startcode_rvb.S",
++    "libavcodec/riscv/startcode_rvv.S",
++    "libavcodec/riscv/videodsp.S",
+   ]
+ }
 -
 -if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
 -    (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
@@ -6676,8 +6828,7 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -}
 -
 -if (use_linux_config && current_cpu == "arm" && arm_use_neon &&
-+if (use_linux_config && current_cpu == "riscv64" &&
-     ffmpeg_branding == "Chrome") {
+-    ffmpeg_branding == "Chrome") {
 -  ffmpeg_gas_sources += [
 -    "libavcodec/arm/h264cmc_neon.S",
 -    "libavcodec/arm/h264dsp_neon.S",
@@ -6685,58 +6836,38 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    "libavcodec/arm/h264pred_neon.S",
 -    "libavcodec/arm/h264qpel_neon.S",
 -    "libavcodec/arm/hpeldsp_neon.S",
-+  ffmpeg_c_sources += [
-+    "libavcodec/riscv/aacpsdsp_init.c",
-+    "libavcodec/riscv/h264_chroma_init_riscv.c",
-+    "libavcodec/riscv/h264dsp_init.c",
-+    "libavcodec/riscv/sbrdsp_init.c",
-   ]
+-  ]
 -}
 -
 -if ((is_android && current_cpu == "arm" && arm_use_neon) ||
 -    (use_linux_config && current_cpu == "arm" && arm_use_neon)) {
 -  ffmpeg_c_sources += [ "libavutil/arm/float_dsp_init_neon.c" ]
-   ffmpeg_gas_sources += [
+-  ffmpeg_gas_sources += [
 -    "libavcodec/arm/vorbisdsp_neon.S",
 -    "libavutil/arm/float_dsp_neon.S",
-+    "libavcodec/riscv/aacpsdsp_rvv.S",
-+    "libavcodec/riscv/h264_mc_chroma.S",
-+    "libavcodec/riscv/sbrdsp_rvv.S",
-+    "libavcodec/riscv/startcode_rvb.S",
-+    "libavcodec/riscv/startcode_rvv.S",
-   ]
- }
- 
+-  ]
+-}
+-
 -if ((is_android && current_cpu == "arm" && arm_use_neon &&
 -     ffmpeg_branding == "Chrome") ||
 -    (use_linux_config && current_cpu == "arm" && arm_use_neon &&
 -     ffmpeg_branding == "Chrome") ||
 -    (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
-+if (use_linux_config && current_cpu == "riscv64") {
-   ffmpeg_c_sources += [
+-  ffmpeg_c_sources += [
 -    "libavcodec/arm/aacpsdsp_init_arm.c",
 -    "libavcodec/arm/sbrdsp_init_arm.c",
-+    "libavcodec/riscv/flacdsp_init.c",
-+    "libavcodec/riscv/vorbisdsp_init.c",
-+    "libavutil/riscv/cpu.c",
-+    "libavutil/riscv/fixed_dsp_init.c",
-+    "libavutil/riscv/float_dsp_init.c",
-   ]
+-  ]
 -}
 -
 -if ((is_android && current_cpu == "arm" && arm_use_neon &&
 -     ffmpeg_branding == "Chrome") ||
 -    (use_linux_config && current_cpu == "arm" && arm_use_neon &&
 -     ffmpeg_branding == "Chrome")) {
-   ffmpeg_gas_sources += [
+-  ffmpeg_gas_sources += [
 -    "libavcodec/arm/aacpsdsp_neon.S",
 -    "libavcodec/arm/sbrdsp_neon.S",
-+    "libavcodec/riscv/flacdsp_rvv.S",
-+    "libavcodec/riscv/vorbisdsp_rvv.S",
-+    "libavutil/riscv/fixed_dsp_rvv.S",
-+    "libavutil/riscv/float_dsp_rvv.S",
-   ]
- }
+-  ]
+-}
 -
 -if ((is_android && current_cpu == "arm" && arm_use_neon) ||
 -    (is_android && current_cpu == "arm64") ||
@@ -6744,180 +6875,86 @@ diff '--color=auto' -Naur a/third_party/ffmpeg/ffmpeg_generated.gni b/third_part
 -    (is_android && current_cpu == "x86")) {
 -  ffmpeg_c_sources += [ "compat/strtod.c" ]
 -}
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c	2024-10-02 03:50:25.062372700 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_flacdsp.c	2024-10-05 16:34:43.829854513 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "flacdsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c	2024-10-02 03:50:25.062372700 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_mpegaudiodsp.c	2024-10-05 16:34:43.829854513 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_parser.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "mpegaudiodsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c	2024-10-02 03:50:25.063372600 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_sbrdsp.c	2024-10-05 16:34:43.829854513 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "sbrdsp.c"
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+ #include "parser.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c	2024-10-02 03:50:25.063372600 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c	2024-10-05 16:34:43.829854513 +0100
+--- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_videodsp.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "videodsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c b/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c
---- a/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c	2024-10-02 03:50:25.063372600 +0100
-+++ b/third_party/ffmpeg/libavcodec/autorename_libavcodec_vorbisdsp.c	2024-10-05 16:34:43.829854513 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "vorbisdsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_aacpsdsp_init.c	2024-10-05 16:34:43.829854513 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "aacpsdsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_flacdsp_init.c	2024-10-05 16:34:43.833187847 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "flacdsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_h264dsp_init.c	2024-10-05 16:34:43.833187847 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "h264dsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_sbrdsp_init.c	2024-10-05 16:34:43.833187847 +0100
-@@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "sbrdsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c
---- a/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c	2024-10-02 03:50:25.603434800 +0100
-+++ b/third_party/ffmpeg/libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c	2024-10-05 16:34:43.833187847 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "vorbisdsp_init.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c	2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c	2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_aacdec.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "aacdec.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c	2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c	2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_flacdec.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "flacdec.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c	2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c	2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_options.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_options.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "options.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c	2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c	2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_pcm.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "pcm.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c	2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c	2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_utils.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "utils.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c
---- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c	2024-10-02 03:50:25.818459500 +0100
-+++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c	2024-10-05 16:34:43.833187847 +0100
+--- a/third_party/ffmpeg/libavformat/autorename_libavformat_version.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavformat/autorename_libavformat_version.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "version.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c b/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c	2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "cpu.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c b/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_fixed_dsp.c	2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "fixed_dsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c b/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_float_dsp.c	2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "float_dsp.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_imgutils.c	2024-10-05 16:34:43.836521180 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_executor.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "imgutils.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c b/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_tx_float.c	2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "tx_float.c"
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
+ #include "executor.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c	2024-10-05 16:34:43.836521180 +0100
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_utils.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "utils.c"
 diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c
---- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c	2024-10-02 03:50:25.950474700 +0100
-+++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c	2024-10-05 16:34:43.836521180 +0100
+--- a/third_party/ffmpeg/libavutil/autorename_libavutil_version.c	2024-12-18 22:01:41.000000000 +0000
++++ b/third_party/ffmpeg/libavutil/autorename_libavutil_version.c	2025-01-14 12:35:18.000000000 +0000
 @@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
+-// Automatically generated on Tue Oct 22 17:56:01 2024. See crbug.com/495833.
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
  #include "version.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c
---- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c	2024-10-02 03:50:25.987479000 +0100
-+++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_cpu.c	2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "cpu.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c
---- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_fixed_dsp_init.c	2024-10-05 16:34:43.836521180 +0100
+diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c
+--- a/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c	1970-01-01 01:00:00.000000000 +0100
++++ b/third_party/ffmpeg/libavutil/riscv/autorename_libavutil_riscv_cpu.c	2025-01-14 12:35:18.000000000 +0000
 @@ -0,0 +1,2 @@
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
-+#include "fixed_dsp_init.c"
-diff '--color=auto' -Naur a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c
---- a/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c	2024-10-02 03:50:25.987479000 +0100
-+++ b/third_party/ffmpeg/libavutil/x86/autorename_libavutil_x86_float_dsp_init.c	2024-10-05 16:34:43.836521180 +0100
-@@ -1,2 +1,2 @@
--// Automatically generated on Mon Jul 22 22:30:21 2024. See crbug.com/495833.
-+// Automatically generated on Sun Sep 15 16:34:25 2024. See crbug.com/495833.
- #include "float_dsp_init.c"
++// Automatically generated on Tue Jan 14 12:35:17 2025. See crbug.com/495833.
++#include "cpu.c"
diff --git a/www-client/chromium/files/riscv-misc.patch b/www-client/chromium/files/riscv-misc.patch
index 81714c8..cf8cbfb 100644
--- a/www-client/chromium/files/riscv-misc.patch
+++ b/www-client/chromium/files/riscv-misc.patch
@@ -1,7 +1,7 @@
-Index: chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.cc
+Index: chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.cc
 ===================================================================
---- chromium-130.0.6723.116.orig/components/metrics/debug/metrics_internals_utils.cc
-+++ chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.cc
+--- chromium-132.0.6834.83.orig/components/metrics/debug/metrics_internals_utils.cc
++++ chromium-132.0.6834.83/components/metrics/debug/metrics_internals_utils.cc
 @@ -69,6 +69,8 @@ std::string CpuArchitectureToString(
        return "arm32";
      case variations::Study::TRANSLATED_X86_64:
@@ -9,12 +9,12 @@ Index: chromium-130.0.6723.116/components/metrics/debug/metrics_internals_utils.
 +    case variations::Study::RISCV64:
 +      return "riscv64";
    }
-   NOTREACHED_IN_MIGRATION();
+   NOTREACHED();
  }
-Index: chromium-130.0.6723.116/components/variations/proto/study.proto
+Index: chromium-132.0.6834.83/components/variations/proto/study.proto
 ===================================================================
---- chromium-130.0.6723.116.orig/components/variations/proto/study.proto
-+++ chromium-130.0.6723.116/components/variations/proto/study.proto
+--- chromium-132.0.6834.83.orig/components/variations/proto/study.proto
++++ chromium-132.0.6834.83/components/variations/proto/study.proto
 @@ -262,6 +262,8 @@ message Study {
      // A Mac-only value, indicating an x86-64 binary running on an arm64 host
      // via "Rosetta 2" binary translation.
@@ -24,11 +24,11 @@ Index: chromium-130.0.6723.116/components/variations/proto/study.proto
    }
  
    // Enum to pass as optional bool.
-Index: chromium-130.0.6723.116/components/variations/service/variations_field_trial_creator_base.cc
+Index: chromium-132.0.6834.83/components/variations/service/variations_field_trial_creator_base.cc
 ===================================================================
---- chromium-130.0.6723.116.orig/components/variations/service/variations_field_trial_creator_base.cc
-+++ chromium-130.0.6723.116/components/variations/service/variations_field_trial_creator_base.cc
-@@ -120,6 +120,9 @@ Study::CpuArchitecture GetCurrentCpuArch
+--- chromium-132.0.6834.83.orig/components/variations/service/variations_field_trial_creator_base.cc
++++ chromium-132.0.6834.83/components/variations/service/variations_field_trial_creator_base.cc
+@@ -121,6 +121,9 @@ Study::CpuArchitecture GetCurrentCpuArch
      }
      return Study::X86_64;
    }
@@ -38,4 +38,28 @@ Index: chromium-130.0.6723.116/components/variations/service/variations_field_tr
    NOTREACHED_IN_MIGRATION();
    return Study::X86_64;
  }
-
+Index: chromium-132.0.6834.83/v8/src/compiler/backend/riscv/code-generator-riscv.cc
+===================================================================
+--- chromium-132.0.6834.83.orig/v8/src/compiler/backend/riscv/code-generator-riscv.cc
++++ chromium-132.0.6834.83/v8/src/compiler/backend/riscv/code-generator-riscv.cc
+@@ -3742,12 +3742,20 @@ CodeGenerator::CodeGenResult CodeGenerat
+       break;
+     }
+     case kRiscvEnableDebugTrace: {
++#ifdef USE_SIMULATOR
+       __ Debug(TRACE_ENABLE | LOG_TRACE | LOG_REGS);
+       break;
++#else
++      UNREACHABLE();
++#endif
+     }
+     case kRiscvDisableDebugTrace: {
++#ifdef USE_SIMULATOR
+       __ Debug(TRACE_DISABLE | LOG_TRACE | LOG_REGS);
+       break;
++#else
++      UNREACHABLE();
++#endif
+     }
+     default:
+ #ifdef DEBUG
diff --git a/www-client/chromium/files/riscv-sandbox.patch b/www-client/chromium/files/riscv-sandbox.patch
index dc2d902..325e066 100644
--- a/www-client/chromium/files/riscv-sandbox.patch
+++ b/www-client/chromium/files/riscv-sandbox.patch
@@ -1,7 +1,7 @@
-Index: chromium-130.0.6723.58/sandbox/features.gni
+Index: chromium-132.0.6834.83/sandbox/features.gni
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/features.gni
-+++ chromium-130.0.6723.58/sandbox/features.gni
+--- chromium-132.0.6834.83.orig/sandbox/features.gni
++++ chromium-132.0.6834.83/sandbox/features.gni
 @@ -9,7 +9,8 @@
  use_seccomp_bpf = (is_linux || is_chromeos || is_android) &&
                    (current_cpu == "x86" || current_cpu == "x64" ||
@@ -12,10 +12,10 @@ Index: chromium-130.0.6723.58/sandbox/features.gni
  
  # SSBD (Speculative Store Bypass Disable) is a mitigation of Spectre Variant 4.
  # As Spectre Variant 4 can be mitigated by site isolation, opt-out SSBD on site
-Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+Index: chromium-132.0.6834.83/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-+++ chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
++++ chromium-132.0.6834.83/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
 @@ -56,6 +56,12 @@
  #define MAX_PUBLIC_SYSCALL __NR_syscalls
  #define MAX_SYSCALL MAX_PUBLIC_SYSCALL
@@ -29,10 +29,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
  #else
  #error "Unsupported architecture"
  #endif
-Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
+Index: chromium-132.0.6834.83/sandbox/linux/bpf_dsl/seccomp_macros.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
-+++ chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
++++ chromium-132.0.6834.83/sandbox/linux/bpf_dsl/seccomp_macros.h
 @@ -343,6 +343,48 @@ struct regs_struct {
  #define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
  #define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
@@ -82,10 +82,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/bpf_dsl/seccomp_macros.h
  #else
  #error Unsupported target platform
  
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 @@ -60,6 +60,9 @@ bool IsBaselinePolicyAllowed(int sysno)
  #if defined(__mips__)
           SyscallSets::IsMipsPrivate(sysno) ||
@@ -132,10 +132,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/baseline_policy.
    if (sysno == __NR_pipe) {
      return Allow();
    }
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
 @@ -37,6 +37,7 @@
  
  #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
@@ -144,7 +144,7 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
      !defined(PTRACE_GET_THREAD_AREA)
  // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
  // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
-@@ -463,8 +464,10 @@ ResultExpr RestrictPtrace() {
+@@ -461,8 +462,10 @@ ResultExpr RestrictPtrace() {
  #endif
    return Switch(request)
        .Cases({
@@ -156,10 +156,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
                   PTRACE_GETREGSET,
  #endif
  #if defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 @@ -103,7 +103,7 @@ bool SyscallSets::IsUmask(int sysno) {
  // Both EPERM and ENOENT are valid errno unless otherwise noted in comment.
  bool SyscallSets::IsFileSystem(int sysno) {
@@ -416,10 +416,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
  bool SyscallSets::IsGoogle3Threading(int sysno) {
    switch (sysno) {
      case __NR_getitimer:
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
 @@ -52,7 +52,7 @@ class SANDBOX_EXPORT SyscallSets {
  #endif
  
@@ -464,10 +464,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
    static bool IsGoogle3Threading(int sysno);
  };
  
-Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
+Index: chromium-132.0.6834.83/sandbox/linux/seccomp-bpf/syscall.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/seccomp-bpf/syscall.cc
-+++ chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/seccomp-bpf/syscall.cc
++++ chromium-132.0.6834.83/sandbox/linux/seccomp-bpf/syscall.cc
 @@ -23,7 +23,7 @@ namespace sandbox {
  namespace {
  
@@ -537,10 +537,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/seccomp-bpf/syscall.cc
  #else
  #error "Unimplemented architecture"
  #endif
-Index: chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
+Index: chromium-132.0.6834.83/sandbox/linux/services/credentials.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/services/credentials.cc
-+++ chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/services/credentials.cc
++++ chromium-132.0.6834.83/sandbox/linux/services/credentials.cc
 @@ -87,7 +87,7 @@ bool ChrootToSafeEmptyDir() {
    alignas(16) char stack_buf[PTHREAD_STACK_MIN_CONST];
  
@@ -550,10 +550,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/services/credentials.cc
    // The stack grows downward.
    void* stack = stack_buf + sizeof(stack_buf);
  #else
-Index: chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
+Index: chromium-132.0.6834.83/sandbox/linux/services/syscall_wrappers.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/services/syscall_wrappers.cc
-+++ chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
+--- chromium-132.0.6834.83.orig/sandbox/linux/services/syscall_wrappers.cc
++++ chromium-132.0.6834.83/sandbox/linux/services/syscall_wrappers.cc
 @@ -61,7 +61,7 @@ long sys_clone(unsigned long flags,
  #if defined(ARCH_CPU_X86_64)
    return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
@@ -563,11 +563,11 @@ Index: chromium-130.0.6723.58/sandbox/linux/services/syscall_wrappers.cc
    // CONFIG_CLONE_BACKWARDS defined.
    return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
  #endif
-Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
+Index: chromium-132.0.6834.83/sandbox/linux/syscall_broker/broker_process.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/syscall_broker/broker_process.cc
-+++ chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
-@@ -122,44 +122,46 @@ bool BrokerProcess::IsSyscallBrokerable(
+--- chromium-132.0.6834.83.orig/sandbox/linux/syscall_broker/broker_process.cc
++++ chromium-132.0.6834.83/sandbox/linux/syscall_broker/broker_process.cc
+@@ -121,44 +121,46 @@ bool BrokerProcess::IsSyscallBrokerable(
    // and are default disabled in Android. So, we should refuse to broker them
    // to be consistent with the platform's restrictions.
    switch (sysno) {
@@ -621,7 +621,7 @@ Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
      case __NR_stat:
      case __NR_lstat:
  #endif
-@@ -169,7 +171,7 @@ bool BrokerProcess::IsSyscallBrokerable(
+@@ -168,7 +170,7 @@ bool BrokerProcess::IsSyscallBrokerable(
  #if defined(__NR_fstatat64)
      case __NR_fstatat64:
  #endif
@@ -630,7 +630,7 @@ Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
      case __NR_newfstatat:
  #endif
        return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
-@@ -184,7 +186,7 @@ bool BrokerProcess::IsSyscallBrokerable(
+@@ -183,7 +185,7 @@ bool BrokerProcess::IsSyscallBrokerable(
        return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
  #endif
  
@@ -639,10 +639,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/syscall_broker/broker_process.cc
      case __NR_unlink:
        return !fast_check || policy_->allowed_command_set.test(COMMAND_UNLINK);
  #endif
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_seccomp.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_seccomp.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_seccomp.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_seccomp.h
 @@ -39,6 +39,10 @@
  #define EM_AARCH64 183
  #endif
@@ -665,10 +665,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_seccomp.h
  // For prctl.h
  #ifndef PR_SET_SECCOMP
  #define PR_SET_SECCOMP               22
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_signal.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_signal.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_signal.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_signal.h
 @@ -13,7 +13,7 @@
  // (not undefined, but defined different values and in different memory
  // layouts). So, fill the gap here.
@@ -678,10 +678,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_signal.h
  
  #define LINUX_SIGHUP 1
  #define LINUX_SIGINT 2
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_stat.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_stat.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_stat.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_stat.h
 @@ -150,7 +150,7 @@ struct kernel_stat {
    int st_blocks;
    int st_pad4[14];
@@ -691,10 +691,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_stat.h
  struct kernel_stat {
    unsigned long st_dev;
    unsigned long st_ino;
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/linux_syscalls.h
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/linux/system_headers/linux_syscalls.h
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
+--- chromium-132.0.6834.83.orig/sandbox/linux/system_headers/linux_syscalls.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/linux_syscalls.h
 @@ -35,5 +35,9 @@
  #include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
  #endif
@@ -705,10 +705,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/linux_syscalls.h
 +
  #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
  
-Index: chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscalls.h
+Index: chromium-132.0.6834.83/sandbox/linux/system_headers/riscv64_linux_syscalls.h
 ===================================================================
 --- /dev/null
-+++ chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscalls.h
++++ chromium-132.0.6834.83/sandbox/linux/system_headers/riscv64_linux_syscalls.h
 @@ -0,0 +1,1226 @@
 +// Copyright 2014 The Chromium Authors
 +// Use of this source code is governed by a BSD-style license that can be
@@ -1936,10 +1936,10 @@ Index: chromium-130.0.6723.58/sandbox/linux/system_headers/riscv64_linux_syscall
 +#endif
 +
 +#endif  // SANDBOX_LINUX_SYSTEM_HEADERS_RISCV64_LINUX_SYSCALLS_H_
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_cdm_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_cdm_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_cdm_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_cdm_policy_linux.cc
 @@ -33,7 +33,7 @@ ResultExpr CdmProcessPolicy::EvaluateSys
      case __NR_ftruncate:
      case __NR_fallocate:
@@ -1949,10 +1949,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cdm_policy_linux.cc
      case __NR_getrlimit:
  #endif
  #if defined(__i386__) || defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
 @@ -38,7 +38,7 @@ ResultExpr CrosAmdGpuProcessPolicy::Eval
      case __NR_sched_setscheduler:
      case __NR_sysinfo:
@@ -1962,10 +1962,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux
      case __NR_readlink:
      case __NR_stat:
  #endif
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_gpu_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_gpu_policy_linux.cc
 @@ -73,7 +73,7 @@ ResultExpr GpuProcessPolicy::EvaluateSys
      (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
      case __NR_ftruncate64:
@@ -1975,10 +1975,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_gpu_policy_linux.cc
      case __NR_getdents:
  #endif
      case __NR_getdents64:
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_network_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_network_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_network_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_network_policy_linux.cc
 @@ -260,7 +260,7 @@ ResultExpr NetworkProcessPolicy::Evaluat
      case __NR_fdatasync:
      case __NR_fsync:
@@ -1988,10 +1988,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_network_policy_linux.cc
      case __NR_getdents:
  #endif
      case __NR_getdents64:
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_print_compositor_policy_linux.cc
 @@ -33,7 +33,7 @@ ResultExpr PrintCompositorProcessPolicy:
      case __NR_fdatasync:
      case __NR_fsync:
@@ -2001,11 +2001,11 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_print_compositor_policy_l
      case __NR_getrlimit:
  #endif
  #if defined(__i386__) || defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_renderer_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-@@ -82,7 +82,7 @@ ResultExpr RendererProcessPolicy::Evalua
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+@@ -85,7 +85,7 @@ ResultExpr RendererProcessPolicy::Evalua
      case __NR_ftruncate64:
  #endif
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -2014,10 +2014,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_renderer_policy_linux.cc
      case __NR_getrlimit:
      case __NR_setrlimit:
  // We allow setrlimit to dynamically adjust the address space limit as
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_service_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_service_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_service_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_service_policy_linux.cc
 @@ -26,7 +26,7 @@ ResultExpr ServiceProcessPolicy::Evaluat
        return RestrictIoctl();
        // Allow the system calls below.
@@ -2027,10 +2027,10 @@ Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_service_policy_linux.cc
      case __NR_getrlimit:
  #endif
  #if defined(__i386__) || defined(__arm__)
-Index: chromium-130.0.6723.58/sandbox/policy/linux/bpf_utility_policy_linux.cc
+Index: chromium-132.0.6834.83/sandbox/policy/linux/bpf_utility_policy_linux.cc
 ===================================================================
---- chromium-130.0.6723.58.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
-+++ chromium-130.0.6723.58/sandbox/policy/linux/bpf_utility_policy_linux.cc
+--- chromium-132.0.6834.83.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
++++ chromium-132.0.6834.83/sandbox/policy/linux/bpf_utility_policy_linux.cc
 @@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
      case __NR_fdatasync:
      case __NR_fsync:
diff --git a/www-client/chromium/files/riscv-v8.patch b/www-client/chromium/files/riscv-v8.patch
deleted file mode 100644
index 8cdb37e..0000000
--- a/www-client/chromium/files/riscv-v8.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: chromium-128.0.6613.84/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv-inl.h
-===================================================================
---- chromium-128.0.6613.84.orig/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv-inl.h
-+++ chromium-128.0.6613.84/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv-inl.h
-@@ -2368,6 +2368,22 @@ void LiftoffAssembler::CallFrameSetupStu
-   CallBuiltin(Builtin::kWasmLiftoffFrameSetup);
- }
- 
-+bool LiftoffAssembler::emit_f16x8_splat(LiftoffRegister dst,
-+                                        LiftoffRegister src) {
-+  return false;
-+}
-+bool LiftoffAssembler::emit_f16x8_extract_lane(LiftoffRegister dst,
-+                                               LiftoffRegister lhs,
-+                                               uint8_t imm_lane_idx) {
-+  return false;
-+}
-+bool LiftoffAssembler::emit_f16x8_replace_lane(LiftoffRegister dst,
-+                                               LiftoffRegister src1,
-+                                               LiftoffRegister src2,
-+                                               uint8_t imm_lane_idx) {
-+  return false;
-+}
-+
- }  // namespace v8::internal::wasm
- 
- #endif  // V8_WASM_BASELINE_RISCV_LIFTOFF_ASSEMBLER_RISCV_INL_H_
-
diff --git a/www-client/chromium/metadata.xml b/www-client/chromium/metadata.xml
index 66251f8..e5778b5 100644
--- a/www-client/chromium/metadata.xml
+++ b/www-client/chromium/metadata.xml
@@ -10,11 +10,12 @@
 		<name>Matt Jolly</name>
 	</maintainer>
 	<use>
-		<flag name="ffmpeg-chromium">(binpkg only) Use Chromium FFmpeg fork (<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg (<pkg>media-video/ffmpeg</pkg>)</flag>
+		<flag name="bundled-toolchain">Download and use the upstream binary toolchain(s) to build Chromium</flag>
 		<flag name="debug">Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
+		<flag name="ffmpeg-chromium">(binpkg only) Use Chromium FFmpeg fork (<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg (<pkg>media-video/ffmpeg</pkg>)</flag>
 		<flag name="gtk4">Build with GTK4 headers.</flag>
-		<flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general use.</flag>
 		<flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
+		<flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general use.</flag>
 		<flag name="official">Enable Official build instead of Developer build.</flag>
 		<flag name="pax-kernel">Allow building on a PaX-enabled kernel</flag>
 		<flag name="pgo">Build with Profile Guided Optimizations (2-stage compilation)</flag>
@@ -22,7 +23,6 @@
 		<flag name="system-harfbuzz">Use system <pkg>media-libs/harfbuzz</pkg> instead of the bundled library.</flag>
 		<flag name="system-icu">Use system <pkg>dev-libs/icu</pkg> instead of the bundled one</flag>
 		<flag name="system-png">Use system <pkg>media-libs/libpng</pkg> instead of the bundled library</flag>
-		<flag name="system-toolchain">Use system toolchain instead of the bundled one (if possible)</flag>
 		<flag name="system-zstd">Use system <pkg>app-arch/zstd</pkg> instead of the bundled one.</flag>
 		<flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
 	</use>
next             reply	other threads:[~2025-01-28 11:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-28 11:21 Yixun Lan [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-07-15 20:37 [gentoo-commits] proj/riscv:master commit in: www-client/chromium/files/, www-client/chromium/ Jakov Smolić
2025-04-15 14:44 Jakov Smolić
2025-04-06 20:32 Jakov Smolić
2025-02-13  8:53 Jakov Smolić
2025-01-15 23:27 Jakov Smolić
2024-06-25 23:55 Yixun Lan
2024-04-12  4:09 Yixun Lan
2024-04-12  4:09 Yixun Lan
2021-12-14  9:25 Yixun Lan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=1738063224.576909e8eba83d657e51a9aa8c4a5d764ec907c5.dlan@gentoo \
    --to=dlan@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox