# For a complete build enable these two %bcond_with upstream_tarball %bcond_with all_codecs # Break dependency cycles by disabling certain optional dependencies. %bcond_with bootstrap # 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 # Fails due to asm issue %ifarch %{ix86} %{arm} %bcond_with lto %else %bcond_without lto %endif %ifarch x86_64 %bcond_without vpl %bcond_without vmaf %else %bcond_with vpl %bcond_with vmaf %endif %ifarch s390 s390x %bcond_with dc1394 %else %bcond_without dc1394 %endif %if 0%{?rhel} # Disable dependencies not offered in RHEL/EPEL %bcond_with omxil %else # Use bundled openh264 headers on older Fedora/RHEL where the noopenh264 stub # package is not available %if 0%{?fedora} && 0%{?fedora} <= 39 || 0%{?rhel} && 0%{?rhel} <= 9 %bcond_without bundled_openh264_headers %else %bcond_with bundled_openh264_headers %endif # Disable some features because RHEL 9 packages are too old %if 0%{?rhel} && 0%{?rhel} <= 9 %bcond_with flite %bcond_with lcms2 %bcond_with placebo %else %bcond_without flite %bcond_without lcms2 %bcond_without placebo %endif %bcond_without omxil %endif # Break chromaprint dependency cycle (Fedora-only): # ffmpeg (libavcodec-free) → chromaprint → ffmpeg %if %{with bootstrap} %bcond_with chromaprint %else %bcond_without chromaprint %endif %if %{with all_codecs} %bcond_without rtmp %bcond_without x264 %bcond_without x265 %else %bcond_with rtmp %bcond_with x264 %bcond_with x265 %endif %if %{without lto} %global _lto_cflags %{nil} %endif %if "%{__isa_bits}" == "64" %global lib64_suffix ()(64bit) %endif %global openh264_soversion 7 %global av_codec_soversion 60 %global av_device_soversion 60 %global av_filter_soversion 9 %global av_format_soversion 60 %global av_util_soversion 58 %global postproc_soversion 57 %global swresample_soversion 4 %global swscale_soversion 7 Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 6.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/ Source0: ffmpeg%{?pkg_suffix}-%{version}.tar.xz Source1: ffmpeg-dlopen-headers.tar.xz Source2: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz.asc # https://ffmpeg.org/ffmpeg-devel.asc # gpg2 --import --import-options import-export,import-minimal ffmpeg-devel.asc > ./ffmpeg.keyring Source3: ffmpeg.keyring Source4: ffmpeg_free_sources Source20: enable_decoders Source21: enable_encoders # Scripts for generating tarballs Source90: ffmpeg_update_free_sources.sh Source91: ffmpeg_gen_free_tarball.sh Source92: ffmpeg_get_dlopen_headers.sh Source93: ffmpeg_find_free_source_headers.sh # Fixes for reduced codec selection on free build 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 # Drop openh264 runtime version checks # https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=10211 Patch4: 0001-lavc-libopenh264-Drop-openh264-runtime-version-check.patch Patch5: ffmpeg-c99.patch # Fix build with gcc14 (-Wint-conversion, -Wincompatible-pointer-types) Patch6: ffmpeg-gcc14.patch # Backport fix for CVE-2023-49528 Patch8: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/2d9ed64859c9887d0504cd71dbd5b2c15e14251a#/ffmpeg-CVE-2023-49528.patch # Fixes for Mesa 24.0.6+ / 24.1.4+ VA-API Patch9: 0001-lavc-vaapi_decode-Make-it-possible-to-send-multiple-.patch Patch10: 0002-lavc-vaapi_av1-Avoid-sending-the-same-slice-buffer-m.patch # Set up dlopen for openh264 Patch1001: ffmpeg-dlopen-openh264.patch # Add first_dts getter to libavformat for Chromium # See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127 # Reference: https://crbug.com/1306560 Patch1002: ffmpeg-chromium.patch Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} 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} BuildRequires: AMF-devel BuildRequires: fdk-aac-free-devel %if %{with flite} BuildRequires: flite-devel >= 2.2 %endif BuildRequires: game-music-emu-devel BuildRequires: gcc BuildRequires: git-core BuildRequires: gnupg2 BuildRequires: gsm-devel BuildRequires: ladspa-devel BuildRequires: lame-devel BuildRequires: libgcrypt-devel BuildRequires: libmysofa-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXv-devel BuildRequires: make BuildRequires: nasm BuildRequires: perl(Pod::Man) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(aom) BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(caca) BuildRequires: pkgconfig(codec2) BuildRequires: pkgconfig(dav1d) BuildRequires: pkgconfig(ffnvcodec) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(frei0r) BuildRequires: pkgconfig(fribidi) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libilbc) BuildRequires: pkgconfig(jack) %if %{with lcms2} BuildRequires: pkgconfig(lcms2) >= 2.13 %endif BuildRequires: pkgconfig(libass) BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libbs2b) BuildRequires: pkgconfig(libcdio) BuildRequires: pkgconfig(libcdio_paranoia) %if %{with chromaprint} BuildRequires: pkgconfig(libchromaprint) %endif BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libjxl) >= 0.7.0 BuildRequires: pkgconfig(libmodplug) %if %{with omxil} BuildRequires: pkgconfig(libomxil-bellagio) %endif BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libopenmpt) %if %{with placebo} BuildRequires: pkgconfig(libplacebo) >= 4.192.0 %endif BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(librabbitmq) BuildRequires: pkgconfig(librist) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libssh) BuildRequires: pkgconfig(libv4l2) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libva-drm) BuildRequires: pkgconfig(libva-x11) BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libzmq) BuildRequires: pkgconfig(lilv-0) BuildRequires: pkgconfig(lv2) BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openal) BuildRequires: pkgconfig(opencore-amrnb) BuildRequires: pkgconfig(OpenCL) %if %{without bundled_openh264_headers} BuildRequires: pkgconfig(openh264) %endif BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(rav1e) BuildRequires: pkgconfig(rubberband) BuildRequires: pkgconfig(schroedinger-1.0) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(shaderc) >= 2019.1 BuildRequires: pkgconfig(smbclient) BuildRequires: pkgconfig(snappy) BuildRequires: pkgconfig(soxr) BuildRequires: pkgconfig(speex) BuildRequires: pkgconfig(srt) BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0 BuildRequires: pkgconfig(tesseract) BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(twolame) BuildRequires: pkgconfig(vapoursynth) BuildRequires: pkgconfig(vdpau) BuildRequires: pkgconfig(vidstab) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vo-amrwbenc) BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(vulkan) >= 1.3.255 BuildRequires: pkgconfig(wavpack) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-render) BuildRequires: pkgconfig(xcb-shape) BuildRequires: pkgconfig(xcb-shm) BuildRequires: pkgconfig(xcb-xfixes) BuildRequires: pkgconfig(zimg) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zvbi-0.2) BuildRequires: texinfo BuildRequires: xvidcore-devel %if %{with dc1394} BuildRequires: pkgconfig(libavc1394) BuildRequires: pkgconfig(libdc1394-2) BuildRequires: pkgconfig(libiec61883) %endif %if %{with rtmp} BuildRequires: librtmp-devel %endif %if %{with vpl} BuildRequires: pkgconfig(vpl) >= 2.6 %endif %if %{with x264} BuildRequires: pkgconfig(x264) %endif %if %{with x265} BuildRequires: pkgconfig(x265) %endif %if %{with vmaf} BuildRequires: pkgconfig(libvmaf) %endif %description FFmpeg is a leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and 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. %if %{without all_codecs} This build of ffmpeg is limited in the number of codecs supported. %endif %if "x%{?pkg_suffix}" != "x" %package -n %{pkg_name} Summary: A complete solution to record, convert and stream audio and video Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} 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} %description -n %{pkg_name} FFmpeg is a leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and 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. %if %{without all_codecs} This build of ffmpeg is limited in the number of codecs supported. %endif #/ "x%%{?pkg_suffix}" != "x" %endif %package -n %{pkg_name}-devel Summary: Development package for %{name} Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} 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 %description -n %{pkg_name}-devel FFmpeg is a leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and 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. %package -n libavcodec%{?pkg_suffix} Summary: FFmpeg codec library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} # We dlopen() openh264, so weak-depend on it... ## Note, we can do this because openh264 is provided in a default-enabled ## third party repository provided by Cisco. Recommends: libopenh264.so.%{openh264_soversion}%{?lib64_suffix} Suggests: openh264%{_isa} %description -n libavcodec%{?pkg_suffix} 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. %if %{without all_codecs} This build of ffmpeg is limited in the number of codecs supported. %endif %package -n libavcodec%{?pkg_suffix}-devel Summary: Development files for FFmpeg's codec library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig %description -n libavcodec%{?pkg_suffix}-devel 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 subpackage contains the headers for FFmpeg libavcodec. %package -n libavdevice%{?pkg_suffix} Summary: FFmpeg device library Requires: libavcodec%{?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} %description -n libavdevice%{?pkg_suffix} The libavdevice library provides a generic framework for grabbing from and rendering to many common multimedia input/output devices, and supports several input and output devices, including Video4Linux2, VfW, DShow, and ALSA. %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} Requires: pkgconfig %description -n libavdevice%{?pkg_suffix}-devel The libavdevice library provides a generic framework for grabbing from and rendering to many common multimedia input/output devices, and supports several input and output devices, including Video4Linux2, VfW, DShow, and ALSA. This subpackage contains the headers for FFmpeg libavdevice. %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} %description -n libavfilter%{?pkg_suffix} The libavfilter library provides a generic audio/video filtering framework containing several filters, sources and sinks. %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} Requires: pkgconfig %description -n libavfilter%{?pkg_suffix}-devel The libavfilter library provides a generic audio/video filtering framework containing several filters, sources and sinks. This subpackage contains the headers for FFmpeg libavfilter. %package -n libavformat%{?pkg_suffix} Summary: FFmpeg's stream format library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} %description -n libavformat%{?pkg_suffix} The libavformat library provides a generic framework for multiplexing and demultiplexing (muxing and demuxing) audio, video and subtitle streams. It encompasses multiple muxers and demuxers for multimedia container formats. %if %{without all_codecs} This build of ffmpeg is limited in the number of codecs supported. %endif %package -n libavformat%{?pkg_suffix}-devel Summary: Development files for FFmpeg's stream format library Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig %description -n libavformat%{?pkg_suffix}-devel The libavformat library provides a generic framework for multiplexing and demultiplexing (muxing and demuxing) audio, video and subtitle streams. It encompasses multiple muxers and demuxers for multimedia container formats. This subpackage contains the headers for FFmpeg libavformat. %package -n libavutil%{?pkg_suffix} Summary: FFmpeg's utility library Group: System/Libraries %description -n libavutil%{?pkg_suffix} The libavutil library is a utility library to aid portable multimedia programming. It contains safe portable string functions, random number generators, data structures, additional mathematics functions, cryptography and multimedia related functionality (like enumerations for pixel and sample formats). %package -n libavutil%{?pkg_suffix}-devel Summary: Development files for FFmpeg's utility library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig %description -n libavutil%{?pkg_suffix}-devel The libavutil library is a utility library to aid portable multimedia programming. It contains safe portable string functions, random number generators, data structures, additional mathematics functions, cryptography and multimedia related functionality (like enumerations 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} %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 Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} %description -n libswresample%{?pkg_suffix} The libswresample library performs audio conversion between different sample rates, channel layout and channel formats. %package -n libswresample%{?pkg_suffix}-devel Summary: Development files for the FFmpeg software resampling library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} %description -n libswresample%{?pkg_suffix}-devel The libswresample library performs audio conversion between different sample rates, channel layout and channel formats. This subpackage contains the headers for FFmpeg libswresample. %package -n libswscale%{?pkg_suffix} Summary: FFmpeg image scaling and colorspace/pixel conversion library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} %description -n libswscale%{?pkg_suffix} The libswscale library performs image scaling and colorspace and pixel format conversion operations. %package -n libswscale%{?pkg_suffix}-devel Summary: Development files for FFmpeg's image scaling and colorspace library Provides: libswscale%{?pkg_suffix}-devel = %{version}-%{release} Conflicts: libswscale%{?pkg_suffix}-devel < %{version}-%{release} Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} %description -n libswscale%{?pkg_suffix}-devel The libswscale library performs image scaling and colorspace and pixel format conversion operations. This subpackage contains the headers for FFmpeg libswscale. %prep %if %{with upstream_tarball} %{gpgverify} --keyring='%{SOURCE3}' --signature='%{SOURCE2}' --data='%{SOURCE0}' %endif %autosetup %{?with_bundled_openh264_headers:-a1} -S git_am install -m 0644 %{SOURCE20} enable_decoders install -m 0644 %{SOURCE21} enable_encoders # fix -O3 -g in host_cflags 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 %set_build_flags # This is not a normal configure script, don't use %%configure ./configure \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --datadir=%{_datadir}/%{name} \ --docdir=%{_docdir}/%{name} \ --incdir=%{_includedir}/%{name} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --arch=%{_target_cpu} \ --optflags="%{build_cflags}" \ --extra-ldflags="%{build_ldflags}" \ --disable-htmlpages \ --enable-pic \ --disable-stripping \ --enable-shared \ --disable-static \ --enable-gpl \ --enable-version3 \ --enable-libsmbclient \ --disable-openssl \ --enable-bzlib \ --enable-frei0r \ %if %{with chromaprint} --enable-chromaprint \ %else --disable-chromaprint \ %endif --enable-gcrypt \ --enable-gnutls \ --enable-ladspa \ %if %{with lcms2} --enable-lcms2 \ %endif --enable-libshaderc \ --enable-vulkan \ --disable-cuda-sdk \ --enable-libaom \ --enable-libass \ --enable-libbluray \ --enable-libbs2b \ --enable-libcaca \ --enable-libcdio \ --enable-libcodec2 \ --enable-libdav1d \ %if %{with dc1394} --enable-libdc1394 \ %endif --enable-libdrm \ --enable-libfdk-aac \ %if %{with flite} --enable-libflite \ %endif --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ --enable-libharfbuzz \ --enable-libgme \ --enable-libgsm \ %if %{with dc1394} --enable-libiec61883 \ %endif --enable-libilbc \ --enable-libjack \ --enable-libjxl \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ --enable-libopenh264-dlopen \ --enable-libopenjpeg \ --enable-libopenmpt \ --enable-libopus \ %if %{with placebo} --enable-libplacebo \ %endif --enable-libpulse \ --enable-librabbitmq \ --enable-librav1e \ --enable-librist \ --enable-librsvg \ --enable-librubberband \ --enable-libsnappy \ --enable-libsvtav1 \ --enable-libsoxr \ --enable-libspeex \ --enable-libssh \ --enable-libsrt \ --enable-libtesseract \ --enable-libtheora \ --enable-libtwolame \ --enable-libvidstab \ %if %{with vmaf} --enable-libvmaf \ %endif --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 x264} --enable-libx264 \ %endif %if %{with x265} --enable-libx265 \ %endif %if %{with librtmp} --enable-librtmp \ %endif --enable-libxvid \ --enable-openal \ --enable-opencl \ --enable-opengl \ --enable-pthreads \ --enable-vapoursynth \ %if %{without all_codecs} --enable-muxers \ --enable-demuxers \ --enable-hwaccels \ --disable-encoders \ --disable-decoders \ --disable-decoder="h264,hevc,vc1" \ --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' - 6.1.2-1 - Update to 6.1.2 * Sat Jul 20 2024 Neal Gompa - 6.1.1-19 - Backport fixes for Mesa 24.0.6+ / 21.1.4+ changes for VA-API * Wed Jul 17 2024 Fedora Release Engineering - 6.1.1-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Tue Jul 16 2024 Nicolas Chauvet - 6.1.1-17 - Rebuilt for libplacebo/vmaf * Wed Jun 19 2024 Dominik Mierzejewski - 6.1.1-16 - Backport fix for CVE-2023-49528 * Thu Jun 13 2024 Sandro Mani - 6.1.1-15 - Rebuild for tesseract-5.4.1 * Wed May 29 2024 Robert-André Mauchin - 6.1.1-14 - Rebuild for svt-av1 2.1.0 * Wed May 22 2024 Simone Caronni - 6.1.1-13 - Rebuild for updated VapourSynth. * Tue Apr 23 2024 Kalev Lember - 6.1.1-12 - Stop using bundled openh264 headers in F40+ and build against noopenh264 - Backport a fix to build with Vulkan headers >= 1.3.280.0 * Wed Mar 13 2024 Sérgio Basto - 6.1.1-11 - Rebuild for jpegxl (libjxl) 0.10.2 * Tue Mar 12 2024 Dominik Mierzejewski - 6.1.1-10 - Enable drawtext filter (requires libharfbuzz) * Wed Feb 14 2024 Sérgio Basto - 6.1.1-9 - Rebuild for jpegxl (libjxl) 0.9.2 with soname bump * Wed Feb 07 2024 Pete Walter - 6.1.1-8 - Rebuild for libvpx 1.14.x * Sun Jan 28 2024 Sandro Mani - 6.1.1-7 - Rebuild (tesseract) * Wed Jan 24 2024 Fedora Release Engineering - 6.1.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 6.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Mon Jan 15 2024 Neal Gompa - 6.1.1-4 - Add missing files for some of the libraries to fix riscv64 builds * Fri Jan 12 2024 Fabio Valentini - 6.1.1-3 - Rebuild for dav1d 1.3.0 * Fri Jan 05 2024 Florian Weimer - 6.1.1-2 - Backport upstream patch to fix C compatibility issues * Thu Jan 04 2024 Neal Gompa - 6.1.1-1 - Update to 6.1.1 * Thu Jan 04 2024 Neal Gompa - 6.1-1 - Rebase to 6.1 * Wed Dec 06 2023 Kalev Lember - 6.0.1-2 - Prefer openh264 over noopenh264 - Backport upstream patch to drop openh264 runtime version checks * Sat Nov 11 2023 Neal Gompa - 6.0.1-1 - Update to 6.0.1 - Add ffmpeg chromium support patch (#2240127) - Use git to apply patches * Fri Nov 10 2023 Neal Gompa - 6.0-16 - Add patches to support enhanced RTMP and AV1 encoding through VA-API - Force AAC decoding through fdk-aac-free * Sun Oct 08 2023 Dominik Mierzejewski - 6.0-15 - Backport upstream patch to fix segfault when passing non-existent filter option (rfbz#6773) * Sat Oct 07 2023 Sandro Mani - 6.0-14 - Rebuild (tesseract) * Fri Sep 29 2023 Nicolas Chauvet - 6.0-13 - Rebuilt for libplacebo * Fri Aug 25 2023 Dominik Mierzejewski - 6.0-12 - Backport upstream patch to fix assembly with binutils 2.41. * Sat Aug 05 2023 Richard Shaw - 6.0-11 - Rebuild for codec2. * Fri Jul 28 2023 Dominik Mierzejewski - 6.0-10 - Rebuild for libplacebo * Wed Jul 19 2023 Fedora Release Engineering - 6.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Fri Jul 14 2023 Sandro Mani - 6.0-8 - Rebuild (tesseract) * Sun Jun 18 2023 Sérgio Basto - 6.0-7 - Mass rebuild for jpegxl-0.8.1 * Mon Jun 12 2023 Dominik Mierzejewski - 6.0-6 - Rebuild for libdc1394 * Thu Apr 06 2023 Adam Williamson - 6.0-5 - Rebuild (tesseract) again * Mon Apr 03 2023 Neal Gompa - 6.0-4 - Include RISC-V support sources in the tarball * Mon Apr 03 2023 Sandro Mani - 6.0-3 - Rebuild (tesseract) * Wed Mar 22 2023 Nicolas Chauvet - 6.0-2 - Backport upstream patches for libplacebo support * Sun Mar 12 2023 Neal Gompa - 6.0-1 - Rebase to version 6.0 - Enable SVT-AV1 on all architectures - Use oneVPL for QSV - Switch to SPDX license identifiers * Wed Feb 15 2023 Neal Gompa - 5.1.2-12 - Enable support for the RIST protocol through librist * Wed Feb 15 2023 Tom Callaway - 5.1.2-11 - bootstrap off * Wed Feb 15 2023 Tom Callaway - 5.1.2-10 - rebuild for libvpx (bootstrap) * Mon Feb 13 2023 Yaakov Selkowitz - 5.1.2-9 - Enable lcms2, lv2, placebo, rabbitmq, xv * Mon Feb 13 2023 Neal Gompa - 5.1.2-8 - Disable flite for RHEL 9 as flite is too old * Fri Feb 03 2023 Yaakov Selkowitz - 5.1.2-7 - Properly enable caca, flite, gme, iec61883 * Mon Jan 30 2023 Neal Gompa - 5.1.2-6 - Enable more approved codecs * Thu Jan 19 2023 Fedora Release Engineering - 5.1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Sun Jan 15 2023 Yaakov Selkowitz - 5.1.2-4 - Properly enable libzvbi_teletext decoder * Fri Dec 23 2022 Sandro Mani - 5.1.2-3 - Rebuild (tesseract) * Wed Nov 09 2022 Neal Gompa - 5.1.2-2 - Unconditionally enable Vulkan * Wed Oct 12 2022 Neal Gompa - 5.1.2-1 - Update to version 5.1.2 - Refresh dlopen headers and patch for OpenH264 2.3.1 * Sun Sep 04 2022 Neal Gompa - 5.1.1-1 - Update to version 5.1.1 - Refresh dlopen headers for OpenH264 2.3.0 - Disable omxil and crystalhd for RHEL * Wed Aug 24 2022 Neal Gompa - 5.1-1 - Rebase to version 5.1 * Thu Jul 21 2022 Fedora Release Engineering - 5.0.1-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat Jul 09 2022 Richard Shaw - 5.0.1-15 - Rebuild for codec2 1.0.4. * Fri Jul 08 2022 Sandro Mani - 5.0.1-14 - Rebuild (tesseract) * Wed Jun 22 2022 Robert-André Mauchin - 5.0.1-13 - Rebuilt for new aom, dav1d, rav1e and svt-av1 * Fri Jun 17 2022 Mamoru TASAKA - 5.0.1-12 - Rebuild for new srt * Thu Jun 09 2022 Neal Gompa - 5.0.1-11 - Ensure libavdevice-devel is pulled in with devel metapackage * Sun Jun 05 2022 Neal Gompa - 5.0.1-10 - Update for OpenH264 2.2.0 * Tue May 31 2022 Neal Gompa - 5.0.1-9 - Rebuild for ilbc-3.0.4 * Thu May 26 2022 Benjamin A. Beasley - 5.0.1-9 - Rebuild for ilbc-3.0.4 (bootstrap) * Sat May 21 2022 Sandro Mani - 5.0.1-8 - Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 * Fri May 20 2022 Sandro Mani - 5.0.1-7 - Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 * Sun Apr 24 2022 Neal Gompa - 5.0.1-6 - Add VAAPI encoders for mjpeg, mpeg2, vp8, and vp9 - Ensure hwaccels for enabled codecs are turned on * Tue Apr 19 2022 Neal Gompa - 5.0.1-5 - Drop unused enca build dependency * Tue Apr 19 2022 Neal Gompa - 5.0.1-4 - Use shaderc for Vulkan support * Mon Apr 18 2022 Neal Gompa - 5.0.1-3 - Fix codec2 support enablement * Mon Apr 18 2022 Dominik Mierzejewski - 5.0.1-2 - Properly enable decoding and encoding ilbc * Tue Apr 12 2022 Neal Gompa - 5.0.1-1 - Update to 5.0.1 to fix crashes with muxing MP4 video (#2073980) * Tue Apr 05 2022 Dominik Mierzejewski - 5.0-11 - Enable OpenCL acceleration - be explicit about enabled external features in configure - enable gcrypt - drop duplicate CFLAGS and use Fedora LDFLAGS * Thu Mar 10 2022 Sandro Mani - 5.0-10 - Rebuild for tesseract 5.1.0 * Tue Mar 08 2022 Neal Gompa - 5.0-9 - Drop ffmpeg chromium support patch (#2061392) * Fri Feb 18 2022 Neal Gompa - 5.0-8 - Add patch to return correct AVERROR with bad OpenH264 versions * Fri Feb 18 2022 Neal Gompa - 5.0-7 - Update OpenH264 dlopen patch to split dlopen code into c and h files * Thu Feb 17 2022 Neal Gompa - 5.0-6 - Update OpenH264 dlopen patch to use AVERROR return codes correctly * Tue Feb 15 2022 Neal Gompa - 5.0-5 - Disable hardware decoders due to broken failure modes * Tue Feb 15 2022 Neal Gompa - 5.0-4 - Add support for dlopening OpenH264 - Add tarball scripts as sources * Sun Feb 13 2022 Neal Gompa - 5.0-3 - Enable more QSV and V4L2M2M codecs * Sun Feb 13 2022 Neal Gompa - 5.0-2 - Enable support for more hardware codecs * Fri Feb 11 2022 Andreas Schneider - 5.0-1 - Initial import (fedora#2051008)