Compare commits

..

4 commits

Author SHA1 Message Date
Simone Caronni
fa6957091f Exclude lc3 on RHEL 2025-10-16 13:22:19 +02:00
Simone Caronni
faccd9b81a Add missing option 2025-09-24 11:33:37 +02:00
Simone Caronni
dfb3609175 Adjust options 2025-09-24 10:46:12 +02:00
Simone Caronni
35e66e7f44 Update to 7.1.2 2025-09-24 10:32:28 +02:00
6 changed files with 194 additions and 342 deletions

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,29 @@
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

@ -1,73 +0,0 @@
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,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' <enable_encoders)" \
--enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <enable_decoders)" \
%endif
@ -942,9 +798,6 @@ 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
@ -955,66 +808,114 @@ done
# We will package is as %%doc in the devel package
rm -rf %{buildroot}%{_datadir}/%{name}/examples
%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
%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 <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-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