commit:     1e1baa011f5afccf122c9d24545eae9834aa47c8
Author:     Leonardo Hernández Hernández <leohdz172 <AT> proton <DOT> me>
AuthorDate: Wed Nov 15 20:14:05 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 17:35:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e1baa01

media-video/ffmpeg: wire up vulkan filters

Signed-off-by: Leonardo Hernández Hernández <leohdz172 <AT> proton.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../{ffmpeg-6.1.ebuild => ffmpeg-4.4.4-r8.ebuild}  | 79 ++++++++++------------
 .../{ffmpeg-6.1.ebuild => ffmpeg-5.1.4-r1.ebuild}  | 51 +++++++-------
 media-video/ffmpeg/ffmpeg-6.1.ebuild               | 14 ++--
 media-video/ffmpeg/ffmpeg-9999.ebuild              | 14 ++--
 media-video/ffmpeg/metadata.xml                    |  2 +
 5 files changed, 80 insertions(+), 80 deletions(-)

diff --git a/media-video/ffmpeg/ffmpeg-6.1.ebuild 
b/media-video/ffmpeg/ffmpeg-4.4.4-r8.ebuild
similarity index 89%
copy from media-video/ffmpeg/ffmpeg-6.1.ebuild
copy to media-video/ffmpeg/ffmpeg-4.4.4-r8.ebuild
index 2f76b30f7342..8cdd98613c21 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r8.ebuild
@@ -12,7 +12,7 @@ EAPI=8
 # changes its ABI then this package will be rebuilt needlessly. Hence, such a
 # package is free _not_ to := depend on FFmpeg but I would strongly encourage
 # doing so since such a case is unlikely.
-FFMPEG_SUBSLOT=58.60.60
+FFMPEG_SUBSLOT=56.58.58
 
 SCM=""
 if [ "${PV#9999}" != "${PV}" ] ; then
@@ -64,7 +64,7 @@ LICENSE="
        samba? ( GPL-3 )
 "
 if [ "${PV#9999}" = "${PV}" ] ; then
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc 
~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc 
~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
 fi
 
 # Options to use as use_enable in the foo[:bar] form.
@@ -83,16 +83,15 @@ FFMPEG_FLAG_MAP=(
                libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
                # decoders
                amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 
+dav1d:libdav1d fdk:libfdk-aac
-               jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme 
gsm:libgsm
-               libaribb24 mmal modplug:libmodplug opus:libopus qsv:libvpl 
libilbc librtmp ssh:libssh
+               jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+               libaribb24 mmal modplug:libmodplug opus:libopus qsv:libmfx 
libilbc librtmp ssh:libssh
                speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
                vorbis:libvorbis vpx:libvpx zvbi:libzvbi
                # libavfilter options
                appkit
-               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r 
vmaf:libvmaf
-               fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass 
libplacebo libtesseract lv2
-               truetype:libfreetype truetype:libharfbuzz vidstab:libvidstab
-               rubberband:librubberband zeromq:libzmq zimg:libzimg
+               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r 
fribidi:libfribidi
+               fontconfig glslang:libglslang ladspa libass libtesseract lv2 
truetype:libfreetype
+               vidstab:libvidstab vmaf:libvmaf rubberband:librubberband 
zeromq:libzmq zimg:libzimg
                # libswresample options
                libsoxr
                # Threads; we only support pthread for now but ffmpeg supports 
more
@@ -101,8 +100,8 @@ FFMPEG_FLAG_MAP=(
 
 # Same as above but for encoders, i.e. they do something only with USE=encode.
 FFMPEG_ENCODER_FLAG_MAP=(
-       amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom     mp3:libmp3lame
-       openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+       amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+       openh264:libopenh264 rav1e:librav1e     snappy:libsnappy 
svt-av1:libsvtav1
        theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
        x265:libx265 xvid:libxvid
 )
@@ -193,13 +192,13 @@ RDEPEND="
        cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
        chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
        codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
-       dav1d? ( >=media-libs/dav1d-0.5.0:0=[${MULTILIB_USEDEP}] )
+       dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
        encode? (
                amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] 
)
-               kvazaar? ( >=media-libs/kvazaar-2.0.0[${MULTILIB_USEDEP}] )
+               kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
                mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
                openh264? ( 
>=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
-               rav1e? ( >=media-video/rav1e-0.5:=[capi] )
+               rav1e? ( >=media-video/rav1e-0.4:=[capi] )
                snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
                theora? (
                        >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
@@ -217,6 +216,7 @@ RDEPEND="
        frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
        fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
        gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+       glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
        gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
        gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
        gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
@@ -231,16 +231,13 @@ RDEPEND="
                >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
        )
        jack? ( virtual/jack[${MULTILIB_USEDEP}] )
-       jpeg2k? ( >=media-libs/openjpeg-2.1:2=[${MULTILIB_USEDEP}] )
-       jpegxl? ( >=media-libs/libjxl-0.7.0[$MULTILIB_USEDEP] )
-       lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
+       jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
        libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
        libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
-       libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] )
+       libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
        libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
        libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
        libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
