repo/gentoo:master commit in: profiles/arch/mips/, profiles/arch/powerpc/ppc64/64le/, profiles/arch/m68k/, ...

"Ionen Wolkens" <[email protected]> Tue, 04 Aug 2026 03:14:42 +0000 (UTC)
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1785812029.863ca6e2c486c8bda14c96fb6244385745b1e0df.ionen@gentoo>
commit:     863ca6e2c486c8bda14c96fb6244385745b1e0df
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  4 02:40:32 2026 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug  4 02:53:49 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=863ca6e2

media-video/ffmpeg-compat: add 8.1.2

Bug: https://bugs.gentoo.org/961435
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                 |   4 +
 .../ffmpeg-compat/ffmpeg-compat-8.1.2.ebuild       | 640 +++++++++++++++++++++
 media-video/ffmpeg-compat/metadata.xml             |   3 +
 profiles/arch/alpha/package.use.mask               |   3 +
 profiles/arch/amd64/package.use.mask               |   1 +
 profiles/arch/arm/package.use.mask                 |   1 +
 profiles/arch/arm/package.use.stable.mask          |   1 +
 profiles/arch/arm64/package.use.mask               |   1 +
 profiles/arch/arm64/package.use.stable.mask        |   1 +
 profiles/arch/base/package.use.mask                |   1 +
 profiles/arch/hppa/package.use.mask                |   2 +
 profiles/arch/loong/package.use.mask               |   1 +
 profiles/arch/m68k/package.use.mask                |   1 +
 profiles/arch/mips/package.use.mask                |   2 +
 profiles/arch/powerpc/package.use.mask             |   1 +
 profiles/arch/powerpc/ppc32/package.use.mask       |   1 +
 profiles/arch/powerpc/ppc64/64le/package.use.mask  |   1 +
 .../powerpc/ppc64/64le/package.use.stable.mask     |   1 +
 profiles/arch/powerpc/ppc64/package.use.mask       |   1 +
 profiles/arch/s390/package.use.mask                |   1 +
 profiles/arch/sparc/package.use.mask               |   2 +
 profiles/arch/x86/package.use.stable.mask          |   1 +
 22 files changed, 671 insertions(+)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
index 5002fb510490..3cf969b9a33d 100644
--- a/media-video/ffmpeg-compat/Manifest
+++ b/media-video/ffmpeg-compat/Manifest
@@ -7,5 +7,9 @@ DIST ffmpeg-6.1.6.tar.xz.asc 520 BLAKE2B 554a236fa239ffefe7374320a1eda4f7ecceb0a
 DIST ffmpeg-7.1-patchset-4.tar.xz 792 BLAKE2B 3941bfc8385fdc883b50e8a71d38d90016863834de566849af78b575b81724433311b115c19f8ce886e36154c9d1c1f37466ac8a4198aea03d874aa5ffad9963 SHA512 26bfcc321ad27e55cc9b60c5c30052b7918804636a4a1e709956f19eb19d5de30499d084436b5f36209cf0d72e70cbc5594ffff63028b9c93655c5058e099987
 DIST ffmpeg-7.1.5.tar.xz 11050340 BLAKE2B 71ac16f0b47396fe99b50fffb7ed78a9d817c4adc83442e7e445cb92c550ba5b15bdbe8ca8d3d6393f88b569f62f647b353697b01ab192b21e4abd8464b8f7ad SHA512 c0649ef9edd4176b90459e92b636be18077ca898f24fe1a8dc60f3c5fd58cf718db9720bbe804c6f6894453e21c0625d706ea37d3523fcb40d61779763d7d965
 DIST ffmpeg-7.1.5.tar.xz.asc 520 BLAKE2B 191c78ed098576b6ad0e32cda7a4ad6ce8a10555938c2cdc7d5c382e30778e9ed408d83af8e45e06f8e85bdadab11b50448f0475fc9dd0fd1ee4c6678e317568 SHA512 d441d8a25c7d6de06e5a78d7a4ea72c75dfd31de73ea899939ed1599212acf042710a8ed1e34d3d77b6c75b904f2f95bac03875ce55b04b2951e5b67b72882a4
+DIST ffmpeg-8.1-patchset-1.tar.xz 468 BLAKE2B c4253eae75c06be0c39e4d1fa64c38b89ce818cd8a2d10c793b711a2ac744a5efe60e5cd07c9972a2a74aee40ef2dfb832ecab025567a4a8b97ec8c548a0b725 SHA512 ace938f028abb5b383c800040bebcf3d48854105ce7d5b53d3a4f437a2c1ff157574e0557c259ec8ffef7bbb7ee4332c2b97301715f92a028b906c4e872e4ee9
+DIST ffmpeg-8.1.2.tar.xz 11710924 BLAKE2B b37849fd89cdbc336700227c804d7642e0d2e4024359d15f4c3659cd41465145946b362fb61e0dc0141730f1d0352e2a2bf33d513213b2b3b68978be766b5914 SHA512 b3adc16fe426217bb607da01c4137cee0a9788fc08e077874336db185d2b7287746a7dc94cf0181ea92cd8afcdb06094ee9456e2986112354f84538cb9a5ed0b
+DIST ffmpeg-8.1.2.tar.xz.asc 520 BLAKE2B d9a3ad0773cfba32c13d0ac29c88d0c3ebf53ccacc6a6c539f9b4f030181964acbedc8f7b846601e62d1c1bdefc34a31293970097f6d793438426c686da3bed9 SHA512 11d47bb4e7cb6ed388647d5ed7ba4f740b279e3d5bbe2caf97ffe486a62bb05ce0c1c3bf8c020c34818db935a967d18ac27071630e3357ddf1c549741eadd6a5
 DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
 DIST ffmpeg-rpi-7.1.1.patch 847869 BLAKE2B efc3fef1810034b40eee1f637499171529fc6027c4fc0ef66da587c704a7742b454903aa060b21305e1d9a714eb31d96cd93f93d7cadb5815a0de22ac040b9e1 SHA512 a3f9013aec9b17e0fc1689d946e57e251a88eac3f9e7856d46fe9614fea29211feaf106d32a31f97c0e8c83c1685ca454c31f9bcb5dafb669a0933d683e581c8
