diff --git a/enable_decoders b/enable_decoders index f558db4..d41f4e7 100644 --- a/enable_decoders +++ b/enable_decoders @@ -69,7 +69,6 @@ anull apac ape apng # animated png -apv arbc argo ass # trivial @@ -211,7 +210,7 @@ libjxl # libjxl liblc3 # liblc3 libopencore_amrnb # opencore-amr libopencore_amrwb # opencore-amr -libopenh264 # openh264 +libopenh264 # openh264_dlopen libopenjpeg # openjpeg libopus # opus librsvg # librsvg @@ -220,7 +219,6 @@ libspeex # speex libvorbis # libvorbis libvpx_vp8 # libvpx libvpx_vp9 # libvpx -libxevd libzvbi_teletext # zvbi loco lscr @@ -336,7 +334,6 @@ pjs png # libpng ppm # trivial prores -prores_raw prosumer psd ptx diff --git a/enable_encoders b/enable_encoders index ba284da..17b8be3 100644 --- a/enable_encoders +++ b/enable_encoders @@ -81,9 +81,8 @@ libilbc # ilbc libjxl # libjxl liblc3 # liblc3 libmp3lame # lame -liboapv libopencore_amrnb -libopenh264 # openh264 +libopenh264 # openh264_dlopen libopenjpeg # openjpeg libopus # opus librav1e # rav1e @@ -97,7 +96,6 @@ libvpx_vp8 # libvpx libvpx_vp9 # libvpx libwebp # libwebp libwebp_anim # libwebp -libxeve libxvid # xvidcore mjpeg # mjpegtools mjpeg_qsv # mjpegtools diff --git a/ffmpeg-CVE-2025-22921.patch b/ffmpeg-CVE-2025-22921.patch new file mode 100644 index 0000000..3a522c8 --- /dev/null +++ b/ffmpeg-CVE-2025-22921.patch @@ -0,0 +1,29 @@ +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-support-evc-base-libraries.patch b/ffmpeg-support-evc-base-libraries.patch deleted file mode 100644 index add444f..0000000 --- a/ffmpeg-support-evc-base-libraries.patch +++ /dev/null @@ -1,73 +0,0 @@ -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 fa9a894..e7e9061 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,25 +1,15 @@ -# For a complete build enable this +# For a complete build enable these two +%bcond upstream_tarball 0 %bcond all_codecs 0 # Break dependency cycles by disabling certain optional dependencies. %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 +# 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 # generation would not take it into account. %global pkg_suffix -free -# For alternative builds (do not enable in Fedora!) -%bcond freeworld_lavc 0 - -%if %{with freeworld_lavc} -# 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 @@ -35,7 +25,7 @@ %bcond vmaf 0 %endif -%ifarch s390 s390x riscv64 +%ifarch s390 s390x %bcond dc1394 0 %bcond ffnvcodec 0 %else @@ -47,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 chromaprint %{?_with_bootstrap:0}%{!?_with_bootstrap:1} %bcond flite 1 +%bcond lc3 1 %endif %if 0%{?rhel} && 0%{?rhel} <= 9 @@ -63,23 +55,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 - %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 @@ -93,19 +76,20 @@ # FIXME: GCC says there's incompatible pointer casts going on in libavdevice... %global build_type_safety_c 2 -%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 +%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 Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 8.0.1 -Release: 2%{?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/ @@ -122,8 +106,9 @@ 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 # Add first_dts getter to libavformat for Chromium # See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127 @@ -136,6 +121,7 @@ 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} @@ -218,7 +204,6 @@ 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) @@ -268,12 +253,9 @@ BuildRequires: librtmp-devel %if %{with vpl} BuildRequires: pkgconfig(vpl) >= 2.6 %endif -%if %{with evc_main} -BuildRequires: pkgconfig(xevd) -BuildRequires: pkgconfig(xeve) -%else -BuildRequires: pkgconfig(xevdb) -BuildRequires: pkgconfig(xeveb) +%if %{with evc} +BuildRequires: pkgconfig(libxevd) +BuildRequires: pkgconfig(libxeve) %endif %if %{with x264} BuildRequires: pkgconfig(x264) @@ -297,10 +279,6 @@ community or a corporation. This build of ffmpeg is limited in the number of codecs supported. %endif -%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 @@ -309,6 +287,7 @@ 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} @@ -327,18 +306,6 @@ 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} @@ -346,6 +313,7 @@ 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 @@ -357,12 +325,6 @@ 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} @@ -380,12 +342,6 @@ 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} @@ -399,14 +355,6 @@ 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 -------------------------------------------------------------------------------- - %package -n libavdevice%{?pkg_suffix} Summary: FFmpeg device library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -420,18 +368,13 @@ 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} 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} @@ -445,19 +388,12 @@ 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} 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} @@ -465,17 +401,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} 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} @@ -487,14 +418,6 @@ 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} @@ -510,12 +433,6 @@ 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} @@ -532,18 +449,9 @@ 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 -Obsoletes: libpostproc%{?pkg_suffix} < 8.0 %description -n libavutil%{?pkg_suffix} The libavutil library is a utility library to aid portable multimedia @@ -552,17 +460,10 @@ 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} 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 @@ -573,13 +474,27 @@ 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* +%package -n libpostproc%{?pkg_suffix} +Summary: FFmpeg post-processing library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -%dnl -------------------------------------------------------------------------------- +%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. + +%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. %package -n libswresample%{?pkg_suffix} Summary: FFmpeg software resampling library @@ -589,12 +504,6 @@ 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} @@ -606,14 +515,6 @@ 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} @@ -622,12 +523,6 @@ 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} @@ -641,48 +536,10 @@ 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* - -%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 +%if %{with upstream_tarball} %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%endif %autosetup -S git_am install -m 0644 %{SOURCE20} enable_decoders @@ -692,7 +549,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/ -%conf +%build %set_build_flags # This is not a normal configure script, don't use %%configure @@ -765,8 +622,8 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libfreetype \ --enable-libfribidi \ --enable-libgme \ - --enable-libharfbuzz \ --enable-libgsm \ + --enable-libharfbuzz \ %if %{with dc1394} --enable-libiec61883 \ %endif @@ -786,7 +643,6 @@ 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 \ @@ -844,12 +700,9 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libxcb-shape \ --enable-libxcb-shm \ --enable-libxcb-xfixes \ -%if %{with evc_main} +%if %{with evc} --enable-libxeve \ --enable-libxevd \ -%else - --enable-libxeveb \ - --enable-libxevdb \ %endif --enable-libxml2 \ --enable-libxvid \ @@ -867,7 +720,10 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-nvenc \ %endif --enable-openal \ + --enable-opencl \ + --enable-opengl \ --disable-openssl \ + --enable-postproc \ --enable-pthreads \ --enable-sdl2 \ --enable-shared \ @@ -886,7 +742,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-hwaccels \ --disable-encoders \ --disable-decoders \ - --disable-decoder="h264,hevc,vc1,vvc" \ + --disable-decoder="h264,hevc,libxevd,vc1,vvc" \ --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' %{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 +%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} +%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 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 - -* 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 - -* 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 - * 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 - -* Mon Aug 25 2025 Neal Gompa - 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 -- Drop unneeded scriptlets - -* 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 - -* 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 diff --git a/sources b/sources index 193e4da..7ed04be 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (ffmpeg-8.0.1.tar.xz) = 7af5cd1c7ba04f8d7ea1b54b64b9c235f2a606dc0c18d25cfdf20958bcad4851d3265b4894fc6ba5dd205c2309971c7e7fb890ee1d64e0a41a3faf159f77957f -SHA512 (ffmpeg-8.0.1.tar.xz.asc) = f56e9e89ecdf9f12e3dae90b52289e5d09bfbfc0f6e13aaf17da9330c138fdb62b132f856c2fd16f5d9f5d6bcf1725602c8781c3e5f07bda6ce1306c379792ab +SHA512 (ffmpeg-7.1.2.tar.xz) = 181e6415da359e3addbc448ff09b5cebe57d9c37106e5125c41f484adebc250502fc9efe150cb117d7378e20830715035be94c2ba4ad7c369b18af85f1a4ca20 +SHA512 (ffmpeg-7.1.2.tar.xz.asc) = b0358cea13be070a0d41b42e98c5df17ab8794b86a5f8b2a4bf0043e608a21b02fdbaad2bc3318457a9c43ef0d3c823509234ffd7292e6ea49b1eff951663f58 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165