-       libplacebo? ( >=media-libs/libplacebo-4.192.0:=[$MULTILIB_USEDEP] )
        librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
        libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
        libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
@@ -252,44 +249,41 @@ RDEPEND="
        modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
        openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
        opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
-       opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
+       opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
        opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
-       pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-       qsv? ( media-libs/oneVPL[${MULTILIB_USEDEP}] )
+       pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+       qsv? ( media-libs/intel-mediasdk[${MULTILIB_USEDEP}] )
        rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
        samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
        sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
        speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
        srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
-       ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+       ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
        svg? (
                gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
                x11-libs/cairo[${MULTILIB_USEDEP}]
        )
        nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
-       svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
-       truetype? (
-               >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
-               media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
-       )
+       svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] )
+       truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
        vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
        vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
        vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
-       vmaf? ( >=media-libs/libvmaf-2.0.0[${MULTILIB_USEDEP}] )
+       vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] )
        vorbis? (
                >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
                >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
        )
        vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
-       vulkan? ( >=media-libs/vulkan-loader-1.3.255:=[${MULTILIB_USEDEP}] )
+       vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] )
        X? (
                >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
                >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
                >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
                >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
        )
-       zeromq? ( >=net-libs/zeromq-4.2.1:= )
+       zeromq? ( >=net-libs/zeromq-4.1.6 )
        zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
        zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
        zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
@@ -304,7 +298,6 @@ DEPEND="${RDEPEND}
        amf? ( media-libs/amf-headers )
        ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
        v4l? ( sys-kernel/linux-headers )
-       vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
 "
 
 # += for verify-sig above
@@ -333,8 +326,9 @@ GPL_REQUIRED_USE="
 "
 REQUIRED_USE="
        cuda? ( nvenc )
-       libv4l? ( v4l )
        fftools_cws2fws? ( zlib )
+       glslang? ( vulkan )
+       libv4l? ( v4l )
        test? ( encode )
        ${GPL_REQUIRED_USE}
        ${CPU_REQUIRED_USE}"
