# TODO:
-# - libndi_newtek[nonfree, BR: Processing.NDI.Lib.h - probably https://www.newtek.com/ndi/sdk/]
-# - libdavs2 [pkgconfig(davs2) >= 1.5.115 davs2.h]
-# - libklvanc [-lklvanc libklvanc/vanc.h]
# - libtensorflow [-ltensorflow tensorflow/c/c_api.h]
-# - libxavs2 [pkgconfig(xavs2) >= 1.2.77
# - AMF >= 1.4.4.1 (available at https://github.com/GPUOpen-LibrariesAndSDKs/AMF, where is original source?)
#
# How to deal with ffmpeg/opencv/chromaprint checken-egg problem:
#
# Conditional build:
%bcond_with bootstrap # disable features to able to build without installed ffmpeg
-%bcond_with nonfree # unblock non free options of package (currently: cuda_sdk, decklib, fdk_aac, libndi_newtek, npp, openssl, libressl/libtls)
+%bcond_with nonfree # unblock non free options of package (currently: cuda_nvcc, decklib, fdk_aac, npp, openssl, libressl/libtls)
+%bcond_without aribb24 # ARIB text and caption decoding via libaribb24
+%bcond_without avs2 # AVS2 de/encoding via libdavs2/libxavs2
%bcond_without bs2b # BS2B audio filter support
%bcond_without caca # textual display using libcaca
%bcond_without codec2 # codec2 support using libcodec2
%bcond_without chromaprint # audio fingerprinting with chromaprint
-%bcond_with cudasdk # NVIDIA CUDA code using SDK [BR: cuda.h, non-free]
-%bcond_with decklink # Blackmagic DeskLink output support (requires nonfree)
+%bcond_with cudasdk # NVIDIA CUDA code using nvcc from CUDA SDK [BR: cuda.h, non-free]
+%bcond_without dav1d # AV1 decoding via libdav1d
+%bcond_with decklink # Blackmagic DeckLink I/O support (requires nonfree)
%bcond_with fdk_aac # AAC de/encoding via libfdk_aac (requires nonfree)
%bcond_without ffnvcodec # NVIDIA codecs support using ffnvcodec headers (covered: cuda cuvid nvdec nvenc)
%bcond_without flite # flite voice synthesis support
%bcond_without ladspa # LADSPA audio filtering
%bcond_without lensfun # lensfun lens correction
%bcond_with libdrm # Linux Direct Rendering Manager code
+%bcond_with libklvanc # Kernel Labs VANC processing (in decklink driver)
%bcond_without libmysofa # sofalizer filter
%bcond_with librsvg # SVG rasterization via librsvg
%bcond_with libxml2 # XML parsing using libxml2
%bcond_without opengl # OpenGL rendering support
%bcond_with openh264 # OpenH264 H.264 encoder
%bcond_without openmpt # OpenMPT module decoder
+%bcond_with pocketsphinx # asr filter using PocketSphinx
%bcond_without pulseaudio # PulseAudio input support
%bcond_with rkmpp # Rockchip Media Process Platform code [implies libdrm]
%bcond_without rubberband # rubberband filter
Summary: FFmpeg - a very fast video and audio converter
Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
Name: ffmpeg
-Version: 4.2
-Release: 1
+Version: 4.2.2
+Release: 1.1
# LGPL or GPL, chosen at configure time (GPL version is more featured)
# GPL: frei0r libcdio libdavs2 rubberband vidstab x264 x265 xavs xavs2 xvid
# v3 (allows *GPLv3 or Apache-licensed libs): gmp lensfun opencore-amr vmaf vo-*enc rkmpp
License: GPL v3+ with LGPL v3+ parts
Group: Applications/Multimedia
Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.xz
-# Source0-md5: fb33a9110251873002869664686b2a3f
+# Source0-md5: 348956fc2faa57a2f79bbb84ded9fbc3
Patch0: %{name}-omx-libnames.patch
URL: http://www.ffmpeg.org/
%{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK >= 10.9.5}
BuildRequires: SDL2-devel < 2.1.0
BuildRequires: alsa-lib-devel
BuildRequires: aom-devel >= 1.0.0
+%{?with_aribb24:BuildRequires: aribb24-devel}
BuildRequires: bzip2-devel
BuildRequires: celt-devel >= 0.11.0
%{?with_codec2:BuildRequires: codec2-devel}
+%{?with_dav1d:BuildRequires: dav1d-devel >= 0.2.1}
+%{?with_avs2:BuildRequires: davs2-devel >= 1.6}
%{?with_fdk_aac:BuildRequires: fdk-aac-devel}
%{?with_flite:BuildRequires: flite-devel >= 1.4}
BuildRequires: fontconfig-devel
%{?with_libdrm:BuildRequires: libdrm-devel}
BuildRequires: libgsm-devel
BuildRequires: libiec61883-devel
+%{?with_libklvanc:BuildRequires: libklvanc-devel}
BuildRequires: libmodplug-devel
%{?with_libmysofa:BuildRequires: libmysofa-devel >= 0.7}
-%{?with_openmpt:BuildRequires: libopenmpt-devel >= 0.2.6557}
+%{?with_openmpt:BuildRequires: libopenmpt-devel >= 0.4.5}
BuildRequires: libraw1394-devel >= 2
%{?with_librsvg:BuildRequires: librsvg-devel >= 2}
BuildRequires: librtmp-devel
BuildRequires: nasm
%endif
%endif
-%{?with_ffnvcodec:BuildRequires: nv-codec-headers >= 8.1.24.2}
+%{?with_ffnvcodec:BuildRequires: nv-codec-headers >= 9.0.18.0}
# amrnb,amrwb
BuildRequires: opencore-amr-devel
%{?with_opencv:BuildRequires: opencv-devel >= 2}
BuildRequires: opus-devel
BuildRequires: perl-Encode
BuildRequires: perl-tools-pod
+%{?with_pocketsphinx:BuildRequires: pocketsphinx-devel > 0.8}
BuildRequires: pkgconfig
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
%{?with_rkmpp:BuildRequires: rockchip-mpp-devel >= 1.3.7}
%{?with_wavpack:BuildRequires: wavpack-devel}
%{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
BuildRequires: xavs-devel
+%{?with_avs2:BuildRequires: xavs2-devel >= 1.3}
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXv-devel
Requires: SDL2 >= 2.0.1
Requires: aom >= 1.0.0
Requires: celt >= 0.11.0
+%{?with_dav1d:Requires: dav1d >= 0.2.1}
+%{?with_avs2:Requires: davs2 >= 1.6}
%{?with_flite:Requires: flite >= 1.4}
%if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
# uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
%endif
%{?with_kvazaar:Requires: kvazaar-libs >= 0.8.1}
%{?with_libmysofa:Requires: libmysofa >= 0.7}
-%{?with_openmpt:Requires: libopenmpt >= 0.2.6557}
+%{?with_openmpt:Requires: libopenmpt >= 0.4.5}
Requires: libtheora >= 1.0-0.beta3
%if %{with va}
Requires: libva >= 1.0.3
%{?with_vapoursynth:Requires: vapoursynth >= 42}
%{?with_vidstab:Requires: vid.stab >= 0.98}
%{?with_vmaf:Requires: vmaf-libs >= 1.3.9}
+%{?with_avs2:Requires: xavs2 >= 1.3}
Requires: xvid >= 1:1.1.0
%{?with_zimg:Requires: zimg >= 2.7.0}
%{?with_zvbi:Requires: zvbi >= 0.2.28}
Requires: SDL2-devel >= 2.0.1
Requires: alsa-lib-devel
Requires: aom-devel >= 1.0.0
+%{?with_aribb24:Requires: aribb24-devel}
+%{?with_avs2:Requires: davs2-devel >= 1.6}
Requires: bzip2-devel
Requires: celt-devel >= 0.11.0
%{?with_codec2:Requires: codec2-devel}
+%{?with_dav1d:Requires: dav1d-devel >= 0.2.1}
%{?with_fdk_aac:Requires: fdk-aac-devel}
%{?with_flite:Requires: flite-devel >= 1.4}
Requires: fontconfig-devel
%{?with_libdrm:Requires: libdrm-devel}
Requires: libgsm-devel
Requires: libiec61883-devel
+%{?with_libklvanc:Requires: libklvanc-devel}
Requires: libmodplug-devel
%{?with_libmysofa:Requires: libmysofa-devel >= 0.7}
-%{?with_openmpt:Requires: libopenmpt-devel >= 0.2.6557}
+%{?with_openmpt:Requires: libopenmpt-devel >= 0.4.5}
Requires: libraw1394-devel >= 2
%{?with_librsvg:Requires: librsvg-devel >= 2}
Requires: librtmp-devel
%{?with_wavpack:Requires: wavpack-devel}
%{?with_ilbc:Requires: webrtc-libilbc-devel}
Requires: xavs-devel
+%{?with_avs2:Requires: xavs2-devel >= 1.3}
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXext-devel
Requires: xorg-lib-libXv-devel
--enable-avfilter \
--enable-avresample \
%{?with_chromaprint:--enable-chromaprint} \
- %{?with_cudasdk:--enable-cuda-sdk} \
+ %{?with_cudasdk:--enable-cuda-nvcc} \
%{?with_decklink:--enable-decklink} \
%{!?with_ffnvcodec:--disable-ffnvcodec} \
--enable-gnutls \
%{?with_frei0r:--enable-frei0r} \
%{?with_ladspa:--enable-ladspa} \
--enable-libaom \
+ %{?with_aribb24:--enable-libaribb24} \
--enable-libass \
--enable-libbluray \
%{?with_bs2b:--enable-libbs2b} \
--enable-libcelt \
--enable-libcdio \
%{?with_codec2:--enable-libcodec2} \
+ %{?with_dav1d:--enable-libdav1d} \
+ %{?with_avs2:--enable-libdavs2} \
--enable-libdc1394 \
%{?with_libdrm:--enable-libdrm} \
%{?with_flite:--enable-libflite} \
%{?with_ilbc:--enable-libilbc} \
--enable-libjack \
%{?with_kvazaar:--enable-libkvazaar} \
+ %{?with_libklvanc:--enable-libklvanc} \
%{?with_lensfun:--enable-liblensfun} \
%{?with_mfx:--enable-libmfx} \
--enable-libmodplug \
%{?with_x264:--enable-libx264} \
%{?with_x265:--enable-libx265} \
--enable-libxavs \
+ %{?with_avs2:--enable-libxavs2} \
--enable-libxcb \
--enable-libxvid \
%{?with_zimg:--enable-libzimg} \
%{?with_openal:--enable-openal} \
%{?with_opencl:--enable-opencl} \
%{?with_opengl:--enable-opengl} \
+ %{?with_pocketsphinx:--enable-pocketsphinx} \
--enable-postproc \
--enable-pthreads \
%{?with_rkmpp:--enable-rkmpp} \