Compare commits

...
Sign in to create a new pull request.

21 commits

Author SHA1 Message Date
Marcin Juszkiewicz
62079f0ff3 disable dc1394 and ffnvcodec on risc-v 2025-12-04 18:15:51 +01:00
Neal Gompa
081db52026 Split configure step to conf stage 2025-11-21 06:07:44 -05:00
Dominik 'Rathann' Mierzejewski
2cb206c8d5 Update to 8.0.1 (resolves rhbz#2416044) 2025-11-21 10:12:19 +01:00
Neal Gompa
2364ea43f4 Disable lc3 only on RHEL 10 2025-11-14 08:12:10 -05:00
Dominik 'Rathann' Mierzejewski
333dc69736 unbootstrap, rebuild with new chromaprint 2025-11-04 14:13:58 +01:00
Dominik 'Rathann' Mierzejewski
28d758506e bootstrap for chromaprint 2025-11-04 13:51:09 +01:00
Neal Gompa
85d2ac244e Rebase to version 8.0 2025-11-02 12:45:07 -05:00
Dominik 'Rathann' Mierzejewski
2db297209f fix bootstrap conditional for chromaprint
Reference: https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html#check-whether-an-option-is-enabled-or-disabled
2025-11-02 17:42:44 +01:00
Dominik 'Rathann' Mierzejewski
7a2902320d Re-enable OpenAL support which was disabled by accident
Resolves rhbz#2404091 .

Fixes: 5917b714a1
2025-11-02 17:42:19 +01:00
Simone Caronni
74bed5df5b Merge #44 Exclude lc3 on RHEL 2025-10-16 11:18:49 +00:00
Simone Caronni
98124ea009 Exclude lc3 on RHEL 2025-10-16 12:39:16 +02:00
Robert-André Mauchin
ee4847dda6 Rebuild for svt-av1 3.1.2 2025-10-02 20:17:02 +02:00
Robert-André Mauchin
85181b0920 Rebuild for svt-av1 3.1.2 2025-10-02 20:12:40 +02:00
Simone Caronni
5917b714a1 Update to 7.1.2, adjust options 2025-09-24 18:42:49 +02:00
Neal Gompa
0ba015fad8 Disable all subpackages except libavcodec-freeworld with the freeworld bcond 2025-08-26 14:28:33 -04:00
Neal Gompa
7396d13cc7 Enable support for MPEG-5/EVC 2025-08-25 09:32:19 -04:00
Neal Gompa
0b12983802 Reorganize spec to group subpackage definitions together
- Add freeworld conditional for third-party builds
- Drop unneeded scriptlets
2025-08-20 20:40:56 -04:00
Neal Gompa
fab40474b5 Fix bcond comments 2025-08-01 14:05:58 -04:00
Neal Gompa
3c0fb7f11f Always verify sources 2025-08-01 14:02:36 -04:00
Nicolas Chauvet
9e25239d79 Rebuilt for libplacebo 2025-07-29 12:36:02 +02:00
Fedora Release Engineering
60df3956c6 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 20:29:42 +00:00
6 changed files with 430 additions and 224 deletions

View file

@ -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
@ -219,6 +220,7 @@ libspeex # speex
libvorbis # libvorbis
libvpx_vp8 # libvpx
libvpx_vp9 # libvpx
libxevd
libzvbi_teletext # zvbi
loco
lscr
@ -334,6 +336,7 @@ pjs
png # libpng
ppm # trivial
prores
prores_raw
prosumer
psd
ptx

View file

@ -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
@ -96,6 +97,7 @@ libvpx_vp8 # libvpx
libvpx_vp9 # libvpx
libwebp # libwebp
libwebp_anim # libwebp
libxeve
libxvid # xvidcore
mjpeg # mjpegtools
mjpeg_qsv # mjpegtools

View file

@ -1,29 +0,0 @@
From 7f9c7f9849a2155224711f0ff57ecdac6e4bfb57 Mon Sep 17 00:00:00 2001
From: James Almer <jamrial@gmail.com>
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 <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
---
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

View file

@ -0,0 +1,73 @@
From 80bf83e3099652a3e7f8d1e8b6d902fea1ce4db9 Mon Sep 17 00:00:00 2001
From: James Almer <jamrial@gmail.com>
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 <jamrial@gmail.com>
---
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

View file

@ -1,15 +1,25 @@
# For a complete build enable these two
%bcond upstream_tarball 0
# 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
# 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
@ -25,10 +35,12 @@
%bcond vmaf 0
%endif
%ifarch s390 s390x
%ifarch s390 s390x riscv64
%bcond dc1394 0
%bcond ffnvcodec 0
%else
%bcond dc1394 1
%bcond ffnvcodec 1
%endif
%if 0%{?rhel}
@ -38,7 +50,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
%endif
@ -51,14 +63,23 @@
%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
@ -72,20 +93,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.1
Release: 4%{?dist}
Version: 8.0.1
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/
@ -102,9 +122,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
# Backport fix for CVE-2025-22921
Patch10: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/7f9c7f9849a2155224711f0ff57ecdac6e4bfb57#/ffmpeg-CVE-2025-22921.patch
# Support building with EVC base profile libraries
Patch3: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20329.patch#/ffmpeg-support-evc-base-libraries.patch
# Add first_dts getter to libavformat for Chromium
# See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127
@ -117,7 +136,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}
@ -134,6 +152,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
@ -161,7 +180,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
@ -197,6 +218,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)
@ -246,9 +268,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)
@ -272,6 +297,10 @@ 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
@ -280,7 +309,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}
@ -299,6 +327,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}
@ -306,7 +346,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
@ -318,6 +357,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}
@ -335,6 +380,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}
@ -348,6 +399,14 @@ 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}
@ -361,13 +420,18 @@ 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}
@ -381,12 +445,19 @@ 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}
@ -394,12 +465,17 @@ 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}
@ -411,6 +487,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}
@ -426,6 +510,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}
@ -442,9 +532,18 @@ 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
@ -453,10 +552,17 @@ 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
@ -467,27 +573,13 @@ for pixel and sample formats).
This subpackage contains the headers for FFmpeg libavutil.
%package -n libpostproc%{?pkg_suffix}
Summary: FFmpeg post-processing library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
%files -n libavutil%{?pkg_suffix}-devel
%{_includedir}/%{name}/libavutil
%{_libdir}/pkgconfig/libavutil.pc
%{_libdir}/libavutil.so
%{_mandir}/man3/libavutil.3*
%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.
%dnl --------------------------------------------------------------------------------
%package -n libswresample%{?pkg_suffix}
Summary: FFmpeg software resampling library
@ -497,6 +589,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}
@ -508,6 +606,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}
@ -516,6 +622,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}
@ -529,10 +641,48 @@ pixel format conversion operations.
This subpackage contains the headers for FFmpeg libswscale.
%prep
%if %{with upstream_tarball}
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%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
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -S git_am
install -m 0644 %{SOURCE20} enable_decoders
@ -542,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
@ -558,30 +708,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 \
@ -592,6 +751,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,8 +764,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 \
@ -613,10 +773,20 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libilbc \
--enable-libjack \
--enable-libjxl \
--enable-libklvanc \
--disable-liblensfun \
--disable-liblcevc-dec \
%if %{with lc3}
--enable-liblc3 \
%endif
--enable-libmodplug \
--enable-libmp3lame \
--enable-libmysofa \
--disable-libnpp \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--disable-libopencv \
--enable-liboapv \
--enable-libopenh264 \
--enable-libopenjpeg \
--enable-libopenmpt \
@ -626,70 +796,97 @@ 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_main}
--enable-libxeve \
--enable-libxevd \
%else
--enable-libxeveb \
--enable-libxevdb \
%endif
--enable-libxml2 \
--enable-libxvid \
--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
--enable-openal \
--enable-opencl \
--enable-opengl \
--disable-openssl \
--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 \
--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' <enable_encoders)" \
--enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <enable_decoders)" \
%endif
@ -745,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
@ -755,109 +955,66 @@ 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_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
%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 <mjuszkiewicz@redhat.com> - 8.0.1-2
- disable dc1394 and ffnvcodec on risc-v
* Fri Nov 21 2025 Dominik Mierzejewski <dominik@greysector.net> - 8.0.1-1
- Update to 8.0.1 (resolves rhbz#2416044)
- Split configure step to conf stage
* Fri Nov 14 2025 Neal Gompa <ngompa@fedoraproject.org> - 8.0-2
- Disable lc3 only on RHEL 10
* Sun Nov 02 2025 Neal Gompa <ngompa@fedoraproject.org> - 8.0-1
- Rebase to version 8.0
* Sun Nov 02 2025 Dominik Mierzejewski <dominik@greysector.net> - 7.1.2-3
- Re-enable openal support (dropped by accident in commit 5917b714, resolves rhbz#2404091)
* Thu Oct 02 2025 Robert-André Mauchin <zebob.m@gmail.com> - 7.1.2-2
- Rebuild for svt-av1 soname bump
* Wed Sep 24 2025 Simone Caronni <negativo17@gmail.com> - 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 <ngompa@fedoraproject.org> - 7.1.1-10
- Disable all subpackages except libavcodec-freeworld with the freeworld bcond
* Mon Aug 25 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-9
- Enable support for MPEG-5/EVC
* Thu Aug 21 2025 Neal Gompa <ngompa@fedoraproject.org> - 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 <ngompa@fedoraproject.org> - 7.1.1-7
- Always verify sources
* Tue Jul 29 2025 Nicolas Chauvet <kwizart@gmail.com> - 7.1.1-6
- Rebuilt for libplacebo
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 13 2025 Neal Gompa <ngompa@fedoraproject.org> - 7.1.1-4
- Switch to regular upstream sources for package build
- Enable more codecs

View file

@ -1,3 +1,3 @@
SHA512 (ffmpeg-7.1.1.tar.xz) = 42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a
SHA512 (ffmpeg-7.1.1.tar.xz.asc) = 480846fd939d00f2ea90c0256081519a6996c7a990d0f66444a7ae1bce2e5ad6380f5d751efc9bde18da9c4d34738ade57dd66288b989dfd074c484562e20e75
SHA512 (ffmpeg-8.0.1.tar.xz) = 7af5cd1c7ba04f8d7ea1b54b64b9c235f2a606dc0c18d25cfdf20958bcad4851d3265b4894fc6ba5dd205c2309971c7e7fb890ee1d64e0a41a3faf159f77957f
SHA512 (ffmpeg-8.0.1.tar.xz.asc) = f56e9e89ecdf9f12e3dae90b52289e5d09bfbfc0f6e13aaf17da9330c138fdb62b132f856c2fd16f5d9f5d6bcf1725602c8781c3e5f07bda6ce1306c379792ab
SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165