@@ -347,6 +341,12 @@ S=${WORKDIR}/${P/_/-}
 
 PATCHES=(
        "${FILESDIR}"/chromium-r1.patch
+       "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
+       "${FILESDIR}"/${PN}-4.4.3-clang-14-ff_seek_frame_binary-crash.patch
+       "${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
+       "${FILESDIR}"/${PN}-4.4.4-wint-conversion-vulkan.patch
+       "${FILESDIR}"/${P}-fix-build-svt-av1-1.5.0.patch
+       "${FILESDIR}"/${PN}-5.1.3-binutils-2.41.patch
 )
 
 MULTILIB_WRAPPED_HEADERS=(
@@ -376,6 +376,8 @@ src_prepare() {
                export revision=git-N-${FFMPEG_REVISION}
        fi
 
+       eapply "${FILESDIR}/vmaf-models-default-path.patch"
+
        default
 
        # -fdiagnostics-color=auto gets appended after user flags which
@@ -436,7 +438,6 @@ multilib_src_configure() {
 
        if use openssl ; then
                myconf+=( --disable-gnutls )
-               has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 
)
        fi
 
        # (temporarily) disable non-multilib deps
@@ -450,8 +451,6 @@ multilib_src_configure() {
        for i in "${CPU_FEATURES_MAP[@]}" ; do
                use ${i%:*} || myconf+=( --disable-${i#*:} )
        done
-       # Bug #917277, #917278
-       myconf+=( --disable-dotprod --disable-i8mm )
 
        if use pic ; then
                myconf+=( --enable-pic )
@@ -473,17 +472,13 @@ multilib_src_configure() {
        done
 
        # LTO support, bug #566282, bug #754654, bug #772854
-       if [[ ${ABI} != x86 ]] && is-flagq "-flto*"; then
-               # Respect -flto value, e.g -flto=thin
-               local v="$(get-flag flto)"
-               [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( 
"--enable-lto" )
-       fi
+       [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
        filter-lto
 
        # Mandatory configuration
        myconf=(
-               --disable-libaribcaption # libaribcaption is not packaged (yet?)
                --enable-avfilter
+               --enable-avresample
                --disable-stripping
                # This is only for hardcoded cflags; those are used in 
configure checks that may
                # interfere with proper detections, bug #671746 and bug #645778
@@ -574,7 +569,7 @@ multilib_src_compile() {
 }
 
 multilib_src_test() {
-       
LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil"
 \
+       
LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample"
 \
                emake V=1 fate -k
 }
 

diff --git a/media-video/ffmpeg/ffmpeg-6.1.ebuild 
b/media-video/ffmpeg/ffmpeg-5.1.4-r1.ebuild
similarity index 93%
copy from media-video/ffmpeg/ffmpeg-6.1.ebuild
copy to media-video/ffmpeg/ffmpeg-5.1.4-r1.ebuild
index 2f76b30f7342..255803ae6dee 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-5.1.4-r1.ebuild
@@ -12,7 +12,7 @@ EAPI=8
 # changes its ABI then this package will be rebuilt needlessly. Hence, such a
 # package is free _not_ to := depend on FFmpeg but I would strongly encourage
 # doing so since such a case is unlikely.
-FFMPEG_SUBSLOT=58.60.60
+FFMPEG_SUBSLOT=57.59.59
 
 SCM=""
 if [ "${PV#9999}" != "${PV}" ] ; then
@@ -84,15 +84,15 @@ FFMPEG_FLAG_MAP=(
                # decoders
                amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 
+dav1d:libdav1d fdk:libfdk-aac
                jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme 
gsm:libgsm
-               libaribb24 mmal modplug:libmodplug opus:libopus qsv:libvpl 
libilbc librtmp ssh:libssh
+               libaribb24 mmal modplug:libmodplug opus:libopus qsv:libmfx 
libilbc librtmp ssh:libssh
                speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
                vorbis:libvorbis vpx:libvpx zvbi:libzvbi
                # libavfilter options
                appkit
-               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r 
vmaf:libvmaf
-               fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass 
libplacebo libtesseract lv2
-               truetype:libfreetype truetype:libharfbuzz vidstab:libvidstab
-               rubberband:librubberband zeromq:libzmq zimg:libzimg
+               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite 
fontconfig frei0r
+               fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass 
libplacebo
+               libtesseract lv2 rubberband:librubberband  shaderc:libshaderc 
truetype:libfreetype
+               vmaf:libvmaf vidstab:libvidstab zeromq:libzmq zimg:libzimg
                # libswresample options
                libsoxr
                # Threads; we only support pthread for now but ffmpeg supports 
more
@@ -193,13 +193,13 @@ RDEPEND="
        cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
        chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
        codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
-       dav1d? ( >=media-libs/dav1d-0.5.0:0=[${MULTILIB_USEDEP}] )
+       dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
        encode? (
                amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] 
)
-               kvazaar? ( >=media-libs/kvazaar-2.0.0[${MULTILIB_USEDEP}] )
+               kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
                mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
                openh264? ( 
>=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
-               rav1e? ( >=media-video/rav1e-0.5:=[capi] )
+               rav1e? ( >=media-video/rav1e-0.4:=[capi] )
                snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
                theora? (
                        >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
@@ -217,6 +217,7 @@ RDEPEND="
        frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
        fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
        gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+       glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
        gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
        gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
        gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
@@ -231,7 +232,7 @@ RDEPEND="
                >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
        )
        jack? ( virtual/jack[${MULTILIB_USEDEP}] )
-       jpeg2k? ( >=media-libs/openjpeg-2.1:2=[${MULTILIB_USEDEP}] )
+       jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
        jpegxl? ( >=media-libs/libjxl-0.7.0[$MULTILIB_USEDEP] )
        lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
        libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
@@ -255,24 +256,22 @@ RDEPEND="
        opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
        opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
        pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
-       qsv? ( media-libs/oneVPL[${MULTILIB_USEDEP}] )
+       qsv? ( media-libs/intel-mediasdk[${MULTILIB_USEDEP}] )
        rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
        samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
        sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+       shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
        speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
        srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
-       ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+       ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
        svg? (
                gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
                x11-libs/cairo[${MULTILIB_USEDEP}]
        )
        nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
        svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
-       truetype? (
-               >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
-               media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
-       )
+       truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
        vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
        vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
        vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
@@ -282,14 +281,14 @@ RDEPEND="
                >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
        )
        vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
-       vulkan? ( >=media-libs/vulkan-loader-1.3.255:=[${MULTILIB_USEDEP}] )
+       vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] )
        X? (
                >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
                >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
                >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
                >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
        )
-       zeromq? ( >=net-libs/zeromq-4.2.1:= )
+       zeromq? ( >=net-libs/zeromq-4.1.6 )
        zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
        zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
        zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
@@ -304,7 +303,6 @@ DEPEND="${RDEPEND}
        amf? ( media-libs/amf-headers )
        ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
        v4l? ( sys-kernel/linux-headers )
-       vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
 "
 
 # += for verify-sig above
@@ -333,8 +331,10 @@ GPL_REQUIRED_USE="
 "
 REQUIRED_USE="
        cuda? ( nvenc )
-       libv4l? ( v4l )
        fftools_cws2fws? ( zlib )
+       glslang? ( vulkan !shaderc )
+       libv4l? ( v4l )
+       shaderc? ( vulkan !glslang )
        test? ( encode )
        ${GPL_REQUIRED_USE}
        ${CPU_REQUIRED_USE}"
@@ -347,6 +347,8 @@ S=${WORKDIR}/${P/_/-}
 
 PATCHES=(
        "${FILESDIR}"/chromium-r1.patch
+       "${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.patch
+       "${FILESDIR}"/${PN}-6.0-libplacebo-remove-deprecated-field.patch
 )
 
 MULTILIB_WRAPPED_HEADERS=(
@@ -450,8 +452,6 @@ multilib_src_configure() {
        for i in "${CPU_FEATURES_MAP[@]}" ; do
                use ${i%:*} || myconf+=( --disable-${i#*:} )
        done
-       # Bug #917277, #917278
-       myconf+=( --disable-dotprod --disable-i8mm )
 
        if use pic ; then
                myconf+=( --enable-pic )
@@ -473,16 +473,11 @@ multilib_src_configure() {
        done
 
        # LTO support, bug #566282, bug #754654, bug #772854
-       if [[ ${ABI} != x86 ]] && is-flagq "-flto*"; then
-               # Respect -flto value, e.g -flto=thin
-               local v="$(get-flag flto)"
-               [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( 
"--enable-lto" )
-       fi
+       [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
        filter-lto
 
        # Mandatory configuration
        myconf=(
-               --disable-libaribcaption # libaribcaption is not packaged (yet?)
                --enable-avfilter
                --disable-stripping
                # This is only for hardcoded cflags; those are used in 
configure checks that may

diff --git a/media-video/ffmpeg/ffmpeg-6.1.ebuild 
b/media-video/ffmpeg/ffmpeg-6.1.ebuild
index 2f76b30f7342..bd944e4eb312 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.ebuild
@@ -89,10 +89,10 @@ FFMPEG_FLAG_MAP=(
                vorbis:libvorbis vpx:libvpx zvbi:libzvbi
                # libavfilter options
                appkit
-               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r 
vmaf:libvmaf
-               fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass 
libplacebo libtesseract lv2
-               truetype:libfreetype truetype:libharfbuzz vidstab:libvidstab
-               rubberband:librubberband zeromq:libzmq zimg:libzimg
+               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite 
fontconfig frei0r
+               fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass 
libplacebo
+               libtesseract lv2 rubberband:librubberband shaderc:libshaderc 
truetype:libfreetype
+               truetype:libharfbuzz vidstab:libvidstab vmaf:libvmaf 
zeromq:libzmq zimg:libzimg
                # libswresample options
                libsoxr
                # Threads; we only support pthread for now but ffmpeg supports 
more
@@ -217,6 +217,7 @@ RDEPEND="
        frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
        fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
        gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+       glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
        gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
        gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
        gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
@@ -259,6 +260,7 @@ RDEPEND="
        rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
        samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
        sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+       shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
        speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
        srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
@@ -333,8 +335,10 @@ GPL_REQUIRED_USE="
 "
 REQUIRED_USE="
        cuda? ( nvenc )
-       libv4l? ( v4l )
        fftools_cws2fws? ( zlib )
+       glslang? ( vulkan !shaderc )
+       libv4l? ( v4l )
+       shaderc? ( vulkan !glslang )
        test? ( encode )
        ${GPL_REQUIRED_USE}
        ${CPU_REQUIRED_USE}"

diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild 
b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 2f76b30f7342..bd944e4eb312 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -89,10 +89,10 @@ FFMPEG_FLAG_MAP=(
                vorbis:libvorbis vpx:libvpx zvbi:libzvbi
                # libavfilter options
                appkit
-               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r 
vmaf:libvmaf
-               fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass 
libplacebo libtesseract lv2
-               truetype:libfreetype truetype:libharfbuzz vidstab:libvidstab
-               rubberband:librubberband zeromq:libzmq zimg:libzimg
+               bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite 
fontconfig frei0r
+               fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass 
libplacebo
+               libtesseract lv2 rubberband:librubberband shaderc:libshaderc 
truetype:libfreetype
+               truetype:libharfbuzz vidstab:libvidstab vmaf:libvmaf 
zeromq:libzmq zimg:libzimg
                # libswresample options
                libsoxr
                # Threads; we only support pthread for now but ffmpeg supports 
more
@@ -217,6 +217,7 @@ RDEPEND="
        frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
        fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
        gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+       glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
        gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
        gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
        gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
@@ -259,6 +260,7 @@ RDEPEND="
        rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
        samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
        sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+       shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
        speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
        srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
@@ -333,8 +335,10 @@ GPL_REQUIRED_USE="
 "
 REQUIRED_USE="
        cuda? ( nvenc )
-       libv4l? ( v4l )
        fftools_cws2fws? ( zlib )
+       glslang? ( vulkan !shaderc )
+       libv4l? ( v4l )
+       shaderc? ( vulkan !glslang )
        test? ( encode )
        ${GPL_REQUIRED_USE}
        ${CPU_REQUIRED_USE}"

diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml
index 14fb807be699..2539b5e20a6d 100644
--- a/media-video/ffmpeg/metadata.xml
+++ b/media-video/ffmpeg/metadata.xml
@@ -24,6 +24,7 @@
                <flag name="fribidi">Enables fribidi support in the drawtext 
filter.</flag>
                <flag name="gcrypt">Enables gcrypt support: Needed for rtmp(t)e 
support if openssl, librtmp or gmp is not used.</flag>
                <flag name="gme">Enables support for 
<pkg>media-libs/game-music-emu</pkg> for playing various video game music 
formats.</flag>
+        <flag name="glslang">Use <pkg>dev-util/glslang</pkg> to compile 
GLSL</flag>
                <flag name="gpl">Build GPL code. Should be enabled unless you 
require LGPL binaries.</flag>
                <flag name="hardcoded-tables">
                        Use pre-calculated tables rather than calculating them 
on the fly.
@@ -62,6 +63,7 @@
                <flag name="postproc">Build and install libpostproc.</flag>
                <flag name="rav1e">Enables AV1 encoding support via 
<pkg>media-video/rav1e</pkg>.</flag>
                <flag name="rubberband">Adds time-stretching and pitch-shifting 
audio filter based on <pkg>media-libs/rubberband</pkg>.</flag>
+        <flag name="shaderc">Use <pkg>media-libs/shaderc</pkg> to compile 
GLSL</flag>
                <flag name="snappy">Enable <pkg>app-arch/snappy</pkg> support. 
Required for e.g. Vidvox Hap encoder.</flag>
                <flag name="sndio">Enable support for the 
<pkg>media-sound/sndio</pkg> backend</flag>
                <flag name="srt">Enable support for Secure Reliable Transport 
(SRT) via <pkg>net-libs/srt</pkg></flag>

Reply via email to