+DIST ffmpeg-soc-8.1.patch 702636 BLAKE2B 425247f9f41d13d706a9f7de00c14ad5606987e10a01c320c0b6a9091e0f340d0c34230b1a945c53c8bddc472105a6a6dbd96421e11f855f9427d1c4f7342028 SHA512 f24ae85846d98b1bdcde0d80916236c83497042edd6eb6c7b7f650c4fe787a04b6aa56cee89afa1f115501dd65edf2b120e4997b02d5f8e8a4a46edfd5ead387

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-8.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-8.1.2.ebuild
new file mode 100644
index 000000000000..1e8385df3981
--- /dev/null
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-8.1.2.ebuild
@@ -0,0 +1,640 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib-minimal toolchain-funcs udev
+
+FFMPEG_SOC_PATCH=ffmpeg-soc-8.1.patch
+FFMPEG_SUBSLOT=60.62.62 # avutil.avcodec.avformat SONAME
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI=(
+		https://git.ffmpeg.org/ffmpeg.git
+		https://github.com/FFmpeg/FFmpeg.git
+	)
+else
+	inherit verify-sig
+	SRC_URI="
+		https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz
+		verify-sig? ( https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz.asc )
+		${FFMPEG_SOC_PATCH:+"
+			soc? ( https://dev.gentoo.org/~chewi/distfiles/${FFMPEG_SOC_PATCH} )
+		"}
+		https://distfiles.gentoo.org/pub/dev/[email protected]/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
+	"
+	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P} for ffmpeg-compat
+	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos"
+fi
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video"
+HOMEPAGE="
+	https://ffmpeg.org/
+	https://code.ffmpeg.org/FFmpeg/FFmpeg/
+"
+
+[[ ${PN} == *-compat ]] && FFMPEG_UNSLOTTED= || FFMPEG_UNSLOTTED=1
+
+FFMPEG_IUSE_MAP=(
+	# [+]flag[:[^][!]opt1,...][@<v3|nonfree>]], ^ = native-only, ! = override
+	# remember to keep LICENSE, REQUIRED_USE, and RESTRICT in sync
+	X:libxcb,libxcb-shape,libxcb-shm,libxcb-xfixes,xlib
+	alsa
+	amf
+	amrenc:libvo-amrwbenc@v3
+	amr:libopencore-amrnb,libopencore-amrwb@v3
+	appkit
+	bluray:libbluray
+	bs2b:libbs2b
+	bzip2:bzlib
+	cairo
+	cdio:libcdio
+	chromaprint
+	codec2:libcodec2
+	cuda-clang:cuda-llvm
+	+dav1d:libdav1d
+	${FFMPEG_UNSLOTTED:+doc:^htmlpages}
+	+drm:libdrm
+	dvd:libdvdnav,libdvdread
+	fdk:libfdk-aac@nonfree
+	flite:libflite
+	+fontconfig:libfontconfig
+	frei0r
+	fribidi:libfribidi
+	gcrypt
+	gme:libgme
+	gmp:@v3
+	+gnutls # unused if USE=openssl, default for bug #905113,#917627
+	+gpl
+	gsm:libgsm
+	iec61883:libiec61883
+	ieee1394:libdc1394
+	jack:libjack
+	jpeg2k:libopenjpeg
+	jpegxl:libjxl
+	kvazaar:libkvazaar
+	ladspa
+	lame:libmp3lame
+	lcms:lcms2
+	libaom
+	libaribb24:@v3 # reminder: req use on gpl unneeded if >=1.0.4 (not in tree)
+	+libass
+	libcaca
+	libilbc
+	liblc3
+	libplacebo
+	librtmp:librtmp
+	libsoxr
+	lv2
+	lzma
+	modplug:libmodplug
+	nvenc:cuvid,ffnvcodec,nvdec,nvenc
+	opencolorio:^libopencolorio # no multilib
+	ocr:libtesseract
+	openal
+	opencl
+	opengl
+	openh264:libopenh264
+	openmpt:libopenmpt
+	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
+	opus:libopus
+	pulseaudio:libpulse
+	qrcode:libqrencode
+	qsv:libvpl
+	quirc:libquirc
+	rabbitmq:^librabbitmq # no multilib
+	rav1e:^librav1e # no multilib
+	rist:^librist # no multilib
+	rubberband:librubberband
+	samba:libsmbclient@v3 # GPL-3+ only
+	sdl:sdl2
+	snappy:libsnappy
+	sndio
+	speex:libspeex
+	srt:libsrt
+	ssh:libssh
+	svg:librsvg
+	svt-av1:libsvtav1
+	theora:libtheora
+	+truetype:libfreetype,libharfbuzz
+	twolame:libtwolame
+	v4l:libv4l2
+	vaapi
+	vdpau
+	vidstab:libvidstab
+	vmaf:libvmaf
+	vorbis:libvorbis
+	vpx:libvpx
+	# libshaderc: merged here given shaderc is needed at build-time
+	# either way and many vulkan features depend on spirv_library
+	# vulkan-static: it still uses shared, only means no dlopen()
+	vulkan:libshaderc,vulkan,vulkan-static
+	webp:libwebp
+	x264:libx264
+	x265:libx265
+	+xml:libxml2
+	xvid:libxvid
+	zeromq:^libzmq # no multilib
+	zimg:libzimg
+	+zlib
+	zvbi:libzvbi
+)
+
+# all-rights is used to express the GPL incompatibility (RESTRICT=bindist)
+LICENSE="
+	gpl? (
+		GPL-2+
+		amr? ( GPL-3+ ) amrenc? ( GPL-3+ ) libaribb24? ( GPL-3+ )
+		gmp? ( GPL-3+ ) openssl? ( GPL-3+ )
+		fdk? ( all-rights-reserved )
+	)
+	!gpl? (
+		LGPL-2.1+
+		amr? ( LGPL-3+ ) amrenc? ( LGPL-3+ ) libaribb24? ( LGPL-3+ )
+		gmp? ( LGPL-3+ )
+	)
+	samba? ( GPL-3+ )
+"
+[[ ${FFMPEG_UNSLOTTED} ]] && : 0 || : "$(ver_cut 1)"
+SLOT="${_}/${FFMPEG_SUBSLOT}"
+IUSE="
+	${FFMPEG_IUSE_MAP[*]%:*}
+	${FFMPEG_UNSLOTTED:+chromium}
+	${FFMPEG_SOC_PATCH:+soc}
+"
+REQUIRED_USE="
+	cuda-clang? ( nvenc )
+	fribidi? ( truetype )
+	gmp? ( !librtmp )
+	libplacebo? ( vulkan )
+	libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl )
+	rubberband? ( gpl ) samba? ( gpl ) vidstab? ( gpl ) x264? ( gpl )
+	x265? ( gpl ) xvid? ( gpl )
+	${FFMPEG_UNSLOTTED:+chromium? ( opus )}
+	${FFMPEG_SOC_PATCH:+soc? ( drm )}
+"
+RESTRICT="gpl? ( fdk? ( bindist ) )"
+
+# dlopen: amdgpu-pro-amf
+COMMON_DEPEND="
+	virtual/libiconv[${MULTILIB_USEDEP}]
+	X? (
+		x11-libs/libX11[${MULTILIB_USEDEP}]
+		x11-libs/libXext[${MULTILIB_USEDEP}]
+		x11-libs/libXv[${MULTILIB_USEDEP}]
+		x11-libs/libxcb:=[${MULTILIB_USEDEP}]
+	)
+	alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+	amr? ( media-libs/opencore-amr[${MULTILIB_USEDEP}] )
+	amrenc? ( media-libs/vo-amrwbenc[${MULTILIB_USEDEP}] )
+	bluray? ( media-libs/libbluray:=[${MULTILIB_USEDEP}] )
+	bs2b? ( media-libs/libbs2b[${MULTILIB_USEDEP}] )
+	bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+	cairo? ( x11-libs/cairo[${MULTILIB_USEDEP}] )
+	cdio? ( dev-libs/libcdio-paranoia:=[${MULTILIB_USEDEP}] )
+	chromaprint? ( media-libs/chromaprint:=[${MULTILIB_USEDEP}] )
+	codec2? ( media-libs/codec2:=[${MULTILIB_USEDEP}] )
+	dav1d? ( media-libs/dav1d:=[${MULTILIB_USEDEP}] )
+	dvd? (
+		media-libs/libdvdnav[${MULTILIB_USEDEP}]
+		media-libs/libdvdread:=[${MULTILIB_USEDEP}]
+	)
+	drm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+	fdk? ( media-libs/fdk-aac:=[${MULTILIB_USEDEP}] )
+	flite? ( app-accessibility/flite[${MULTILIB_USEDEP}] )
+	fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+	frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+	fribidi? ( dev-libs/fribidi[${MULTILIB_USEDEP}] )
+	gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] )
+	gme? ( media-libs/game-music-emu[${MULTILIB_USEDEP}] )
+	gmp? ( dev-libs/gmp:=[${MULTILIB_USEDEP}] )
+	gnutls? ( !openssl? (
+		net-libs/gnutls:=[${MULTILIB_USEDEP}]
+	) )
+	gsm? ( media-sound/gsm[${MULTILIB_USEDEP}] )
+	iec61883? (
+		media-libs/libiec61883[${MULTILIB_USEDEP}]
+		sys-libs/libavc1394[${MULTILIB_USEDEP}]
+		sys-libs/libraw1394[${MULTILIB_USEDEP}]
+	)
+	ieee1394? (
+		media-libs/libdc1394:2=[${MULTILIB_USEDEP}]
+		sys-libs/libraw1394[${MULTILIB_USEDEP}]
+	)
+	jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+	jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
+	jpegxl? ( media-libs/libjxl:=[${MULTILIB_USEDEP}] )
+	kvazaar? ( media-libs/kvazaar:=[${MULTILIB_USEDEP}] )
+	lame? ( media-sound/lame[${MULTILIB_USEDEP}] )
+	lcms? ( media-libs/lcms:2[${MULTILIB_USEDEP}] )
+	libaom? ( media-libs/libaom:=[${MULTILIB_USEDEP}] )
+	libaribb24? ( media-libs/aribb24[${MULTILIB_USEDEP}] )
+	libass? ( media-libs/libass:=[${MULTILIB_USEDEP}] )
+	libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] )
+	libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] )
+	liblc3? ( >=media-sound/liblc3-1.1[${MULTILIB_USEDEP}] )
+	libplacebo? ( media-libs/libplacebo:=[vulkan,${MULTILIB_USEDEP}] )
+	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
+	lv2? (
+		media-libs/lilv[${MULTILIB_USEDEP}]
+		media-libs/lv2[${MULTILIB_USEDEP}]
+	)
+	lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
+	modplug? ( media-libs/libmodplug[${MULTILIB_USEDEP}] )
+	opencolorio? ( media-libs/opencolorio:= )
+	ocr? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )
+	openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+	opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+	opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
+	openh264? ( media-libs/openh264:=[${MULTILIB_USEDEP}] )
+	openmpt? ( media-libs/libopenmpt[${MULTILIB_USEDEP}] )
+	openssl? ( >=dev-libs/openssl-3:=[${MULTILIB_USEDEP}] )
+	opus? ( media-libs/opus[${MULTILIB_USEDEP}] )
+	pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+	qrcode? ( media-gfx/qrencode:=[${MULTILIB_USEDEP}] )
+	qsv? ( media-libs/libvpl:=[${MULTILIB_USEDEP}] )
+	quirc? ( media-libs/quirc:=[${MULTILIB_USEDEP}] )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	rav1e? ( >=media-video/rav1e-0.5:=[capi] )
+	rist? ( net-libs/librist )
+	rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
+	samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
+	sdl? (
+		media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}]
+		libplacebo? ( media-libs/libsdl2[vulkan] )
+	)
+	snappy? ( app-arch/snappy:=[${MULTILIB_USEDEP}] )
+	sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+	speex? ( media-libs/speex[${MULTILIB_USEDEP}] )
+	srt? ( net-libs/srt:=[${MULTILIB_USEDEP}] )
+	ssh? ( net-libs/libssh:=[sftp,${MULTILIB_USEDEP}] )
+	svg? (
+		dev-libs/glib:2[${MULTILIB_USEDEP}]
+		>=gnome-base/librsvg-2.52:2[${MULTILIB_USEDEP}]
+		x11-libs/cairo[${MULTILIB_USEDEP}]
+	)
+	svt-av1? ( >=media-libs/svt-av1-0.9:=[${MULTILIB_USEDEP}] )
+	theora? ( media-libs/libtheora:=[encode,${MULTILIB_USEDEP}] )
+	truetype? (
+		media-libs/freetype:2[${MULTILIB_USEDEP}]
+		media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+	)
+	twolame? ( media-sound/twolame[${MULTILIB_USEDEP}] )
+	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+	vaapi? ( media-libs/libva:=[X?,${MULTILIB_USEDEP}] )
+	vdpau? (
+		x11-libs/libX11[${MULTILIB_USEDEP}]
+		x11-libs/libvdpau[${MULTILIB_USEDEP}]
+	)
+	vidstab? ( media-libs/vidstab[${MULTILIB_USEDEP}] )
+	vmaf? ( media-libs/libvmaf:=[${MULTILIB_USEDEP}] )
+	vorbis? ( media-libs/libvorbis[${MULTILIB_USEDEP}] )
+	vpx? ( media-libs/libvpx:=[${MULTILIB_USEDEP}] )
+	vulkan? (
+		media-libs/shaderc[${MULTILIB_USEDEP}]
+		media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+	)
+	webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
+	x264? ( media-libs/x264:=[${MULTILIB_USEDEP}] )
+	x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
+	xml? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+	xvid? ( media-libs/xvid[${MULTILIB_USEDEP}] )
+	zeromq? ( net-libs/zeromq:= )
+	zimg? ( media-libs/zimg[${MULTILIB_USEDEP}] )
+	zlib? ( virtual/zlib:=[${MULTILIB_USEDEP}] )
+	zvbi? ( media-libs/zvbi[${MULTILIB_USEDEP}] )
+	${FFMPEG_SOC_PATCH:+"
+		soc? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+	"}
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	amf? ( media-video/amdgpu-pro-amf )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	X? ( x11-base/xorg-proto )
+	amf? ( >=media-libs/amf-headers-1.5.0 )
+	kernel_linux? ( >=sys-kernel/linux-headers-6 )
+	ladspa? ( media-libs/ladspa-sdk )
+	nvenc? ( >=media-libs/nv-codec-headers-12.1.14.0 )
+	opencl? ( dev-util/opencl-headers )
+	vulkan? ( >=dev-util/vulkan-headers-1.4.317 )
+"
+BDEPEND="
+	app-alternatives/awk
+	virtual/pkgconfig
+	amd64? ( dev-lang/nasm )
+	cuda-clang? ( llvm-core/clang:*[llvm_targets_NVPTX] )
+	vulkan? ( media-libs/shaderc )
+	${FFMPEG_UNSLOTTED:+"
+		dev-lang/perl
+		doc? ( sys-apps/texinfo )
+	"}
+"
+[[ ${PV} != 9999 ]] &&
+	BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+
+DOCS=( CREDITS Changelog README.md doc/APIchanges )
+[[ ${PV} != 9999 ]] && DOCS+=( RELEASE_NOTES )
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libavutil/avconfig.h
+)
+
+PATCHES=(
+	"${WORKDIR}"/patches
+)
+
+pkg_pretend() {
+	# TODO: drop this after a few months
+	if has_version "${CATEGORY}/${PN}[mp3]" && use !lame; then #952971
+		ewarn "${PN}'s 'mp3' USE was renamed to 'lame', please enable it"
+		ewarn "if wish to keep the ability to encode using media-sound/lame."
+		ewarn "This is *not* needed if only want mp3 playback."
+	fi
+}
+
+pkg_setup() {
+	[[ ${MERGE_TYPE} != binary ]] || return
+
+	if use chromaprint && has_version 'media-libs/chromaprint[tools]'; then
+		ewarn "media-libs/chromaprint is installed with USE=tools which links to"
+		ewarn "ffmpeg, and USE=chromaprint is enabled on ffmpeg which links to"
+		ewarn "chromaprint (circular). This may cause issues when updating ffmpeg."
+		ewarn
+		ewarn "If get a build failure with 'ERROR: chromaprint not found' or so,"
+		ewarn "first rebuild chromaprint with USE=-tools, then rebuild ffmpeg, and"
+		ewarn "then finally rebuild chromaprint with USE=tools again (bug #862996)."
+	fi
+
+	[[ ${EXTRA_FFMPEG_CONF} ]] && # drop this eventually
+		die "EXTRA_FFMPEG_CONF is set in the environment, please use EXTRA_ECONF instead"
+}
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]]; then
+		git-r3_src_unpack
+	else
+		use verify-sig &&
+			verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
+				"${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+		default
+	fi
+}
+
+src_prepare() {
+	in_iuse chromium && PATCHES+=( "${FILESDIR}"/chromium-r3.patch )
+	in_iuse soc && use soc && PATCHES+=( "${DISTDIR}"/${FFMPEG_SOC_PATCH} )
+
+	default
+
+	# respect user preferences
+	sed -i '/cflags -fdiagnostics-color/d' configure || die
+
+	# handle here to avoid repeating for each ABI below (bug #923491)
+	FFMPEG_ENABLE_LTO=
+	if tc-is-lto; then
+		: "$(get-flag -flto)" # get -flto=<val> (e.g. =thin)
+		FFMPEG_ENABLE_LTO=--enable-lto${_#-flto}
+
+		tc-ld-is-mold && tc-is-clang && FFMPEG_ENABLE_LTO= #963835
+	fi
+	filter-lto
+
+	# workaround ICE with <gcc-16.1.1_p20260606:16 (bug #973641)
+	# TODO: kept to let people update, cleanup after a few months
+	tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] &&
+		has_version -b '<sys-devel/gcc-16.1.1_p20260606:16' &&
+		append-flags -fno-tree-vectorize
+}
+
+multilib_src_configure() {
+	local conf=( "${S}"/configure ) # not autotools-based
+
+	local prefix=${EPREFIX}/usr
+	if [[ ! ${FFMPEG_UNSLOTTED} ]]; then
+		prefix+=/lib/ffmpeg${SLOT%/*}
+		# could get SONAME clashes, so prefer rpath over LDPATH
+		conf+=(
+			--enable-rpath
+			--disable-doc
+		)
+	fi
+
+	conf+=(
+		--prefix="${prefix}"
+		--libdir="${prefix}"/$(get_libdir)
+		--shlibdir="${prefix}"/$(get_libdir)
+		--mandir="${prefix}"/share/man
+		--docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+
+		--ar="$(tc-getAR)"
+		--cc="$(tc-getCC)"
+		--cxx="$(tc-getCXX)"
+		--nm="$(tc-getNM)"
+		--pkg-config="$(tc-getPKG_CONFIG)"
+		--ranlib="$(tc-getRANLIB)"
+		--disable-stripping
+
+		# overrides users' -g/-O, let *FLAGS handle these
+		--disable-debug
+		--disable-optimizations
+		--optflags=' '
+
+		# pass option over *FLAGS due to special logic (bug #566282,#754654)
+		${FFMPEG_ENABLE_LTO}
+
+		# basic defaults that should not really need a USE
+		--enable-iconv
+		--enable-pic
+		--enable-shared
+		--disable-static
+		$(multilib_native_enable manpages) # needs pod2man
+		--disable-podpages
+		--disable-txtpages
+
+		# disabled primarily due to being unpackaged
+		--disable-decklink
+		--disable-libaribcaption
+		--disable-libdavs2
+		--disable-libklvanc
+		--disable-liblcevc-dec
+		--disable-libmpeghdec
+		--disable-libmysofa
+		--disable-liboapv
+		--disable-libopenvino
+		--disable-libshine
+		--disable-libsvtjpegxs
+		--disable-libtls
+		--disable-libuavs3d
+		--disable-libvvenc
+		--disable-libxavs
+		--disable-libxavs2
+		--disable-libxevd
+		--disable-libxevdb
+		--disable-libxeve
+		--disable-libxeveb
+		--disable-ohcodec
+		--disable-pocketsphinx
+		--disable-rkmpp
+		--disable-vapoursynth
+		--disable-whisper
+
+		# disabled for other or additional reasons
+		--disable-cuda-nvcc # prefer cuda-llvm for less issues
+		--disable-libcelt # obsolete (bug #664158)
+		--disable-libglslang # prefer shaderc (bug #918989,#920283,#922333)
+		--disable-liblensfun # https://trac.ffmpeg.org/ticket/9112 (abandoned?)
+		--disable-libmfx # prefer libvpl for USE=qsv
+		--disable-libnpp # deprecated and not supported for cuda 13.0+
+		--disable-libopencv # leaving for later due to circular opencv[ffmpeg]
+		--disable-libtensorflow # causes headaches, and is gone
+		--disable-libtorch # support may need special attention (bug #936127)
+		--disable-mbedtls # messy with slots, tests underlinking issues
+		--disable-mmal # prefer USE=soc
+		--disable-omx # unsupported (bug #653386)
+		--disable-omx-rpi # ^
+
+		# to avoid obscure issues like bug #915384 and simplify the ebuild,
+		# not passing the following (use EXTRA_ECONF if really must):
+		# --cpu: adds -march=<exact> after the user's more adapted
+		# =native, its logic also does not account for -mno-*
+		# --disable/enable-<cpufeature>: safer to detect at runtime
+	)
+
+	in_iuse soc && use soc &&
+		conf+=(
+			--enable-libudev
+			--enable-sand
+			--enable-v4l2-request
+		)
+
+	# broken on x32 (bug #427004), and not PIC safe on x86 (bug #916067)
+	[[ ${ABI} == @(x32|x86) ]] && conf+=( --disable-asm )
+
+	# disable due to asm-related failures on ppc (bug #951464, ppc64be)
+	# https://trac.ffmpeg.org/ticket/9604 (ppc64el)
+	# https://trac.ffmpeg.org/ticket/10955 (ppc64el)
+	# (review re-enabling if resolved, or if debian allows it again)
+	use ppc || use ppc64 && conf+=( --disable-asm )
+
+	if tc-is-cross-compiler; then
+		conf+=(
+			--enable-cross-compile
+			--arch="$(tc-arch-kernel)"
+			--cross-prefix="${CHOST}-"
+			--host-cc="$(tc-getBUILD_CC)"
+		)
+		case ${CHOST} in
+			*mingw32*) conf+=( --target-os=mingw32 );;
+			*linux*) conf+=( --target-os=linux );;
+		esac
+	elif use arm; then
+		# TODO?: could *always* pass tc-arch-kernel, albeit that function
+		# is meant for the kernel and just mostly matches by accident
+		conf+=( --arch=arm ) #969514
+	fi
+
+	# skipping tests is handled at configure-time
+	local skip_tests=()
+
+	# tests known failing on BE arches, skip for now given potential
+	# fixes are complex and would rather wait for fixed release
+	# (shouldn't impact most BE users, scarcely used features)
+	# https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/22564
+	# https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22274
+	[[ $(tc-endian) == big ]] &&
+		skip_tests+=(
+			filter-drawvg-video
+			vsynth{1,2,3}-ffvhuff420p12
+		)
+
+	# zlib-ng is not bitexact w/ zlib producing mismatching md5sum (bug #965737)
+	has_version 'sys-libs/zlib-ng[compat]' &&
+		skip_tests+=(
+			lavf-{apng{,.png},gray16be.png,png,rgb48be.png}
+			mov-mp4-frag-flush
+			vsynth{1,2,3}-{flashsv,mpng,zlib}
+		)
+
+	(( ${#skip_tests[@]} )) &&
+		conf+=( --ignore-tests=$(IFS=,; echo "${skip_tests[*]}") )
+
+	# import options from FFMPEG_IUSE_MAP
+	local flag license mod v
+	local -A optmap=() licensemap=()
+	for v in "${FFMPEG_IUSE_MAP[@]}"; do
+		[[ ${v} =~ \+?([^:]+):?([^@]*)@?(.*) ]] || die "${v}"
+		flag=${BASH_REMATCH[1]}
+		license=${BASH_REMATCH[3]}
+		v=${BASH_REMATCH[2]:-${flag}}
+		for v in ${v//,/ }; do
+			mod=${v::1}
+			v=${v#[\!\^]}
+			if [[ ${mod} == '!' ]]; then
+				if use ${flag}; then
+					optmap[${v}]=--disable-${v}
+					unset licensemap[${v}]
+				fi
+			elif [[ ! -v optmap[${v}] ]]; then
+				if [[ ${mod} == '^' ]]; then
+					optmap[${v}]=$(multilib_native_use_enable ${flag} ${v})
+				else
+					optmap[${v}]=$(use_enable ${flag} ${v})
+				fi
+				use ${flag} && licensemap[${v}]=${license}
+			fi
+		done
+	done
+	for license in "${licensemap[@]}"; do
+		case ${license} in
+			v3ifgpl) use gpl || continue ;&
+			v3) optmap[v3]=--enable-version3 ;;
+			nonfree) use gpl && optmap[nonfree]=--enable-nonfree ;;
+		esac
+	done
+	conf+=(
+		"${optmap[@]}"
+		${EXTRA_ECONF}
+	)
+
+	einfo "${conf[*]}"
+	"${conf[@]}" || die "configure failed, see ${BUILD_DIR}/ffbuild/config.log"
+}
+
+multilib_src_compile() {
+	mkdir -p fftools/resources/ || die #965687
+	mkdir -p libav{codec,filter}/vulkan/ || die #974907
+
+	emake V=1
+
+	in_iuse chromium && use chromium && multilib_is_native_abi &&
+		emake V=1 libffmpeg
+}
+
+multilib_src_test() {
+	local -x LD_LIBRARY_PATH=$(printf %s: "${BUILD_DIR}"/lib*)${LD_LIBRARY_PATH}
+	emake V=1 -k fate
+}
+
+multilib_src_install() {
+	emake V=1 DESTDIR="${D}" install
+	in_iuse chromium && use chromium && multilib_is_native_abi &&
+		emake V=1 DESTDIR="${D}" install-libffmpeg
+}
+
+multilib_src_install_all() {
+	in_iuse soc && use soc && udev_dorules "${FILESDIR}"/60-dma-heap-ffmpeg.rules
+	einstalldocs
+}
+
+pkg_postinst() {
+	in_iuse soc && use soc && udev_reload
+}
+
+pkg_postrm() {
+	in_iuse soc && use soc && udev_reload
+}

diff --git a/media-video/ffmpeg-compat/metadata.xml b/media-video/ffmpeg-compat/metadata.xml
index e3756e31f14d..1bb61756a4f5 100644
--- a/media-video/ffmpeg-compat/metadata.xml
+++ b/media-video/ffmpeg-compat/metadata.xml
@@ -62,6 +62,7 @@
 		</flag>
 		<flag name="libsoxr">Enable use of the audio resampler from <pkg>media-libs/soxr</pkg></flag>
 		<flag name="lv2">Enable use of filters through <pkg>media-libs/lv2</pkg></flag>
+		<flag name="opencolorio">Enable use of color management filters via <pkg>media-libs/opencolorio</pkg></flag>
 		<flag name="ocr">Enable Optical Character Recognition (OCR) filter support via <pkg>app-text/tesseract</pkg></flag>
 		<flag name="openh264">Enable H.264 encoding support via <pkg>media-libs/openh264</pkg></flag>
 		<flag name="openmpt">Enable MPTM tracked music files decoding support via <pkg>media-libs/libopenmpt</pkg></flag>
@@ -78,6 +79,7 @@
 		<flag name="quirc">Enable QR decoding support via <pkg>media-libs/quirc</pkg></flag>
 		<flag name="rabbitmq">Enable AMQP stream support via <pkg>net-libs/rabbitmq-c</pkg></flag>
 		<flag name="rav1e">Enable AV1 encoding support via <pkg>media-video/rav1e</pkg></flag>
+		<flag name="rist">Enable Reliable Internet Stream Transport (RIST) protocol support via <pkg>net-libs/librist</pkg></flag>
 		<flag name="rubberband">Enable time-stretching and pitch-shifting audio filter support via <pkg>media-libs/rubberband</pkg></flag>
 		<flag name="sdl">Enable use of the Simple Direct Layer library (required for the ffplay command)</flag>
 		<flag name="shaderc">Enable support for various GPU-accelerated filters using Vulkan compiled with <pkg>media-libs/shaderc</pkg></flag>
@@ -99,6 +101,7 @@
 			in addition to FFmpeg's own implementation
 		</flag>
 		<flag name="vidstab">Enable video stabilization filter support via <pkg>media-libs/vidstab</pkg></flag>
+		<flag name="vmaf">Enable Netflix's perceptual video quality assessment filter support via <pkg>media-libs/libvmaf</pkg></flag>
 		<flag name="vpx">
 			Enable VP8 and VP9 de/encoding support via <pkg>media-libs/libvpx</pkg>
 			in addition to FFmpeg's own implementation (for decoding only)

diff --git a/profiles/arch/alpha/package.use.mask b/profiles/arch/alpha/package.use.mask
index 54141e457fb1..8d2f9a91d38e 100644
--- a/profiles/arch/alpha/package.use.mask
+++ b/profiles/arch/alpha/package.use.mask
@@ -34,6 +34,7 @@ sys-fs/lvm2 vdo
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is not keyworded here
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Sam James <[email protected]> (2026-02-11)
 # sys-libs/libnvme not keyworded here
@@ -159,6 +160,7 @@ sci-visualization/gnuplot amos
 # Leonardo Hernández Hernández <[email protected]> (2024-07-07)
 # media-libs/quirc and media-sound/liblc3 are not keyworded here
 media-video/ffmpeg quirc liblc3
+media-video/ffmpeg-compat quirc liblc3
 
 # matoro <matoro_gentoo-+Sl89UKwEz1aa/[email protected]> (2024-07-03)
 # Requires dev-util/shelltestrunner
@@ -312,6 +314,7 @@ media-libs/freetype svg
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # Sam James <[email protected]> (2022-01-29)
 # app-text/ronn-ng not keyworded here, bug #801103

diff --git a/profiles/arch/amd64/package.use.mask b/profiles/arch/amd64/package.use.mask
index 1cad01f369ca..5c478367fd44 100644
--- a/profiles/arch/amd64/package.use.mask
+++ b/profiles/arch/amd64/package.use.mask
@@ -36,6 +36,7 @@ llvm-runtimes/clang-runtime -llvm_targets_AMDGPU -llvm_targets_NVPTX -llvm_targe
 # Ionen Wolkens <[email protected]> (2026-02-11)
 # net-libs/librist is available here
 media-video/ffmpeg -rist
+media-video/ffmpeg-compat -rist
 
 # Andrey Grozin <[email protected]> (2026-01-08)
 # dev-python/pyside[tools] is available here

diff --git a/profiles/arch/arm/package.use.mask b/profiles/arch/arm/package.use.mask
index c800f9cb5e74..4825591eac49 100644
--- a/profiles/arch/arm/package.use.mask
+++ b/profiles/arch/arm/package.use.mask
@@ -273,6 +273,7 @@ app-text/enchant nuspell
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # Sam James <[email protected]> (2022-03-10)
 # Boost has support for ARM32

diff --git a/profiles/arch/arm/package.use.stable.mask b/profiles/arch/arm/package.use.stable.mask
index 9e7ba85c159f..2c7f0fed78ee 100644
--- a/profiles/arch/arm/package.use.stable.mask
+++ b/profiles/arch/arm/package.use.stable.mask
@@ -6,6 +6,7 @@
 # Not overly worth extra stabilizations over new still scarcely used
 # colour filters. Can revisit if someone wants this.
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Matt Turner <[email protected]> (2025-11-24)
 # spirv-llvm-translator < 20 is not stable here.

diff --git a/profiles/arch/arm64/package.use.mask b/profiles/arch/arm64/package.use.mask
index afd15fd24413..3d5f2ab27519 100644
--- a/profiles/arch/arm64/package.use.mask
+++ b/profiles/arch/arm64/package.use.mask
@@ -32,6 +32,7 @@ app-admin/vaultwarden cli
 # Ionen Wolkens <[email protected]> (2026-02-11)
 # net-libs/librist is available here
 media-video/ffmpeg -rist
+media-video/ffmpeg-compat -rist
 
 # Sam James <[email protected]> (2025-12-23)
 # sys-process/numactl is available here

diff --git a/profiles/arch/arm64/package.use.stable.mask b/profiles/arch/arm64/package.use.stable.mask
index ba4039da085c..bc2f44e13605 100644
--- a/profiles/arch/arm64/package.use.stable.mask
+++ b/profiles/arch/arm64/package.use.stable.mask
@@ -6,6 +6,7 @@
 # Not overly worth extra stabilizations over new still scarcely used
 # colour filters. Can revisit if someone wants this.
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Sam James <[email protected]> (2025-11-30)
 # sci-libs/blis does not have stable keywords

diff --git a/profiles/arch/base/package.use.mask b/profiles/arch/base/package.use.mask
index 621aa956ec8d..1c2cdd38357d 100644
--- a/profiles/arch/base/package.use.mask
+++ b/profiles/arch/base/package.use.mask
@@ -17,6 +17,7 @@ llvm-runtimes/clang-runtime llvm_targets_AMDGPU llvm_targets_NVPTX
 # Ionen Wolkens <[email protected]> (2026-02-11)
 # net-libs/librist currently has very few keywords
 media-video/ffmpeg rist
+media-video/ffmpeg-compat rist
 
 # Andrey Grozin <[email protected]> (2026-01-08)
 # Needs dev-python/pyside[tools]

diff --git a/profiles/arch/hppa/package.use.mask b/profiles/arch/hppa/package.use.mask
index f3df1e2437f9..8083fb49bf9d 100644
--- a/profiles/arch/hppa/package.use.mask
+++ b/profiles/arch/hppa/package.use.mask
@@ -36,6 +36,7 @@ sys-fs/lvm2 thin
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is not keyworded here
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Sam James <[email protected]> (2026-02-11)
 # sys-libs/libnvme not keyworded here
@@ -285,6 +286,7 @@ media-libs/xine-lib dav1d
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # Sam James <[email protected]> (2022-03-06)
 # Unkeyworded dependencies

diff --git a/profiles/arch/loong/package.use.mask b/profiles/arch/loong/package.use.mask
index 85d28c1c6730..9167c650b98a 100644
--- a/profiles/arch/loong/package.use.mask
+++ b/profiles/arch/loong/package.use.mask
@@ -36,6 +36,7 @@ sys-fs/lvm2 vdo
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is not keyworded here
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Sam James <[email protected]> (2026-01-16)
 # Unkeyworded dependencies (bug #968238)

diff --git a/profiles/arch/m68k/package.use.mask b/profiles/arch/m68k/package.use.mask
index d27795374399..44b39144f285 100644
--- a/profiles/arch/m68k/package.use.mask
+++ b/profiles/arch/m68k/package.use.mask
@@ -59,6 +59,7 @@ sys-apps/systemd xkb
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # James Le Cuirot <[email protected]> (2022-01-09)
 # Most usage of KMS requires GBM, which is provided by Mesa, which currently

diff --git a/profiles/arch/mips/package.use.mask b/profiles/arch/mips/package.use.mask
index 241094833e8b..583d0aa5eef9 100644
--- a/profiles/arch/mips/package.use.mask
+++ b/profiles/arch/mips/package.use.mask
@@ -33,6 +33,7 @@ sys-fs/lvm2 vdo
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is not keyworded here
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Sam James <[email protected]> (2026-01-16)
 # Unkeyworded dependencies (bug #968238)
@@ -401,6 +402,7 @@ app-text/enchant nuspell
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # James Le Cuirot <[email protected]> (2022-02-24)
 # These GRUB platforms are only for MIPS.

diff --git a/profiles/arch/powerpc/package.use.mask b/profiles/arch/powerpc/package.use.mask
index cd7fc3e3ce56..d6ea18d90672 100644
--- a/profiles/arch/powerpc/package.use.mask
+++ b/profiles/arch/powerpc/package.use.mask
@@ -177,6 +177,7 @@ app-text/enchant nuspell
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # Sam James <[email protected]> (2021-11-15)
 # librtas is available on (only) ppc*

diff --git a/profiles/arch/powerpc/ppc32/package.use.mask b/profiles/arch/powerpc/ppc32/package.use.mask
index 858a41260035..29f802b28c89 100644
--- a/profiles/arch/powerpc/ppc32/package.use.mask
+++ b/profiles/arch/powerpc/ppc32/package.use.mask
@@ -32,6 +32,7 @@ dev-util/ccache http
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is not keyworded here
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Sam James <[email protected]> (2025-08-29)
 # net-misc/passt not yet keyworded here

diff --git a/profiles/arch/powerpc/ppc64/64le/package.use.mask b/profiles/arch/powerpc/ppc64/64le/package.use.mask
index caeeed7de465..78fde7d9df69 100644
--- a/profiles/arch/powerpc/ppc64/64le/package.use.mask
+++ b/profiles/arch/powerpc/ppc64/64le/package.use.mask
@@ -4,6 +4,7 @@
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is available on ppc64le
 media-video/ffmpeg -opencolorio
+media-video/ffmpeg-compat -opencolorio
 
 # Marek Szuba <[email protected]> (2023-12-05)
 # Needs USE=video_cards_amdgpu, which IS available on ppc64le.

diff --git a/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask b/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask
index 593e331a5000..6b13fc3ba95e 100644
--- a/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask
+++ b/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask
@@ -6,6 +6,7 @@
 # Not overly worth extra stabilizations over new still scarcely used
 # colour filters. Can revisit if someone wants this.
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Georgy Yakovlev <[email protected]> (2021-05-07)
 # openjfx:8 will never be stabilized

diff --git a/profiles/arch/powerpc/ppc64/package.use.mask b/profiles/arch/powerpc/ppc64/package.use.mask
index e80b3cf5922c..5980ae80b651 100644
--- a/profiles/arch/powerpc/ppc64/package.use.mask
+++ b/profiles/arch/powerpc/ppc64/package.use.mask
@@ -12,6 +12,7 @@ net-irc/quassel urlpreview
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is masked on ppc64(be)
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Andreas Sturmlechner <[email protected]> (2026-02-14)
 # <dev-cpp/opentelemetry-cpp-1.10 not keyworded here, bug #961188

diff --git a/profiles/arch/s390/package.use.mask b/profiles/arch/s390/package.use.mask
index d9420c406ce4..5bfd05c0413c 100644
--- a/profiles/arch/s390/package.use.mask
+++ b/profiles/arch/s390/package.use.mask
@@ -309,6 +309,7 @@ app-portage/nattka depgraph-order
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # Sam James <[email protected]> (2021-11-05)
 # Avoid keywording unnecessary depenencies for now, bug #804115

diff --git a/profiles/arch/sparc/package.use.mask b/profiles/arch/sparc/package.use.mask
index 8338fb89558f..4f596628ce57 100644
--- a/profiles/arch/sparc/package.use.mask
+++ b/profiles/arch/sparc/package.use.mask
@@ -41,6 +41,7 @@ sys-fs/lvm2 vdo
 # Ionen Wolkens <[email protected]> (2026-03-16)
 # media-libs/opencolorio is not keyworded here
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Jaco Kroon <[email protected]> (2026-02-06)
 # Requires sys-auth/libyubikey
@@ -404,6 +405,7 @@ media-libs/freetype svg
 # Adel Kara Slimane <adel.ks-wxtQsps/[email protected]> (2022-03-14)
 # Untested useflag on other arches, needs keywording
 media-video/ffmpeg vmaf
+media-video/ffmpeg-compat vmaf
 
 # Sam James <[email protected]> (2022-03-06)
 # Unkeyworded dependencies

diff --git a/profiles/arch/x86/package.use.stable.mask b/profiles/arch/x86/package.use.stable.mask
index ccf0d8a983cd..e0da09f0a1bd 100644
--- a/profiles/arch/x86/package.use.stable.mask
+++ b/profiles/arch/x86/package.use.stable.mask
@@ -22,6 +22,7 @@
 # Not overly worth extra stabilizations over new still scarcely used
 # colour filters. Can revisit if someone wants this.
 media-video/ffmpeg opencolorio
+media-video/ffmpeg-compat opencolorio
 
 # Andreas Sturmlechner <[email protected]> (2025-12-13)
 # media-gfx/asymptote is not stable here, bug #961740