From 60df3956c6cd651b644e39cb310d3253c393f29b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 20:29:42 +0000 Subject: [PATCH 01/24] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- ffmpeg.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 4e59df4..bed9118 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -85,7 +85,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -858,6 +858,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 7.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Fri Jun 13 2025 Neal Gompa - 7.1.1-4 - Switch to regular upstream sources for package build - Enable more codecs From 9e25239d79749214dbf91088a4d5416c1a7f6ede Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 29 Jul 2025 12:36:02 +0200 Subject: [PATCH 02/24] Rebuilt for libplacebo --- ffmpeg.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index bed9118..5c05b43 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -85,7 +85,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -858,6 +858,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Tue Jul 29 2025 Nicolas Chauvet - 7.1.1-6 +- Rebuilt for libplacebo + * Wed Jul 23 2025 Fedora Release Engineering - 7.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 3c0fb7f11f0fa171f6b2edca086c2c255fc98825 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Fri, 1 Aug 2025 14:02:36 -0400 Subject: [PATCH 03/24] Always verify sources --- ffmpeg.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 5c05b43..c75c2b7 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,5 +1,4 @@ # For a complete build enable these two -%bcond upstream_tarball 0 %bcond all_codecs 0 # Break dependency cycles by disabling certain optional dependencies. @@ -85,7 +84,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -530,9 +529,7 @@ pixel format conversion operations. This subpackage contains the headers for FFmpeg libswscale. %prep -%if %{with upstream_tarball} %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%endif %autosetup -S git_am install -m 0644 %{SOURCE20} enable_decoders @@ -858,6 +855,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Fri Aug 01 2025 Neal Gompa - 7.1.1-7 +- Always verify sources + * Tue Jul 29 2025 Nicolas Chauvet - 7.1.1-6 - Rebuilt for libplacebo From fab40474b5d24e80fbd8de58e2af24478001c708 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Fri, 1 Aug 2025 14:05:58 -0400 Subject: [PATCH 04/24] Fix bcond comments --- ffmpeg.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index c75c2b7..636f34e 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,11 +1,11 @@ -# For a complete build enable these two +# For a complete build enable this %bcond all_codecs 0 # Break dependency cycles by disabling certain optional dependencies. %bcond bootstrap 0 -# If you want to do a build with the upstream source tarball, then set the -# pkg_suffix to %%nil. We can't handle this with a conditional, as srpm +# If building with all codecs, then set the pkg_suffix to %%nil. +# We can't handle this with a conditional, as srpm # generation would not take it into account. %global pkg_suffix -free From 0b12983802af68a24509e9c7479c21bfb2881254 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Wed, 20 Aug 2025 20:40:56 -0400 Subject: [PATCH 05/24] Reorganize spec to group subpackage definitions together - Add freeworld conditional for third-party builds - Drop unneeded scriptlets --- ffmpeg.spec | 285 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 184 insertions(+), 101 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 636f34e..7ac845b 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -9,6 +9,17 @@ # generation would not take it into account. %global pkg_suffix -free +# For alternative builds (do not enable in Fedora!) +%bcond freeworld 0 + +%if %{with freeworld} +# Freeworld builds enable all codecs +%global with_all_codecs 1 +# Freeworld builds do not need a package suffix +%global pkg_suffix %{nil} +%global basepkg_suffix -free +%endif + # Fails due to asm issue %ifarch %{ix86} %{arm} %bcond lto 0 @@ -84,7 +95,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -271,6 +282,8 @@ community or a corporation. This build of ffmpeg is limited in the number of codecs supported. %endif +%dnl -------------------------------------------------------------------------------- + %if "x%{?pkg_suffix}" != "x" %package -n %{pkg_name} Summary: A complete solution to record, convert and stream audio and video @@ -298,6 +311,18 @@ This build of ffmpeg is limited in the number of codecs supported. #/ "x%%{?pkg_suffix}" != "x" %endif +%files -n %{pkg_name} +%doc CREDITS README.md +%{_bindir}/ffmpeg +%{_bindir}/ffplay +%{_bindir}/ffprobe +%{_mandir}/man1/ff*.1* +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/ffprobe.xsd +%{_datadir}/%{name}/libvpx-*.ffpreset + +%dnl -------------------------------------------------------------------------------- + %package -n %{pkg_name}-devel Summary: Development package for %{name} Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} @@ -317,6 +342,12 @@ machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. +%files -n %{pkg_name}-devel +%doc MAINTAINERS doc/APIchanges doc/*.txt +%doc _doc/examples + +%dnl -------------------------------------------------------------------------------- + %package -n libavcodec%{?pkg_suffix} Summary: FFmpeg codec library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -334,6 +365,12 @@ subtitle streams, and several bitstream filters. This build of ffmpeg is limited in the number of codecs supported. %endif +%files -n libavcodec%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libavcodec%{?pkg_suffix}-devel Summary: Development files for FFmpeg's codec library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} @@ -347,6 +384,43 @@ subtitle streams, and several bitstream filters. This subpackage contains the headers for FFmpeg libavcodec. +%files -n libavcodec%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavcodec +%{_libdir}/pkgconfig/libavcodec.pc +%{_libdir}/libavcodec.so +%{_mandir}/man3/libavcodec.3* + +%dnl -------------------------------------------------------------------------------- + +%if %{with freeworld} +%package -n libavcodec-freeworld +Summary: FFmpeg codec library - freeworld overlay +Requires: libavutil%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +Requires: libswresample%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +Supplements: libavcodec%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +# We require libopenh264 library, which has a dummy implementation and a real one +# In the event that this is being installed, we want to install this version +Requires: openh264%{_isa} + +%description -n libavcodec-freeworld +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +This build includes the full range of codecs offered by ffmpeg. + +%files -n libavcodec-freeworld +%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf +%{_libdir}/%{name}/libavcodec.so.%{av_codec_soversion}{,.*} + +# Re-enable ldconfig_scriptlets macros +%{!?ldconfig:%global ldconfig /sbin/ldconfig} +%ldconfig_scriptlets -n libavcodec-freeworld + +%endif + +%dnl -------------------------------------------------------------------------------- + %package -n libavdevice%{?pkg_suffix} Summary: FFmpeg device library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -360,6 +434,12 @@ and rendering to many common multimedia input/output devices, and supports several input and output devices, including Video4Linux2, VfW, DShow, and ALSA. +%files -n libavdevice%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libavdevice%{?pkg_suffix}-devel Summary: Development files for FFmpeg's device library Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} @@ -380,6 +460,14 @@ DShow, and ALSA. This subpackage contains the headers for FFmpeg libavdevice. +%files -n libavdevice%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavdevice +%{_libdir}/pkgconfig/libavdevice.pc +%{_libdir}/libavdevice.so +%{_mandir}/man3/libavdevice.3* + +%dnl -------------------------------------------------------------------------------- + %package -n libavfilter%{?pkg_suffix} Summary: FFmpeg audio and video filtering library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -393,6 +481,12 @@ Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} The libavfilter library provides a generic audio/video filtering framework containing several filters, sources and sinks. +%files -n libavfilter%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libavfilter%{?pkg_suffix}-devel Summary: Development files for FFmpeg's audio/video filter library Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} @@ -410,6 +504,14 @@ framework containing several filters, sources and sinks. This subpackage contains the headers for FFmpeg libavfilter. +%files -n libavfilter%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavfilter +%{_libdir}/pkgconfig/libavfilter.pc +%{_libdir}/libavfilter.so +%{_mandir}/man3/libavfilter.3* + +%dnl -------------------------------------------------------------------------------- + %package -n libavformat%{?pkg_suffix} Summary: FFmpeg's stream format library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -425,6 +527,12 @@ container formats. This build of ffmpeg is limited in the number of codecs supported. %endif +%files -n libavformat%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavformat.so.%{av_format_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libavformat%{?pkg_suffix}-devel Summary: Development files for FFmpeg's stream format library Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} @@ -441,6 +549,14 @@ container formats. This subpackage contains the headers for FFmpeg libavformat. +%files -n libavformat%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavformat +%{_libdir}/pkgconfig/libavformat.pc +%{_libdir}/libavformat.so +%{_mandir}/man3/libavformat.3* + +%dnl -------------------------------------------------------------------------------- + %package -n libavutil%{?pkg_suffix} Summary: FFmpeg's utility library Group: System/Libraries @@ -452,6 +568,12 @@ number generators, data structures, additional mathematics functions, cryptography and multimedia related functionality (like enumerations for pixel and sample formats). +%files -n libavutil%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavutil.so.%{av_util_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libavutil%{?pkg_suffix}-devel Summary: Development files for FFmpeg's utility library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -466,6 +588,14 @@ for pixel and sample formats). This subpackage contains the headers for FFmpeg libavutil. +%files -n libavutil%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavutil +%{_libdir}/pkgconfig/libavutil.pc +%{_libdir}/libavutil.so +%{_mandir}/man3/libavutil.3* + +%dnl -------------------------------------------------------------------------------- + %package -n libpostproc%{?pkg_suffix} Summary: FFmpeg post-processing library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -475,6 +605,12 @@ A library with video postprocessing filters, such as deblocking and deringing filters, noise reduction, automatic contrast and brightness correction, linear/cubic interpolating deinterlacing. +%files -n libpostproc%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libpostproc.so.%{postproc_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libpostproc%{?pkg_suffix}-devel Summary: Development files for the FFmpeg post-processing library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} @@ -488,6 +624,13 @@ correction, linear/cubic interpolating deinterlacing. This subpackage contains the headers for FFmpeg libpostproc. +%files -n libpostproc%{?pkg_suffix}-devel +%{_includedir}/%{name}/libpostproc +%{_libdir}/pkgconfig/libpostproc.pc +%{_libdir}/libpostproc.so + +%dnl -------------------------------------------------------------------------------- + %package -n libswresample%{?pkg_suffix} Summary: FFmpeg software resampling library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -496,6 +639,12 @@ Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} The libswresample library performs audio conversion between different sample rates, channel layout and channel formats. +%files -n libswresample%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libswresample.so.%{swresample_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libswresample%{?pkg_suffix}-devel Summary: Development files for the FFmpeg software resampling library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} @@ -507,6 +656,14 @@ sample rates, channel layout and channel formats. This subpackage contains the headers for FFmpeg libswresample. +%files -n libswresample%{?pkg_suffix}-devel +%{_includedir}/%{name}/libswresample +%{_libdir}/pkgconfig/libswresample.pc +%{_libdir}/libswresample.so +%{_mandir}/man3/libswresample.3* + +%dnl -------------------------------------------------------------------------------- + %package -n libswscale%{?pkg_suffix} Summary: FFmpeg image scaling and colorspace/pixel conversion library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -515,6 +672,12 @@ Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} The libswscale library performs image scaling and colorspace and pixel format conversion operations. +%files -n libswscale%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libswscale.so.%{swscale_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + %package -n libswscale%{?pkg_suffix}-devel Summary: Development files for FFmpeg's image scaling and colorspace library Provides: libswscale%{?pkg_suffix}-devel = %{version}-%{release} @@ -528,6 +691,14 @@ pixel format conversion operations. This subpackage contains the headers for FFmpeg libswscale. +%files -n libswscale%{?pkg_suffix}-devel +%{_includedir}/%{name}/libswscale +%{_libdir}/pkgconfig/libswscale.pc +%{_libdir}/libswscale.so +%{_mandir}/man3/libswscale.3* + +%dnl -------------------------------------------------------------------------------- + %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' @@ -752,109 +923,21 @@ done # We will package is as %%doc in the devel package rm -rf %{buildroot}%{_datadir}/%{name}/examples -%ldconfig_scriptlets -n libavcodec%{?pkg_suffix} -%ldconfig_scriptlets -n libavdevice%{?pkg_suffix} -%ldconfig_scriptlets -n libavfilter%{?pkg_suffix} -%ldconfig_scriptlets -n libavformat%{?pkg_suffix} -%ldconfig_scriptlets -n libavutil%{?pkg_suffix} -%ldconfig_scriptlets -n libpostproc%{?pkg_suffix} -%ldconfig_scriptlets -n libswresample%{?pkg_suffix} -%ldconfig_scriptlets -n libswscle%{?pkg_suffix} +%if %{with freeworld} +# Install the libavcodec freeworld counterpart +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +mkdir -p %{buildroot}%{_libdir}/%{name} +echo -e "%{_libdir}/%{name}\n" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf +cp -pa %{buildroot}%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} %{buildroot}%{_libdir}/%{name} +%endif -%files -n %{pkg_name} -%doc CREDITS README.md -%{_bindir}/ffmpeg -%{_bindir}/ffplay -%{_bindir}/ffprobe -%{_mandir}/man1/ff*.1* -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/ffprobe.xsd -%{_datadir}/%{name}/libvpx-*.ffpreset - -%files -n %{pkg_name}-devel -%doc MAINTAINERS doc/APIchanges doc/*.txt -%doc _doc/examples - -%files -n libavcodec%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} - -%files -n libavcodec%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavcodec -%{_libdir}/pkgconfig/libavcodec.pc -%{_libdir}/libavcodec.so -%{_mandir}/man3/libavcodec.3* - -%files -n libavdevice%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*} - -%files -n libavdevice%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavdevice -%{_libdir}/pkgconfig/libavdevice.pc -%{_libdir}/libavdevice.so -%{_mandir}/man3/libavdevice.3* - -%files -n libavfilter%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*} - -%files -n libavfilter%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavfilter -%{_libdir}/pkgconfig/libavfilter.pc -%{_libdir}/libavfilter.so -%{_mandir}/man3/libavfilter.3* - -%files -n libavformat%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavformat.so.%{av_format_soversion}{,.*} - -%files -n libavformat%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavformat -%{_libdir}/pkgconfig/libavformat.pc -%{_libdir}/libavformat.so -%{_mandir}/man3/libavformat.3* - -%files -n libavutil%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavutil.so.%{av_util_soversion}{,.*} - -%files -n libavutil%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavutil -%{_libdir}/pkgconfig/libavutil.pc -%{_libdir}/libavutil.so -%{_mandir}/man3/libavutil.3* - -%files -n libpostproc%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libpostproc.so.%{postproc_soversion}{,.*} - -%files -n libpostproc%{?pkg_suffix}-devel -%{_includedir}/%{name}/libpostproc -%{_libdir}/pkgconfig/libpostproc.pc -%{_libdir}/libpostproc.so - -%files -n libswresample%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libswresample.so.%{swresample_soversion}{,.*} - -%files -n libswresample%{?pkg_suffix}-devel -%{_includedir}/%{name}/libswresample -%{_libdir}/pkgconfig/libswresample.pc -%{_libdir}/libswresample.so -%{_mandir}/man3/libswresample.3* - -%files -n libswscale%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libswscale.so.%{swscale_soversion}{,.*} - -%files -n libswscale%{?pkg_suffix}-devel -%{_includedir}/%{name}/libswscale -%{_libdir}/pkgconfig/libswscale.pc -%{_libdir}/libswscale.so -%{_mandir}/man3/libswscale.3* %changelog +* Thu Aug 21 2025 Neal Gompa - 7.1.1-8 +- Reorganize spec to group subpackage definitions together +- Add freeworld conditional for third-party builds +- Drop unneeded scriptlets + * Fri Aug 01 2025 Neal Gompa - 7.1.1-7 - Always verify sources From 7396d13cc722db5fc1a08bb802ba4515491d5161 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 25 Aug 2025 09:32:19 -0400 Subject: [PATCH 06/24] Enable support for MPEG-5/EVC --- enable_decoders | 1 + enable_encoders | 1 + ffmpeg-support-evc-base-libraries.patch | 73 +++++++++++++++++++++++++ ffmpeg.spec | 28 +++++++--- 4 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 ffmpeg-support-evc-base-libraries.patch diff --git a/enable_decoders b/enable_decoders index d41f4e7..068cb34 100644 --- a/enable_decoders +++ b/enable_decoders @@ -219,6 +219,7 @@ libspeex # speex libvorbis # libvorbis libvpx_vp8 # libvpx libvpx_vp9 # libvpx +libxevd libzvbi_teletext # zvbi loco lscr diff --git a/enable_encoders b/enable_encoders index 17b8be3..6dbed60 100644 --- a/enable_encoders +++ b/enable_encoders @@ -96,6 +96,7 @@ libvpx_vp8 # libvpx libvpx_vp9 # libvpx libwebp # libwebp libwebp_anim # libwebp +libxeve libxvid # xvidcore mjpeg # mjpegtools mjpeg_qsv # mjpegtools diff --git a/ffmpeg-support-evc-base-libraries.patch b/ffmpeg-support-evc-base-libraries.patch new file mode 100644 index 0000000..add444f --- /dev/null +++ b/ffmpeg-support-evc-base-libraries.patch @@ -0,0 +1,73 @@ +From 80bf83e3099652a3e7f8d1e8b6d902fea1ce4db9 Mon Sep 17 00:00:00 2001 +From: James Almer +Date: Sun, 24 Aug 2025 15:57:16 -0300 +Subject: [PATCH] configure: support linking to base profile libxev{d,e} + +Addresses issue #20328. + +Signed-off-by: James Almer +--- + configure | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index aa41b2a7b3..5386ae8b9a 100755 +--- a/configure ++++ b/configure +@@ -299,7 +299,9 @@ External library support: + --enable-libx264 enable H.264 encoding via x264 [no] + --enable-libx265 enable HEVC encoding via x265 [no] + --enable-libxeve enable EVC encoding via libxeve [no] ++ --enable-libxeveb enable EVC encoding via libxeve (Base profile) [no] + --enable-libxevd enable EVC decoding via libxevd [no] ++ --enable-libxevdb enable EVC decoding via libxevd (Base profile) [no] + --enable-libxavs enable AVS encoding via xavs [no] + --enable-libxavs2 enable AVS2 encoding via xavs2 [no] + --enable-libxcb enable X11 grabbing using XCB [autodetect] +@@ -1992,7 +1994,9 @@ EXTERNAL_LIBRARY_LIST=" + libvvenc + libwebp + libxevd ++ libxevdb + libxeve ++ libxeveb + libxml2 + libzimg + libzmq +@@ -3669,8 +3673,8 @@ libx265_encoder_deps="libx265" + libx265_encoder_select="atsc_a53 dovi_rpuenc" + libxavs_encoder_deps="libxavs" + libxavs2_encoder_deps="libxavs2" +-libxevd_decoder_deps="libxevd" +-libxeve_encoder_deps="libxeve" ++libxevd_decoder_deps_any="libxevd libxevdb" ++libxeve_encoder_deps_any="libxeve libxeveb" + libxvid_encoder_deps="libxvid" + libzvbi_teletext_decoder_deps="libzvbi" + vapoursynth_demuxer_deps="vapoursynth" +@@ -4615,6 +4619,12 @@ enabled_all gnutls mbedtls && + enabled_all openssl mbedtls && + die "OpenSSL and mbedTLS must not be enabled at the same time." + ++enabled_all libxevd libxevdb && ++ die "libxevd and libxevdb must not be enabled at the same time." ++ ++enabled_all libxeve libxeveb && ++ die "libxeve and libxevdb must not be enabled at the same time." ++ + # Disable all the library-specific components if the library itself + # is disabled, see AVCODEC_LIST and following _LIST variables. + +@@ -7204,7 +7214,9 @@ enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get + enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" + enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get + enabled libxevd && require_pkg_config libxevd "xevd >= 0.4.1" "xevd.h" xevd_decode ++enabled libxevdb && require_pkg_config libxevdb "xevdb >= 0.4.1" "xevd.h" xevd_decode + enabled libxeve && require_pkg_config libxeve "xeve >= 0.5.1" "xeve.h" xeve_encode ++enabled libxeveb && require_pkg_config libxeveb "xeveb >= 0.5.1" "xeve.h" xeve_encode + enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore + enabled libzimg && require_pkg_config libzimg "zimg >= 2.7.0" zimg.h zimg_get_api_version + enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h zmq_ctx_new +-- +2.49.1 + diff --git a/ffmpeg.spec b/ffmpeg.spec index 7ac845b..7cc74cd 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -61,14 +61,15 @@ %bcond placebo 1 %endif +# For using an alternative build of EVC codecs +%bcond evc_main 0 + %if %{with all_codecs} -%bcond evc 1 %bcond rtmp 1 %bcond vvc 1 %bcond x264 1 %bcond x265 1 %else -%bcond evc 0 %bcond rtmp 0 %bcond vvc 0 %bcond x264 0 @@ -95,7 +96,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.1 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -112,6 +113,8 @@ Patch1: ffmpeg-codec-choice.patch # Allow to build with fdk-aac-free # See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 Patch2: ffmpeg-allow-fdk-aac-free.patch +# Support building with EVC base profile libraries +Patch3: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20329.patch#/ffmpeg-support-evc-base-libraries.patch # Backport fix for CVE-2025-22921 Patch10: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/7f9c7f9849a2155224711f0ff57ecdac6e4bfb57#/ffmpeg-CVE-2025-22921.patch @@ -256,9 +259,12 @@ BuildRequires: librtmp-devel %if %{with vpl} BuildRequires: pkgconfig(vpl) >= 2.6 %endif -%if %{with evc} -BuildRequires: pkgconfig(libxevd) -BuildRequires: pkgconfig(libxeve) +%if %{with evc_main} +BuildRequires: pkgconfig(xevd) +BuildRequires: pkgconfig(xeve) +%else +BuildRequires: pkgconfig(xevdb) +BuildRequires: pkgconfig(xeveb) %endif %if %{with x264} BuildRequires: pkgconfig(x264) @@ -832,9 +838,12 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-libvo-amrwbenc \ -%if %{with evc} +%if %{with evc_main} --enable-libxeve \ --enable-libxevd \ +%else + --enable-libxeveb \ + --enable-libxevdb \ %endif %if %{with x264} --enable-libx264 \ @@ -857,7 +866,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-hwaccels \ --disable-encoders \ --disable-decoders \ - --disable-decoder="h264,hevc,libxevd,vc1,vvc" \ + --disable-decoder="h264,hevc,vc1,vvc" \ --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' - 7.1.1-9 +- Enable support for MPEG-5/EVC + * Thu Aug 21 2025 Neal Gompa - 7.1.1-8 - Reorganize spec to group subpackage definitions together - Add freeworld conditional for third-party builds From 0ba015fad89d41da8c16275b1e715dd6f61d61f9 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Tue, 26 Aug 2025 14:28:33 -0400 Subject: [PATCH 07/24] Disable all subpackages except libavcodec-freeworld with the freeworld bcond --- ffmpeg.spec | 80 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 47 insertions(+), 33 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 7cc74cd..097be72 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -10,9 +10,9 @@ %global pkg_suffix -free # For alternative builds (do not enable in Fedora!) -%bcond freeworld 0 +%bcond freeworld_lavc 0 -%if %{with freeworld} +%if %{with freeworld_lavc} # Freeworld builds enable all codecs %global with_all_codecs 1 # Freeworld builds do not need a package suffix @@ -96,7 +96,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.1 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -290,6 +290,8 @@ This build of ffmpeg is limited in the number of codecs supported. %dnl -------------------------------------------------------------------------------- +%if ! %{with freeworld_lavc} + %if "x%{?pkg_suffix}" != "x" %package -n %{pkg_name} Summary: A complete solution to record, convert and stream audio and video @@ -398,35 +400,6 @@ This subpackage contains the headers for FFmpeg libavcodec. %dnl -------------------------------------------------------------------------------- -%if %{with freeworld} -%package -n libavcodec-freeworld -Summary: FFmpeg codec library - freeworld overlay -Requires: libavutil%{?basepkg_suffix}%{_isa} >= %{version}-%{release} -Requires: libswresample%{?basepkg_suffix}%{_isa} >= %{version}-%{release} -Supplements: libavcodec%{?basepkg_suffix}%{_isa} >= %{version}-%{release} -# We require libopenh264 library, which has a dummy implementation and a real one -# In the event that this is being installed, we want to install this version -Requires: openh264%{_isa} - -%description -n libavcodec-freeworld -The libavcodec library provides a generic encoding/decoding framework -and contains multiple decoders and encoders for audio, video and -subtitle streams, and several bitstream filters. - -This build includes the full range of codecs offered by ffmpeg. - -%files -n libavcodec-freeworld -%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf -%{_libdir}/%{name}/libavcodec.so.%{av_codec_soversion}{,.*} - -# Re-enable ldconfig_scriptlets macros -%{!?ldconfig:%global ldconfig /sbin/ldconfig} -%ldconfig_scriptlets -n libavcodec-freeworld - -%endif - -%dnl -------------------------------------------------------------------------------- - %package -n libavdevice%{?pkg_suffix} Summary: FFmpeg device library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -703,6 +676,38 @@ This subpackage contains the headers for FFmpeg libswscale. %{_libdir}/libswscale.so %{_mandir}/man3/libswscale.3* +%endif +# freeworld_lavc bcond + +%dnl -------------------------------------------------------------------------------- + +%if %{with freeworld_lavc} +%package -n libavcodec-freeworld +Summary: FFmpeg codec library - freeworld overlay +Requires: libavutil%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +Requires: libswresample%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +Supplements: libavcodec%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +# We require libopenh264 library, which has a dummy implementation and a real one +# In the event that this is being installed, we want to install this version +Requires: openh264%{_isa} + +%description -n libavcodec-freeworld +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +This build includes the full range of codecs offered by ffmpeg. + +%files -n libavcodec-freeworld +%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf +%{_libdir}/%{name}/libavcodec.so.%{av_codec_soversion}{,.*} + +# Re-enable ldconfig_scriptlets macros +%{!?ldconfig:%global ldconfig /sbin/ldconfig} +%ldconfig_scriptlets -n libavcodec-freeworld + +%endif + %dnl -------------------------------------------------------------------------------- %prep @@ -932,16 +937,25 @@ done # We will package is as %%doc in the devel package rm -rf %{buildroot}%{_datadir}/%{name}/examples -%if %{with freeworld} +%if %{with freeworld_lavc} # Install the libavcodec freeworld counterpart mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ mkdir -p %{buildroot}%{_libdir}/%{name} echo -e "%{_libdir}/%{name}\n" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf cp -pa %{buildroot}%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} %{buildroot}%{_libdir}/%{name} +# Drop unneeded stuff +rm -f %{buildroot}%{_libdir}/*.* +rm -rf %{buildroot}%{_libdir}/pkgconfig +rm -rf %{buildroot}%{_includedir} +rm -rf %{buildroot}%{_bindir} +rm -rf %{buildroot}%{_datadir} %endif %changelog +* Tue Aug 26 2025 Neal Gompa - 7.1.1-10 +- Disable all subpackages except libavcodec-freeworld with the freeworld bcond + * Mon Aug 25 2025 Neal Gompa - 7.1.1-9 - Enable support for MPEG-5/EVC From 35e66e7f448dc92e38013f3fe7c9d4371c3046bd Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Wed, 24 Sep 2025 09:53:14 +0200 Subject: [PATCH 08/24] Update to 7.1.2 --- ffmpeg.spec | 113 ++++++++++++++++++++++++++++++++++++---------------- sources | 4 +- 2 files changed, 80 insertions(+), 37 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 4e59df4..7e75293 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -84,8 +84,8 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 7.1.1 -Release: 4%{?dist} +Version: 7.1.2 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -134,6 +134,7 @@ BuildRequires: gsm-devel BuildRequires: ladspa-devel BuildRequires: lame-devel BuildRequires: libgcrypt-devel +BuildRequires: libklvanc-devel BuildRequires: libmysofa-devel BuildRequires: libX11-devel BuildRequires: libXext-devel @@ -558,30 +559,36 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --optflags="%{build_cflags}" \ --extra-ldflags="%{build_ldflags}" \ --disable-htmlpages \ - --enable-pic \ - --disable-stripping \ - --enable-shared \ --disable-static \ + --disable-stripping \ + --enable-pic \ + --enable-shared \ --enable-gpl \ --enable-version3 \ - --enable-libsmbclient \ - --disable-openssl \ + --enable-amf \ + --enable-avcodec \ + --enable-avdevice \ + --enable-avfilter \ + --enable-avformat \ + --enable-alsa \ --enable-bzlib \ - --enable-frei0r \ %if %{with chromaprint} --enable-chromaprint \ %else --disable-chromaprint \ %endif + --disable-cuda-nvcc \ + --enable-cuvid \ + --enable-frei0r \ --enable-gcrypt \ + --enable-gmp \ --enable-gnutls \ + --enable-gray \ + --enable-iconv \ --enable-ladspa \ %if %{with lcms2} --enable-lcms2 \ %endif - --enable-libshaderc \ - --enable-vulkan \ - --disable-cuda-sdk \ --enable-libaom \ --enable-libaribb24 \ --enable-libaribcaption \ @@ -592,6 +599,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libcdio \ --enable-libcodec2 \ --enable-libdav1d \ + --disable-libdavs2 \ %if %{with dc1394} --enable-libdc1394 \ %endif @@ -604,19 +612,26 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ - --enable-libharfbuzz \ --enable-libgme \ --enable-libgsm \ + --enable-libharfbuzz \ %if %{with dc1394} --enable-libiec61883 \ %endif --enable-libilbc \ --enable-libjack \ --enable-libjxl \ + --enable-libklvanc \ + --disable-liblensfun \ + --disable-liblcevc-dec \ --enable-liblc3 \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ + --disable-libnpp \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --disable-libopencv \ --enable-libopenh264 \ --enable-libopenjpeg \ --enable-libopenmpt \ @@ -626,63 +641,87 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ %endif --enable-libpulse \ --enable-libqrencode \ + --disable-libquirc \ --enable-librabbitmq \ --enable-librav1e \ --enable-librist \ --enable-librsvg \ +%if %{with librtmp} + --enable-librtmp \ +%endif --enable-librubberband \ + --enable-libshaderc \ + --disable-libshine \ + --enable-libsmbclient \ --enable-libsnappy \ --enable-libsvtav1 \ --enable-libsoxr \ --enable-libspeex \ - --enable-libssh \ --enable-libsrt \ + --enable-libssh \ + --disable-libtensorflow \ --enable-libtesseract \ --enable-libtheora \ + --disable-libtorch \ + --disable-libuavs3d \ --enable-libtwolame \ + --enable-libv4l2 \ --enable-libvidstab \ %if %{with vmaf} --enable-libvmaf \ %endif + --enable-libvo-amrwbenc \ --enable-libvorbis \ - --enable-libv4l2 \ - --enable-libvpx \ - --enable-libwebp \ - --enable-libxml2 \ - --enable-libzimg \ - --enable-libzmq \ - --enable-libzvbi \ -%if %{with lto} - --enable-lto \ -%endif %if %{with vpl} --enable-libvpl \ %endif - --enable-lv2 \ - --enable-vaapi \ - --enable-vdpau \ - --enable-libopencore-amrnb \ - --enable-libopencore-amrwb \ - --enable-libvo-amrwbenc \ -%if %{with evc} - --enable-libxeve \ - --enable-libxevd \ -%endif + --enable-libvpx \ + --enable-libwebp \ %if %{with x264} --enable-libx264 \ %endif %if %{with x265} --enable-libx265 \ %endif -%if %{with librtmp} - --enable-librtmp \ + --disable-libxavs2 \ + --disable-libxavs \ + --enable-libxcb \ + --enable-libxcb-shape \ + --enable-libxcb-shm \ + --enable-libxcb-xfixes \ +%if %{with evc} + --enable-libxeve \ + --enable-libxevd \ %endif + --enable-libxml2 \ --enable-libxvid \ + --enable-libzimg \ + --enable-libzmq \ + --enable-libzvbi \ +%if %{with lto} + --enable-lto \ +%endif + --enable-lv2 \ + --enable-lzma \ + --enable-manpages \ + --enable-nvdec \ + --enable-nvenc \ --enable-openal \ --enable-opencl \ --enable-opengl \ + --enable-postproc \ --enable-pthreads \ + --enable-sdl2 \ + --enable-shared \ + --enable-swresample \ + --enable-swscale \ + --enable-v4l2-m2m \ + --enable-vaapi \ --enable-vapoursynth \ + --enable-vdpau \ + --enable-vulkan \ + --enable-xlib \ + --enable-zlib \ %if %{without all_codecs} --enable-muxers \ --enable-demuxers \ @@ -858,6 +897,10 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Wed Sep 24 2025 Simone Caronni - 7.1.2-1 +- Update to 7.1.2. +- Enable VANC processing for SDI. + * Fri Jun 13 2025 Neal Gompa - 7.1.1-4 - Switch to regular upstream sources for package build - Enable more codecs diff --git a/sources b/sources index 418c9f0..7ed04be 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (ffmpeg-7.1.1.tar.xz) = 42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a -SHA512 (ffmpeg-7.1.1.tar.xz.asc) = 480846fd939d00f2ea90c0256081519a6996c7a990d0f66444a7ae1bce2e5ad6380f5d751efc9bde18da9c4d34738ade57dd66288b989dfd074c484562e20e75 +SHA512 (ffmpeg-7.1.2.tar.xz) = 181e6415da359e3addbc448ff09b5cebe57d9c37106e5125c41f484adebc250502fc9efe150cb117d7378e20830715035be94c2ba4ad7c369b18af85f1a4ca20 +SHA512 (ffmpeg-7.1.2.tar.xz.asc) = b0358cea13be070a0d41b42e98c5df17ab8794b86a5f8b2a4bf0043e608a21b02fdbaad2bc3318457a9c43ef0d3c823509234ffd7292e6ea49b1eff951663f58 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From dfb360917578a456711d4f1435c749adab4414a5 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Wed, 24 Sep 2025 10:41:53 +0200 Subject: [PATCH 09/24] Adjust options --- ffmpeg.spec | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ffmpeg.spec b/ffmpeg.spec index 7e75293..f95bcb8 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -27,8 +27,10 @@ %ifarch s390 s390x %bcond dc1394 0 +%bcond ffnvcodec 0 %else %bcond dc1394 1 +%bcond ffnvcodec 1 %endif %if 0%{?rhel} @@ -578,7 +580,9 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --disable-chromaprint \ %endif --disable-cuda-nvcc \ +%if %{with ffnvcodec} --enable-cuvid \ +%endif --enable-frei0r \ --enable-gcrypt \ --enable-gmp \ @@ -704,11 +708,14 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-lv2 \ --enable-lzma \ --enable-manpages \ +%if %{with ffnvcodec} --enable-nvdec \ --enable-nvenc \ +%endif --enable-openal \ --enable-opencl \ --enable-opengl \ + --disable-openssl \ --enable-postproc \ --enable-pthreads \ --enable-sdl2 \ @@ -900,6 +907,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples * Wed Sep 24 2025 Simone Caronni - 7.1.2-1 - Update to 7.1.2. - Enable VANC processing for SDI. +- Explicitly list all implicitly enabled/disabled options. * Fri Jun 13 2025 Neal Gompa - 7.1.1-4 - Switch to regular upstream sources for package build From faccd9b81acd779530745cdd5ae437c5439ee958 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Wed, 24 Sep 2025 11:33:37 +0200 Subject: [PATCH 10/24] Add missing option --- ffmpeg.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ffmpeg.spec b/ffmpeg.spec index f95bcb8..7118f4f 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -583,6 +583,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ %if %{with ffnvcodec} --enable-cuvid \ %endif + --disable-decklink \ --enable-frei0r \ --enable-gcrypt \ --enable-gmp \ From 5917b714a19abefcfa2cfbec15b28b33e4b41a04 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Wed, 24 Sep 2025 18:05:39 +0200 Subject: [PATCH 11/24] Update to 7.1.2, adjust options --- ffmpeg.spec | 131 ++++++++++++++++++++++++++++++++++++---------------- sources | 4 +- 2 files changed, 92 insertions(+), 43 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 097be72..d17e2d3 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -37,8 +37,10 @@ %ifarch s390 s390x %bcond dc1394 0 +%bcond ffnvcodec 0 %else %bcond dc1394 1 +%bcond ffnvcodec 1 %endif %if 0%{?rhel} @@ -95,8 +97,8 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 7.1.1 -Release: 10%{?dist} +Version: 7.1.2 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -147,6 +149,7 @@ BuildRequires: gsm-devel BuildRequires: ladspa-devel BuildRequires: lame-devel BuildRequires: libgcrypt-devel +BuildRequires: libklvanc-devel BuildRequires: libmysofa-devel BuildRequires: libX11-devel BuildRequires: libXext-devel @@ -737,30 +740,39 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --optflags="%{build_cflags}" \ --extra-ldflags="%{build_ldflags}" \ --disable-htmlpages \ - --enable-pic \ - --disable-stripping \ - --enable-shared \ --disable-static \ + --disable-stripping \ + --enable-pic \ + --enable-shared \ --enable-gpl \ --enable-version3 \ - --enable-libsmbclient \ - --disable-openssl \ + --enable-amf \ + --enable-avcodec \ + --enable-avdevice \ + --enable-avfilter \ + --enable-avformat \ + --enable-alsa \ --enable-bzlib \ - --enable-frei0r \ %if %{with chromaprint} --enable-chromaprint \ %else --disable-chromaprint \ %endif + --disable-cuda-nvcc \ +%if %{with ffnvcodec} + --enable-cuvid \ +%endif + --disable-decklink \ + --enable-frei0r \ --enable-gcrypt \ + --enable-gmp \ --enable-gnutls \ + --enable-gray \ + --enable-iconv \ --enable-ladspa \ %if %{with lcms2} --enable-lcms2 \ %endif - --enable-libshaderc \ - --enable-vulkan \ - --disable-cuda-sdk \ --enable-libaom \ --enable-libaribb24 \ --enable-libaribcaption \ @@ -771,6 +783,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libcdio \ --enable-libcodec2 \ --enable-libdav1d \ + --disable-libdavs2 \ %if %{with dc1394} --enable-libdc1394 \ %endif @@ -783,8 +796,8 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ - --enable-libharfbuzz \ --enable-libgme \ + --enable-libharfbuzz \ --enable-libgsm \ %if %{with dc1394} --enable-libiec61883 \ @@ -792,10 +805,17 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libilbc \ --enable-libjack \ --enable-libjxl \ + --enable-libklvanc \ + --disable-liblensfun \ + --disable-liblcevc-dec \ --enable-liblc3 \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ + --disable-libnpp \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --disable-libopencv \ --enable-libopenh264 \ --enable-libopenjpeg \ --enable-libopenmpt \ @@ -805,44 +825,54 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ %endif --enable-libpulse \ --enable-libqrencode \ + --disable-libquirc \ --enable-librabbitmq \ --enable-librav1e \ --enable-librist \ --enable-librsvg \ +%if %{with librtmp} + --enable-librtmp \ +%endif --enable-librubberband \ + --enable-libshaderc \ + --disable-libshine \ + --enable-libsmbclient \ --enable-libsnappy \ --enable-libsvtav1 \ --enable-libsoxr \ --enable-libspeex \ - --enable-libssh \ --enable-libsrt \ + --enable-libssh \ + --disable-libtensorflow \ --enable-libtesseract \ --enable-libtheora \ + --disable-libtorch \ + --disable-libuavs3d \ --enable-libtwolame \ + --enable-libv4l2 \ --enable-libvidstab \ %if %{with vmaf} --enable-libvmaf \ %endif + --enable-libvo-amrwbenc \ --enable-libvorbis \ - --enable-libv4l2 \ - --enable-libvpx \ - --enable-libwebp \ - --enable-libxml2 \ - --enable-libzimg \ - --enable-libzmq \ - --enable-libzvbi \ -%if %{with lto} - --enable-lto \ -%endif %if %{with vpl} --enable-libvpl \ %endif - --enable-lv2 \ - --enable-vaapi \ - --enable-vdpau \ - --enable-libopencore-amrnb \ - --enable-libopencore-amrwb \ - --enable-libvo-amrwbenc \ + --enable-libvpx \ + --enable-libwebp \ +%if %{with x264} + --enable-libx264 \ +%endif +%if %{with x265} + --enable-libx265 \ +%endif + --disable-libxavs2 \ + --disable-libxavs \ + --enable-libxcb \ + --enable-libxcb-shape \ + --enable-libxcb-shm \ + --enable-libxcb-xfixes \ %if %{with evc_main} --enable-libxeve \ --enable-libxevd \ @@ -850,21 +880,35 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libxeveb \ --enable-libxevdb \ %endif -%if %{with x264} - --enable-libx264 \ -%endif -%if %{with x265} - --enable-libx265 \ -%endif -%if %{with librtmp} - --enable-librtmp \ -%endif + --enable-libxml2 \ --enable-libxvid \ - --enable-openal \ - --enable-opencl \ - --enable-opengl \ + --enable-libzimg \ + --enable-libzmq \ + --enable-libzvbi \ +%if %{with lto} + --enable-lto \ +%endif + --enable-lv2 \ + --enable-lzma \ + --enable-manpages \ +%if %{with ffnvcodec} + --enable-nvdec \ + --enable-nvenc \ +%endif + --disable-openssl \ + --enable-postproc \ --enable-pthreads \ + --enable-sdl2 \ + --enable-shared \ + --enable-swresample \ + --enable-swscale \ + --enable-v4l2-m2m \ + --enable-vaapi \ --enable-vapoursynth \ + --enable-vdpau \ + --enable-vulkan \ + --enable-xlib \ + --enable-zlib \ %if %{without all_codecs} --enable-muxers \ --enable-demuxers \ @@ -953,6 +997,11 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Wed Sep 24 2025 Simone Caronni - 7.1.2-1 +- Update to 7.1.2. +- Enable VANC processing for SDI. +- Explicitly list all implicitly enabled/disabled options. + * Tue Aug 26 2025 Neal Gompa - 7.1.1-10 - Disable all subpackages except libavcodec-freeworld with the freeworld bcond diff --git a/sources b/sources index 418c9f0..7ed04be 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (ffmpeg-7.1.1.tar.xz) = 42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a -SHA512 (ffmpeg-7.1.1.tar.xz.asc) = 480846fd939d00f2ea90c0256081519a6996c7a990d0f66444a7ae1bce2e5ad6380f5d751efc9bde18da9c4d34738ade57dd66288b989dfd074c484562e20e75 +SHA512 (ffmpeg-7.1.2.tar.xz) = 181e6415da359e3addbc448ff09b5cebe57d9c37106e5125c41f484adebc250502fc9efe150cb117d7378e20830715035be94c2ba4ad7c369b18af85f1a4ca20 +SHA512 (ffmpeg-7.1.2.tar.xz.asc) = b0358cea13be070a0d41b42e98c5df17ab8794b86a5f8b2a4bf0043e608a21b02fdbaad2bc3318457a9c43ef0d3c823509234ffd7292e6ea49b1eff951663f58 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From 85181b09206bdc30abe935016f44e8dad38855a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Thu, 2 Oct 2025 20:12:40 +0200 Subject: [PATCH 12/24] Rebuild for svt-av1 3.1.2 From ee4847dda671126244037405d5f942be46ba11ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Thu, 2 Oct 2025 20:17:02 +0200 Subject: [PATCH 13/24] Rebuild for svt-av1 3.1.2 --- ffmpeg.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index d17e2d3..1898d47 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -98,7 +98,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -997,6 +997,9 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Thu Oct 02 2025 Robert-André Mauchin - 7.1.2-2 +- Rebuild for svt-av1 soname bump + * Wed Sep 24 2025 Simone Caronni - 7.1.2-1 - Update to 7.1.2. - Enable VANC processing for SDI. From 98124ea009a37b1c55514a1d371a673609914400 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Mon, 29 Sep 2025 15:26:17 +0200 Subject: [PATCH 14/24] Exclude lc3 on RHEL --- ffmpeg.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index d17e2d3..a0fac33 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -47,11 +47,13 @@ # Disable dependencies not available or wanted on RHEL/EPEL %bcond chromaprint 0 %bcond flite 0 +%bcond lc3 0 %else # Break chromaprint dependency cycle (Fedora-only): # ffmpeg (libavcodec-free) → chromaprint → ffmpeg %bcond chromaprint %{?_with_bootstrap:0}%{!?_with_bootstrap:1} %bcond flite 1 +%bcond lc3 1 %endif %if 0%{?rhel} && 0%{?rhel} <= 9 @@ -177,7 +179,9 @@ BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libilbc) BuildRequires: pkgconfig(jack) -BuildRequires: pkgconfig(lc3) +%if %{with lc3} +BuildRequires: pkgconfig(lc3) >= 1.1.0 +%endif %if %{with lcms2} BuildRequires: pkgconfig(lcms2) >= 2.13 %endif @@ -808,7 +812,9 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libklvanc \ --disable-liblensfun \ --disable-liblcevc-dec \ +%if %{with lc3} --enable-liblc3 \ +%endif --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ From fa6957091f63420c19b7dd0dfca34c46b012ee5d Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Mon, 29 Sep 2025 15:26:17 +0200 Subject: [PATCH 15/24] Exclude lc3 on RHEL --- ffmpeg.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 7118f4f..e7e9061 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -37,11 +37,13 @@ # Disable dependencies not available or wanted on RHEL/EPEL %bcond chromaprint 0 %bcond flite 0 +%bcond lc3 0 %else # Break chromaprint dependency cycle (Fedora-only): # ffmpeg (libavcodec-free) → chromaprint → ffmpeg %bcond chromaprint %{?_with_bootstrap:0}%{!?_with_bootstrap:1} %bcond flite 1 +%bcond lc3 1 %endif %if 0%{?rhel} && 0%{?rhel} <= 9 @@ -164,7 +166,9 @@ BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libilbc) BuildRequires: pkgconfig(jack) -BuildRequires: pkgconfig(lc3) +%if %{with lc3} +BuildRequires: pkgconfig(lc3) >= 1.1.0 +%endif %if %{with lcms2} BuildRequires: pkgconfig(lcms2) >= 2.13 %endif @@ -629,7 +633,9 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libklvanc \ --disable-liblensfun \ --disable-liblcevc-dec \ +%if %{with lc3} --enable-liblc3 \ +%endif --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ From 7a2902320d368c722e4743a5e05ccc5db80b0bf0 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Sun, 2 Nov 2025 17:10:45 +0100 Subject: [PATCH 16/24] Re-enable OpenAL support which was disabled by accident Resolves rhbz#2404091 . Fixes: 5917b714a19abefcfa2cfbec15b28b33e4b41a04 --- ffmpeg.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index adb682a..4e5eb7f 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -100,7 +100,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 7.1.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -901,6 +901,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-nvdec \ --enable-nvenc \ %endif + --enable-openal \ --disable-openssl \ --enable-postproc \ --enable-pthreads \ @@ -1003,6 +1004,9 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Sun Nov 02 2025 Dominik Mierzejewski - 7.1.2-3 +- Re-enable openal support (dropped by accident in commit 5917b714, resolves rhbz#2404091) + * Thu Oct 02 2025 Robert-André Mauchin - 7.1.2-2 - Rebuild for svt-av1 soname bump From 2db297209ffa949d6e6120ea7bf8ee912ad4bade Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Thu, 30 Oct 2025 15:05:49 +0100 Subject: [PATCH 17/24] fix bootstrap conditional for chromaprint Reference: https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html#check-whether-an-option-is-enabled-or-disabled --- ffmpeg.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 4e5eb7f..e78c73d 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -51,7 +51,7 @@ %else # Break chromaprint dependency cycle (Fedora-only): # ffmpeg (libavcodec-free) → chromaprint → ffmpeg -%bcond chromaprint %{?_with_bootstrap:0}%{!?_with_bootstrap:1} +%bcond chromaprint %{?with_bootstrap:0}%{!?with_bootstrap:1} %bcond flite 1 %bcond lc3 1 %endif From 85d2ac244ec2e09f44a1dbd986e799428022ca3d Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 2 Nov 2025 12:45:07 -0500 Subject: [PATCH 18/24] Rebase to version 8.0 --- enable_decoders | 4 ++- enable_encoders | 3 +- ffmpeg-CVE-2025-22921.patch | 29 --------------- ffmpeg.spec | 71 +++++++++---------------------------- sources | 4 +-- 5 files changed, 23 insertions(+), 88 deletions(-) delete mode 100644 ffmpeg-CVE-2025-22921.patch diff --git a/enable_decoders b/enable_decoders index 068cb34..f558db4 100644 --- a/enable_decoders +++ b/enable_decoders @@ -69,6 +69,7 @@ anull apac ape apng # animated png +apv arbc argo ass # trivial @@ -210,7 +211,7 @@ libjxl # libjxl liblc3 # liblc3 libopencore_amrnb # opencore-amr libopencore_amrwb # opencore-amr -libopenh264 # openh264_dlopen +libopenh264 # openh264 libopenjpeg # openjpeg libopus # opus librsvg # librsvg @@ -335,6 +336,7 @@ pjs png # libpng ppm # trivial prores +prores_raw prosumer psd ptx diff --git a/enable_encoders b/enable_encoders index 6dbed60..ba284da 100644 --- a/enable_encoders +++ b/enable_encoders @@ -81,8 +81,9 @@ libilbc # ilbc libjxl # libjxl liblc3 # liblc3 libmp3lame # lame +liboapv libopencore_amrnb -libopenh264 # openh264_dlopen +libopenh264 # openh264 libopenjpeg # openjpeg libopus # opus librav1e # rav1e diff --git a/ffmpeg-CVE-2025-22921.patch b/ffmpeg-CVE-2025-22921.patch deleted file mode 100644 index 3a522c8..0000000 --- a/ffmpeg-CVE-2025-22921.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7f9c7f9849a2155224711f0ff57ecdac6e4bfb57 Mon Sep 17 00:00:00 2001 -From: James Almer -Date: Wed, 1 Jan 2025 23:58:39 -0300 -Subject: [PATCH] avcodec/jpeg2000dec: clear array length when freeing it - -Fixes NULL pointer dereferences. -Fixes ticket #11393. - -Reviewed-by: Michael Niedermayer -Signed-off-by: James Almer ---- - libavcodec/jpeg2000dec.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c -index e5e897a29f..b82d85d5ee 100644 ---- a/libavcodec/jpeg2000dec.c -+++ b/libavcodec/jpeg2000dec.c -@@ -1521,6 +1521,7 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, - } - } - av_freep(&cblk->lengthinc); -+ cblk->nb_lengthinc = 0; - } - } - // Save state of stream --- -2.48.1 - diff --git a/ffmpeg.spec b/ffmpeg.spec index e78c73d..d3cc161 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -87,20 +87,19 @@ # FIXME: GCC says there's incompatible pointer casts going on in libavdevice... %global build_type_safety_c 2 -%global av_codec_soversion 61 -%global av_device_soversion 61 -%global av_filter_soversion 10 -%global av_format_soversion 61 -%global av_util_soversion 59 -%global postproc_soversion 58 -%global swresample_soversion 5 -%global swscale_soversion 8 +%global av_codec_soversion 62 +%global av_device_soversion 62 +%global av_filter_soversion 11 +%global av_format_soversion 62 +%global av_util_soversion 60 +%global swresample_soversion 6 +%global swscale_soversion 9 Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 7.1.2 -Release: 3%{?dist} +Version: 8.0 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -120,9 +119,6 @@ Patch2: ffmpeg-allow-fdk-aac-free.patch # Support building with EVC base profile libraries Patch3: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20329.patch#/ffmpeg-support-evc-base-libraries.patch -# Backport fix for CVE-2025-22921 -Patch10: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/7f9c7f9849a2155224711f0ff57ecdac6e4bfb57#/ffmpeg-CVE-2025-22921.patch - # Add first_dts getter to libavformat for Chromium # See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127 # Reference: https://crbug.com/1306560 @@ -134,7 +130,6 @@ Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -217,6 +212,7 @@ BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libzmq) BuildRequires: pkgconfig(lilv-0) BuildRequires: pkgconfig(lv2) +BuildRequires: pkgconfig(oapv) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openal) BuildRequires: pkgconfig(opencore-amrnb) @@ -307,7 +303,6 @@ Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -345,7 +340,6 @@ Requires: libavdevice%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavfilter%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} Requires: pkgconfig @@ -432,7 +426,6 @@ Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavfilter%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -459,7 +452,6 @@ Summary: FFmpeg audio and video filtering library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -478,7 +470,6 @@ Summary: Development files for FFmpeg's audio/video filter library Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavfilter%{?pkg_suffix} = %{version}-%{release} @@ -546,6 +537,7 @@ This subpackage contains the headers for FFmpeg libavformat. %package -n libavutil%{?pkg_suffix} Summary: FFmpeg's utility library Group: System/Libraries +Obsoletes: libpostproc%{?pkg_suffix} < 8.0 %description -n libavutil%{?pkg_suffix} The libavutil library is a utility library to aid portable multimedia @@ -564,6 +556,7 @@ for pixel and sample formats). Summary: Development files for FFmpeg's utility library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig +Obsoletes: libpostproc%{?pkg_suffix}-devel < 8.0 %description -n libavutil%{?pkg_suffix}-devel The libavutil library is a utility library to aid portable multimedia @@ -582,41 +575,6 @@ This subpackage contains the headers for FFmpeg libavutil. %dnl -------------------------------------------------------------------------------- -%package -n libpostproc%{?pkg_suffix} -Summary: FFmpeg post-processing library -Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} - -%description -n libpostproc%{?pkg_suffix} -A library with video postprocessing filters, such as deblocking and -deringing filters, noise reduction, automatic contrast and brightness -correction, linear/cubic interpolating deinterlacing. - -%files -n libpostproc%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libpostproc.so.%{postproc_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - -%package -n libpostproc%{?pkg_suffix}-devel -Summary: Development files for the FFmpeg post-processing library -Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} -Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} -Requires: pkgconfig - -%description -n libpostproc%{?pkg_suffix}-devel -A library with video postprocessing filters, such as deblocking and -deringing filters, noise reduction, automatic contrast and brightness -correction, linear/cubic interpolating deinterlacing. - -This subpackage contains the headers for FFmpeg libpostproc. - -%files -n libpostproc%{?pkg_suffix}-devel -%{_includedir}/%{name}/libpostproc -%{_libdir}/pkgconfig/libpostproc.pc -%{_libdir}/libpostproc.so - -%dnl -------------------------------------------------------------------------------- - %package -n libswresample%{?pkg_suffix} Summary: FFmpeg software resampling library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -822,6 +780,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --disable-libopencv \ + --enable-liboapv \ --enable-libopenh264 \ --enable-libopenjpeg \ --enable-libopenmpt \ @@ -903,7 +862,6 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ %endif --enable-openal \ --disable-openssl \ - --enable-postproc \ --enable-pthreads \ --enable-sdl2 \ --enable-shared \ @@ -1004,6 +962,9 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Sun Nov 02 2025 Neal Gompa - 8.0-1 +- Rebase to version 8.0 + * Sun Nov 02 2025 Dominik Mierzejewski - 7.1.2-3 - Re-enable openal support (dropped by accident in commit 5917b714, resolves rhbz#2404091) diff --git a/sources b/sources index 7ed04be..088db29 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (ffmpeg-7.1.2.tar.xz) = 181e6415da359e3addbc448ff09b5cebe57d9c37106e5125c41f484adebc250502fc9efe150cb117d7378e20830715035be94c2ba4ad7c369b18af85f1a4ca20 -SHA512 (ffmpeg-7.1.2.tar.xz.asc) = b0358cea13be070a0d41b42e98c5df17ab8794b86a5f8b2a4bf0043e608a21b02fdbaad2bc3318457a9c43ef0d3c823509234ffd7292e6ea49b1eff951663f58 +SHA512 (ffmpeg-8.0.tar.xz) = 96f01fc3b881e208e8d35d858b2f60627f298b06103195e3e753b1c6429810d7a484d4daeebad6d0810172616383d103dfb5fcadc4512726c3719800d24a3fde +SHA512 (ffmpeg-8.0.tar.xz.asc) = a3faf35b62d149dd7a8f77a417b4046c50216972696fd8a573538550f29000d53b80caa5d7b81778c65dbb2980482cb111b13afc5ff70934f46cbafc3c4fd639 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From 28d758506e4d08e63e430a3798c7984b98df0b40 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 4 Nov 2025 13:50:01 +0100 Subject: [PATCH 19/24] bootstrap for chromaprint --- ffmpeg.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index d3cc161..46a22aa 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -2,7 +2,7 @@ %bcond all_codecs 0 # Break dependency cycles by disabling certain optional dependencies. -%bcond bootstrap 0 +%bcond bootstrap 1 # If building with all codecs, then set the pkg_suffix to %%nil. # We can't handle this with a conditional, as srpm From 333dc69736d36d2d166ff5a676080531ac889660 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 4 Nov 2025 13:51:34 +0100 Subject: [PATCH 20/24] unbootstrap, rebuild with new chromaprint --- ffmpeg.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 46a22aa..d3cc161 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -2,7 +2,7 @@ %bcond all_codecs 0 # Break dependency cycles by disabling certain optional dependencies. -%bcond bootstrap 1 +%bcond bootstrap 0 # If building with all codecs, then set the pkg_suffix to %%nil. # We can't handle this with a conditional, as srpm From 2364ea43f4ab637a1a88ec7bf26c79c081b2fdda Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Fri, 14 Nov 2025 08:12:10 -0500 Subject: [PATCH 21/24] Disable lc3 only on RHEL 10 --- ffmpeg.spec | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index d3cc161..69d7b41 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -47,13 +47,11 @@ # Disable dependencies not available or wanted on RHEL/EPEL %bcond chromaprint 0 %bcond flite 0 -%bcond lc3 0 %else # Break chromaprint dependency cycle (Fedora-only): # ffmpeg (libavcodec-free) → chromaprint → ffmpeg %bcond chromaprint %{?with_bootstrap:0}%{!?with_bootstrap:1} %bcond flite 1 -%bcond lc3 1 %endif %if 0%{?rhel} && 0%{?rhel} <= 9 @@ -65,6 +63,14 @@ %bcond placebo 1 %endif +%if 0%{?el10} +# Disable temporarily while we want for liblc3 to be upgraded +# Cf. https://issues.redhat.com/browse/RHEL-127169 +%bcond lc3 0 +%else +%bcond lc3 1 +%endif + # For using an alternative build of EVC codecs %bcond evc_main 0 @@ -99,7 +105,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 8.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -962,6 +968,9 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Fri Nov 14 2025 Neal Gompa - 8.0-2 +- Disable lc3 only on RHEL 10 + * Sun Nov 02 2025 Neal Gompa - 8.0-1 - Rebase to version 8.0 From 2cb206c8d54ecfd9f267acec127a749eeb849c18 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Fri, 21 Nov 2025 10:12:19 +0100 Subject: [PATCH 22/24] Update to 8.0.1 (resolves rhbz#2416044) --- ffmpeg.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 69d7b41..e679685 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -104,8 +104,8 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 8.0 -Release: 2%{?dist} +Version: 8.0.1 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -968,6 +968,9 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Fri Nov 21 2025 Dominik Mierzejewski - 8.0.1-1 +- Update to 8.0.1 (resolves rhbz#2416044) + * Fri Nov 14 2025 Neal Gompa - 8.0-2 - Disable lc3 only on RHEL 10 diff --git a/sources b/sources index 088db29..193e4da 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (ffmpeg-8.0.tar.xz) = 96f01fc3b881e208e8d35d858b2f60627f298b06103195e3e753b1c6429810d7a484d4daeebad6d0810172616383d103dfb5fcadc4512726c3719800d24a3fde -SHA512 (ffmpeg-8.0.tar.xz.asc) = a3faf35b62d149dd7a8f77a417b4046c50216972696fd8a573538550f29000d53b80caa5d7b81778c65dbb2980482cb111b13afc5ff70934f46cbafc3c4fd639 +SHA512 (ffmpeg-8.0.1.tar.xz) = 7af5cd1c7ba04f8d7ea1b54b64b9c235f2a606dc0c18d25cfdf20958bcad4851d3265b4894fc6ba5dd205c2309971c7e7fb890ee1d64e0a41a3faf159f77957f +SHA512 (ffmpeg-8.0.1.tar.xz.asc) = f56e9e89ecdf9f12e3dae90b52289e5d09bfbfc0f6e13aaf17da9330c138fdb62b132f856c2fd16f5d9f5d6bcf1725602c8781c3e5f07bda6ce1306c379792ab SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From 081db52026945d8a8a7976618cf75da87025cf5f Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Fri, 21 Nov 2025 06:07:44 -0500 Subject: [PATCH 23/24] Split configure step to conf stage --- ffmpeg.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index e679685..95df96b 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -692,7 +692,7 @@ sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure install -m0755 -d _doc/examples cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ -%build +%conf %set_build_flags # This is not a normal configure script, don't use %%configure @@ -942,6 +942,9 @@ for i in H264 HEVC; do done %endif +%build +%set_build_flags + %make_build V=1 %make_build documentation V=1 %make_build alltools V=1 @@ -970,6 +973,7 @@ rm -rf %{buildroot}%{_datadir} %changelog * Fri Nov 21 2025 Dominik Mierzejewski - 8.0.1-1 - Update to 8.0.1 (resolves rhbz#2416044) +- Split configure step to conf stage * Fri Nov 14 2025 Neal Gompa - 8.0-2 - Disable lc3 only on RHEL 10 From 62079f0ff3ba9a41d498e04627021f5a8d7653cb Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 4 Dec 2025 18:15:51 +0100 Subject: [PATCH 24/24] disable dc1394 and ffnvcodec on risc-v --- ffmpeg.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 95df96b..fa9a894 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -35,7 +35,7 @@ %bcond vmaf 0 %endif -%ifarch s390 s390x +%ifarch s390 s390x riscv64 %bcond dc1394 0 %bcond ffnvcodec 0 %else @@ -105,7 +105,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 8.0.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPL-3.0-or-later URL: https://ffmpeg.org/ @@ -971,6 +971,9 @@ rm -rf %{buildroot}%{_datadir} %changelog +* Thu Dec 04 2025 Marcin Juszkiewicz - 8.0.1-2 +- disable dc1394 and ffnvcodec on risc-v + * Fri Nov 21 2025 Dominik Mierzejewski - 8.0.1-1 - Update to 8.0.1 (resolves rhbz#2416044) - Split configure step to conf stage