Files
packages/anda/multimedia/ffmpeg/ffmpeg.spec
T
madomado f08edf4eef chore(sync): frawhide -> f43 (#6212)
* bump: python-shibuya

* bump: osu-lazer

* bump: zed-preview

* bump(branch): ffmpeg

* fix(dracut-strip-trigger): make trigger run later than dracut's one (#6046)

Signed-off-by: madomado <madonuko@outlook.com>

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: ruffle-nightly

* bump(nightly): legcord-nightly micro-nightly zed-nightly grabnim Carla-nightly scx-scheds-nightly spotx-bash

* bump: rust-mise

* bump: peazip

* bump: copyparty

* bump: copyparty

* bump: zig-master-bootstrap

* bump: copyparty

* bump(branch): zig-master

* bump: zed-preview

* bump: lomiri-system-settings

* bump: rpcs3

* bump: rust-mise

* bump(nightly): mpv-nightly hyprutils.nightly ghostty-nightly zed-nightly scx-scheds-nightly

* bump: ruffle-nightly golang-github-abenz1267-walker zed yt-dlp-git

* bump: xwayland-satellite

* bump: terra-mock-configs

* bump: zig-master-bootstrap

* bump(branch): zig-master

* feat(ci): better build workflows [attempt 2] (#6006)

* feat(ci): better build workflows

* fix(ci/json-build): forgot about the type

* chore: test if autobuild works

* Revert "chore: test if autobuild works"

This reverts commit 73fe8e636f.

* fix(ci/build): delay setup git

* fix(ci/build): need to git add all

* fix(ci/build): compact output from jq

* chore(ci/build): add run-name

* fix(ci/autobuild): inherit secrets

Signed-off-by: madomado <madonuko@outlook.com>

* fix(ci/build): inherit secrets

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>

* bump: rust-mise

* bump: yt-dlp-git

* bump: zed-preview zed

* bump: yt-dlp-git

* bump: zed-preview

* bump: rio

* bump: codium

* bump: yt-dlp-git

* bump: zed-preview

* bump: yt-dlp-git

* bump: ruffle-nightly zig-master-bootstrap tela-icon-theme

* bump(nightly): mpv-nightly winetricks-git ghostty-nightly zed-nightly prismlauncher-nightly libva-nvidia-driver scx-scheds-nightly rpi-utils

* bump(branch): zig-master

* bump: electron

* bump: osu-lazer

* bump: discord-canary-openasar discord-canary

* feat(ci): support f43 (#6088)

* Add: rp-appset (#6083)

* bump: xone

* bump(branch): xone-kmod dkms-xone

* bump: discord-canary-openasar discord-canary

* bump: discord-openasar discord golang-google-grpc.terra

* bump: yt-dlp-git

* bump: yt-dlp-git

* bump: yt-dlp-git

* bump: steam

* bump: steam

* bump: steam yt-dlp-git

* bump: steam yt-dlp-git

* bump: yt-dlp-git

* bump: steam yt-dlp-git

* bump: steam

* bump: steam

* bump(nightly): envision winetricks-git ghostty-nightly micro-nightly zed-nightly tdlib-nightly openbangla-keyboard-nightly scx-scheds-nightly rpi-utils

* bump: discord-canary-openasar discord-canary ruffle-nightly yt-dlp-git

* bump: yt-dlp-git

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: rpcs3

* bump: steam yt-dlp-git

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: steam

* bump: dart

* bump: steam

* bump: steam

* bump: steam mesa

* bump: steam rust-mise

* bump: steam

* bump: yt-dlp-git

* bump: steam

* bump: discord-openasar discord

* add: android-studio package (#6097)

* feat: add android-studio package

* chore: add packager metadata to spec file

* chore: add update.rhai and assist feedback

* bump: signal-desktop zig-master-bootstrap

* bump(branch): zig-master

* bump: yt-dlp-git

* bump: rpcs3

* bump: zed-preview zed

* bump: zed-preview

* bump: discord-canary-openasar discord-canary ruffle-nightly rust-mise

* bump(nightly): mpv-nightly hyprgraphics.nightly ghostty-nightly micro-nightly zed-nightly prismlauncher-nightly scx-scheds-nightly

* bump: golang-github-u-root

* bump: fluent-icon-theme

* bump: rpcs3

* bump: zed-preview

* bump: golang-github-abenz1267-walker

* bump: discord-ptb-openasar discord-ptb codium

* bump: bitwarden-cli.bin

* bump(branch): bitwarden-cli

* bump: yt-dlp-git

* bump: copyparty

* bump: yt-dlp-git

* bump(nightly): hyprutils.nightly ghostty-nightly zed-nightly prismlauncher-nightly nim-nightly nvidia-patch scx-scheds-nightly rpi-utils

* bump: flatpost ruffle-nightly

* bump: zig-master-bootstrap yt-dlp-git

* bump(branch): zig-master

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump(branch): ffmpeg

* bump: rust-mise

* bump: maple-fonts

* bump: rust-mise

* bump: lomiri-system-settings

* fix(zed*): exec correct binary from .desktop (#6077)

Resolve #6056

* bump: zapret

* bump: zed-preview zed

* bump: zed-preview rust-mise

* bump: rust-mise

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: discord-canary-openasar discord-canary

* fix(zed): change license path (#6109)

change license path from plex-mono/license.txt to
ibm-plex-sans/license.txt

* fix: micro (#6105)

Signed-off-by: madomado <madonuko@outlook.com>

* add: television (#6051)

* fix: fluent-icon-theme (#6106)

Signed-off-by: madomado <madonuko@outlook.com>

* fix(signal-desktop): build sticker-creator (#6092)

* add: flameshot.qt5 (#6087)

* bump: rust-television

* bump: yt-dlp-git

* bump: ruffle-nightly yt-dlp-git

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly scx-scheds-nightly

* fix(emulationstation-de): Drop patch, update build deps (#6117)

* fix(emulationstation-de): Drop patch

Signed-off-by: Gilver <rockgrub@disroot.org>

* fix: bluez-libs-devel

Signed-off-by: Gilver <rockgrub@disroot.org>

* fix: vulkan-loader-devel

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>

* bump: golang-github-abenz1267-walker

* bump: lomiri-system-settings

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* fix(android-studio): Don't overide libedit library (#6141)

* bump: komikku

* bump: ruffle-nightly yt-dlp-git

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly spotx-bash

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: groovy groovy-docs

* bump: golang-github-abenz1267-walker

* bump: rpcs3

* bump: rpcs3

* bump: ruffle-nightly

* bump(nightly): mpv-nightly winetricks-git ghostty-nightly zed-nightly nvidia-patch scx-scheds-nightly

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: flatpost

* bump: lomiri-system-settings

* bump: golang-github-abenz1267-walker

* bump: rpcs3

* bump: discord-canary-openasar discord-canary

* bump: flutter

* bump: zed-preview sass

* bump: discord-canary-openasar discord-canary

* bump(nightly): legcord-nightly winetricks-git hyprutils.nightly ghostty-nightly micro-nightly zed-nightly scx-scheds-nightly

* bump: ruffle-nightly

* bump: bun-bin

* bump: tela-icon-theme

* bump: liblsp-dsp

* bump: lomiri-system-settings

* bump: tela-icon-theme

* bump: tela-icon-theme

* bump: chezmoi

* bump: tela-icon-theme

* bump: golang-github-abenz1267-walker

* bump: golang-github-abenz1267-walker

* bump: discord-openasar discord

* bump: unity-session

* feat: Enable D3D12 for WSL in Mesa (#6150) (#6151)

(cherry picked from commit 81a050dcb1)

Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>

* chore: Split dxil into dxil and dxil-libs, allows both 32-bit and 64-bit support for spir-v to dxil (#6156) (#6158)

* chore: Split dxil into dxil and dxil-libs, allows both 32-bit and 64-bit support for spir-v to dxil



* chore: Increase release



* chore: Make dependency on mesa-dxil arch neutral



---------


(cherry picked from commit 7706984b3b)

Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>

* bump: ruffle-nightly

* bump(nightly): ghostty-nightly zed-nightly intel-ipu6-drivers scx-scheds-nightly

* fix: Make rawhide match f42 (#6164)

Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>

* bump(branch): intel-ipu6-kmod dkms-intel-ipu6

* fix: stupid typo for large runners (#6163)

* fix: stupid typo for large runners

* fix: use format instead of broken nested variable sub

* bump: readymade-git

* Feat: Switch mesa to large runners (#6157) (#6171)

* Feat: Switch mesa to large runners



* Bump release

* Bump release

---------


(cherry picked from commit cf014e92ce)

Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>

* bump: zig-master-bootstrap

* bump(branch): zig-master

* gamescope: rebase to 3.16.3 (#6175)

* bump: rust-mise

* bump: hypridle

* bump: zed-preview zed

* bump: yt-dlp-git

* bump: dart

* bump: golang-github-abenz1267-walker

* bump: zed-preview zed

* bump: discord-canary-openasar discord-canary

* bump: electron

* bump: signal-desktop copyparty yt-dlp-git

* bump: rpcs3

* bump: zig-master-bootstrap

* bump: yt-dlp-git

* bump(branch): zig-master

* bump: yt-dlp-git

* bump: yt-dlp-git

* bump: ruffle-nightly yt-dlp-git

* bump(nightly): ghostty-nightly zed-nightly nim-nightly scx-scheds-nightly rpi-utils

* bump: yt-dlp-git

* fix(komikku): add missing dependency on modern_colorthief (#6148)

* bump: nodejs-backport

* bump: anda-srpm-macros

* bump: arduino-cli

* fix(fluent-icon-theme): manually list out all files? (#6180)

* fix(fluent-icon-theme): manually list out all files?

Signed-off-by: madomado <madonuko@outlook.com>

* bump

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>

* fix(zed): missing rustc dep `libedit(x86-64)` (#6179)

* bump: zig-master-bootstrap

* fix(nodejs-backport): files (#6185) (#6186)

(cherry picked from commit 2e14d081bb)

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>

* bump(branch): zig-master

* bump: android-studio

* feat: remove %go_prep_online from all specs (#6194) (#6195)

* feat: remove %go_prep_online from all specs

* packager



* fix: GO111MODULE=on

* a

* aa

* aaa

* hah?

* feat: walker got rusted real?

* fedora moment

* /etc/xdg/walker/



---------


(cherry picked from commit aacc02e713)

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>

* bump: copyparty

* bump: zed-preview zed

* bump: ruffle-nightly

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly nim-nightly scx-scheds-nightly

* bump: zig-master-bootstrap

* bump(branch): zig-master

* bump: walker

* bump: discord-ptb-openasar discord-ptb

* bump: zed-preview zed

* bump: dwarfs

* bump: switcheroo-control wine-dev yt-dlp-git

* bump: rpcs3

* bump: yt-dlp-git

* bump: zed-preview zed

* bump: ruffle-nightly wine-staging

* bump(nightly): mpv-nightly ghostty-nightly zed-nightly astal scx-scheds-nightly

* bump(branch): astal-gtk

* bump: zig-master-bootstrap

* bump(branch): zig-master

* perf(ci): use arm runners (#6202)

* bump: wine-dxvk

* bump: walker

* fix(astal-gtk): add commit (#6204)

Signed-off-by: madomado <madonuko@outlook.com>

* feat(bootstrap): also init madoguchi?

* feat(release): bump to 43

---------

Signed-off-by: madomado <madonuko@outlook.com>
Signed-off-by: Gilver <rockgrub@disroot.org>
Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: Raboneko <raboneko@fyralabs.com>
Co-authored-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
Co-authored-by: Engels Tercero <75184282+like-engels@users.noreply.github.com>
Co-authored-by: Eason <30045503+Eason0729@users.noreply.github.com>
Co-authored-by: Gilver <rockgrub@disroot.org>
Co-authored-by: Raboneko <119771935+raboneko@users.noreply.github.com>
Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Co-authored-by: lea <lleyton@fyralabs.com>
Co-authored-by: Pornpipat Popum <cappy@cappuchino.xyz>
Co-authored-by: Lélahel <lelahx@proton.me>
2025-09-01 00:28:05 +08:00

675 lines
23 KiB
RPMSpec

%global _lto_cflags %{nil}
%global avcodec_soversion 61
%global avdevice_soversion 61
%global avfilter_soversion 10
%global avformat_soversion 61
%global avutil_soversion 59
%global postproc_soversion 58
%global swresample_soversion 5
%global swscale_soversion 8
Summary: A complete solution to record, convert and stream audio and video
Name: ffmpeg
Version: 8.0
Release: 1%?dist
License: LGPL-3.0-or-later
URL: http://%{name}.org/
Epoch: 1
Source0: http://%{name}.org/releases/%{name}-%{version}.tar.xz
# https://github.com/OpenVisualCloud/SVT-VP9/tree/master/ffmpeg_plugin
Patch0: %{name}-svt-vp9.patch
# https://github.com/HandBrake/HandBrake/tree/e117cfe7fca37abeec59ea4201e5d93ed7477746
Patch2: %{name}-HandBrake.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2240127
# Reference: https://crbug.com/1306560
Patch3: %{name}-chromium.patch
# Fix build with recent NVCC:
Patch4: %{name}-nvcc.patch
BuildRequires: AMF-devel >= 1.4.28
BuildRequires: bzip2-devel
BuildRequires: codec2-devel
BuildRequires: doxygen
BuildRequires: frei0r-devel
BuildRequires: gmp-devel
BuildRequires: gsm-devel
BuildRequires: ilbc-devel
BuildRequires: lame-devel >= 3.98.3
BuildRequires: ladspa-devel
BuildRequires: libavc1394-devel
BuildRequires: libchromaprint-devel
BuildRequires: libgcrypt-devel
BuildRequires: libiec61883-devel
BuildRequires: libklvanc-devel
BuildRequires: libtheora-devel
BuildRequires: libvdpau-devel
BuildRequires: libxavs-devel
BuildRequires: mesa-libGL-devel
BuildRequires: nasm
BuildRequires: ocl-icd-devel
BuildRequires: openal-soft-devel
BuildRequires: opencore-amr-devel
BuildRequires: perl(Pod::Man)
BuildRequires: snappy-devel
BuildRequires: soxr-devel
BuildRequires: subversion
BuildRequires: texinfo
BuildRequires: twolame-devel >= 0.3.10
BuildRequires: vo-amrwbenc-devel
BuildRequires: xvidcore-devel
BuildRequires: xz-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(aom) >= 1.0.0
BuildRequires: pkgconfig(aribb24) >= 1.0.3
BuildRequires: pkgconfig(caca)
BuildRequires: pkgconfig(dav1d) >= 0.5.0
BuildRequires: pkgconfig(davs2) >= 1.6.0
BuildRequires: pkgconfig(dvdnav) >= 6.1.1
BuildRequires: pkgconfig(fdk-aac)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(fribidi)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(kvazaar) >= 0.8.1
BuildRequires: pkgconfig(lc3) >= 1.1.0
BuildRequires: pkgconfig(lcms2) >= 2.13
BuildRequires: pkgconfig(lcevc_dec) >= 2.0.0
BuildRequires: pkgconfig(libaribcaption) >= 1.1.1
BuildRequires: pkgconfig(libass) >= 0.11.0
BuildRequires: pkgconfig(libbluray)
BuildRequires: pkgconfig(libbs2b)
BuildRequires: pkgconfig(libcdio_paranoia)
BuildRequires: pkgconfig(libdc1394-2)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libgme)
BuildRequires: pkgconfig(libjxl) >= 0.7.0
#BuildRequires: pkgconfig(lensfun) > 0.3.95
BuildRequires: pkgconfig(libmodplug)
BuildRequires: pkgconfig(libmysofa)
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0
BuildRequires: pkgconfig(libopenmpt) >= 0.2.6557
BuildRequires: pkgconfig(libplacebo) >= 4.192.0
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libqrencode)
#BuildRequires: pkgconfig(libquirc)
BuildRequires: pkgconfig(librabbitmq) >= 0.7.1
BuildRequires: pkgconfig(librist) >= 0.2.7
BuildRequires: pkgconfig(librtmp)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libssh)
BuildRequires: pkgconfig(libtcmalloc)
BuildRequires: pkgconfig(libva) >= 0.35.0
BuildRequires: pkgconfig(libva-drm)
BuildRequires: pkgconfig(libva-x11)
BuildRequires: pkgconfig(libv4l2)
BuildRequires: pkgconfig(libvvenc) >= 1.11.0
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libwebpmux) >= 0.4.0
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libzmq) >= 4.2.1
BuildRequires: pkgconfig(lilv-0)
BuildRequires: pkgconfig(lv2)
#BuildRequires: pkgconfig(OpenCL)
#BuildRequires: pkgconfig(opencv)
BuildRequires: pkgconfig(openh264)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(rav1e) >= 0.4.0
BuildRequires: pkgconfig(rubberband) >= 1.8.1
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(shaderc) >= 2019.1
#BuildRequires: pkgconfig(shine)
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(srt) >= 1.3.0
BuildRequires: pkgconfig(tesseract)
BuildRequires: pkgconfig(uavs3d) >= 1.1.41
BuildRequires: pkgconfig(vapoursynth-script) >= 42
BuildRequires: pkgconfig(vidstab) >= 0.98
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(vpx) >= 1.4.0
BuildRequires: pkgconfig(vulkan) >= 1.3.277
BuildRequires: pkgconfig(xavs2) >= 1.3.0
BuildRequires: pkgconfig(xcb) >= 1.4
BuildRequires: pkgconfig(xcb-shape)
BuildRequires: pkgconfig(xcb-shm)
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x264)
BuildRequires: pkgconfig(x265)
BuildRequires: pkgconfig(xv)
BuildRequires: pkgconfig(zimg) >= 2.7.0
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28
%ifarch x86_64 aarch64
# Nvidia CUVID support and Performance Primitives based code
BuildRequires: cuda-cudart-devel
BuildRequires: cuda-nvcc
BuildRequires: libnpp-devel
BuildRequires: pkgconfig(ffnvcodec) >= 12.0.16.0
%endif
%ifarch x86_64
BuildRequires: pkgconfig(libmfx)
BuildRequires: pkgconfig(libvmaf) >= 2.0.0
BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0
BuildRequires: pkgconfig(SvtVp9Enc)
BuildRequires: pkgconfig(vpl) >= 2.6
#BuildRequires: pkgconfig(xevd) >= 0.4.1
#BuildRequires: pkgconfig(xeve) >= 0.4.3
%endif
Obsoletes: %{name}-free < %{epoch}:%{version}-%{release}
Provides: %{name}-free = %{epoch}:%{version}-%{release}
%description
FFmpeg is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
%package libs
Summary: Metapackage for %{name} libraries
Requires: libavcodec%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavdevice%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavfilter%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavformat%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libpostproc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswresample%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswscale%{?_isa} = %{epoch}:%{version}-%{release}
%description libs
FFmpeg is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
This metapackage pulls in all the %{name} libraries.
%package devel
Summary: Metapackage for %{name} development files
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
%description devel
FFmpeg is a complete and free Internet live audio and video broadcasting
solution for Linux/Unix. It also includes a digital VCR. It can encode in real
time in many formats. This package contains development files for %{name}.
%package -n libavcodec
Summary: FFmpeg codec library
Obsoletes: libavcodec-free < %{epoch}:%{version}-%{release}
Provides: libavcodec-free = %{epoch}:%{version}-%{release}
%description -n libavcodec
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.
%package -n libavcodec-devel
Summary: Development files for FFmpeg's codec library
Requires: libavcodec%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Obsoletes: libavcodec-free-devel < %{epoch}:%{version}-%{release}
Provides: libavcodec-free-devel = %{epoch}:%{version}-%{release}
%description -n libavcodec-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
Summary: FFMpeg devices muxing/demuxing library
Obsoletes: libavdevice-free < %{epoch}:%{version}-%{release}
Provides: libavdevice-free = %{epoch}:%{version}-%{release}
%description -n libavdevice
Libavdevice is a complementary library to libavf "libavformat". It provides
various "special" platform-specific muxers and demuxers, e.g. for grabbing
devices, audio capture and playback etc.
%package -n libavdevice-devel
Summary: Development files for FFMpeg devices muxing/demuxing library
Requires: libavcodec-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavdevice%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavfilter-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavformat-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Obsoletes: libavdevice-free-devel < %{epoch}:%{version}-%{release}
Provides: libavdevice-free-devel = %{epoch}:%{version}-%{release}
%description -n libavdevice-devel
This subpackage contains the headers for FFmpeg libavdevice.
%package -n libavfilter
Summary: FFmpeg audio and video filtering library
Requires: libavcodec%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavformat%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libpostproc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswresample%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswscale%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes: libavfilter-free < %{epoch}:%{version}-%{release}
Provides: libavfilter-free = %{epoch}:%{version}-%{release}
%description -n libavfilter
The libavfilter library provides a generic audio/video filtering framework
containing several filters, sources and sinks.
%package -n libavfilter-devel
Summary: Development files for FFmpeg's audio/video filter library
Requires: libavcodec-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavfilter%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavformat-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libpostproc-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswresample-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswscale-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Obsoletes: libavfilter-free-devel < %{epoch}:%{version}-%{release}
Provides: libavfilter-free-devel = %{epoch}:%{version}-%{release}
%description -n libavfilter-devel
This subpackage contains the headers for FFmpeg libavfilter.
%package -n libavformat
Summary: FFmpeg's stream format library
Obsoletes: libavformat-free < %{epoch}:%{version}-%{release}
Provides: libavformat-free = %{epoch}:%{version}-%{release}
%description -n libavformat
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.
%package -n libavformat-devel
Summary: Development files for FFmpeg's stream format library
Requires: libavcodec-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavformat%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswresample-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Obsoletes: libavformat-free-devel < %{epoch}:%{version}-%{release}
Provides: libavformat-free-devel = %{epoch}:%{version}-%{release}
%description -n libavformat-devel
This subpackage contains the headers for FFmpeg libavformat.
%package -n libavutil
Summary: FFmpeg's utility library
Obsoletes: libavutil-free < %{epoch}:%{version}-%{release}
Provides: libavutil-free = %{epoch}:%{version}-%{release}
%description -n libavutil
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-devel
Summary: Development files for FFmpeg's utility library
Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Obsoletes: libavutil-free-devel < %{epoch}:%{version}-%{release}
Provides: libavutil-free-devel = %{epoch}:%{version}-%{release}
%description -n libavutil-devel
This subpackage contains the headers for FFmpeg libavutil.
%package -n libpostproc
Summary: FFmpeg post-processing library
Obsoletes: libpostproc-free < %{epoch}:%{version}-%{release}
Provides: libpostproc-free = %{epoch}:%{version}-%{release}
%description -n libpostproc
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-devel
Summary: Development files for the FFmpeg post-processing library
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libpostproc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
Obsoletes: libpostproc-free-devel < %{epoch}:%{version}-%{release}
Provides: libpostproc-free-devel = %{epoch}:%{version}-%{release}
%description -n libpostproc-devel
This subpackage contains the headers for FFmpeg libpostproc.
%package -n libswresample
Summary: FFmpeg software resampling library
Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes: libavresemple < %{epoch}:%{version}-%{release}
Provides: libavresemple = %{epoch}:%{version}-%{release}
Obsoletes: libswresample-free < %{epoch}:%{version}-%{release}
Provides: libswresample-free = %{epoch}:%{version}-%{release}
%description -n libswresample
The libswresample library performs audio conversion between different
sample rates, channel layout and channel formats.
%package -n libswresample-devel
Summary: Development files for the FFmpeg software resampling library
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswresample%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes: libavresemple-devel < %{epoch}:%{version}-%{release}
Provides: libavresemple-devel = %{epoch}:%{version}-%{release}
Obsoletes: libswresample-free-devel < %{epoch}:%{version}-%{release}
Provides: libswresample-free-devel = %{epoch}:%{version}-%{release}
%description -n libswresample-devel
This subpackage contains the headers for FFmpeg libswresample.
%package -n libswscale
Summary: FFmpeg image scaling and colorspace/pixel conversion library
Obsoletes: libswscale-free < %{epoch}:%{version}-%{release}
Provides: libswscale-free = %{epoch}:%{version}-%{release}
%description -n libswscale
The libswscale library performs image scaling and colorspace and
pixel format conversion operations.
%package -n libswscale-devel
Summary: Development files for FFmpeg's image scaling and colorspace library
Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release}
Requires: libswscale%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes: libswscale-free-devel < %{epoch}:%{version}-%{release}
Provides: libswscale-free-devel = %{epoch}:%{version}-%{release}
%description -n libswscale-devel
This subpackage contains the headers for FFmpeg libswscale.
%prep
%autosetup -p1
# Uncomment to enable debugging while configuring
#sed -i -e 's|#!/bin/sh|#!/bin/sh -x|g' configure
%build
# Work around a new GCC15 change until FFmpeg updates for it
%if 0%{?fedora} >= 42
%if "%{version}" <= "7.1.1"
export CFLAGS="%{optflags} -Wno-incompatible-pointer-types"
%endif
%endif
%set_build_flags
./configure \
--arch=%{_target_cpu} \
--bindir=%{_bindir} \
--datadir=%{_datadir}/%{name} \
--disable-static \
--disable-stripping \
--enable-amf \
--enable-avcodec \
--enable-avdevice \
--enable-avfilter \
--enable-avformat \
--enable-alsa \
--enable-bzlib \
--enable-chromaprint \
--enable-frei0r \
--enable-gcrypt \
--enable-gmp \
--enable-gpl \
--enable-gray \
--enable-iconv \
--enable-ladspa \
--enable-lcms2 \
--enable-libass \
--enable-libaom \
--enable-libaribb24 \
--enable-libaribcaption \
--enable-libass \
--enable-libbluray \
--enable-libbs2b \
--enable-libcaca \
--enable-libcdio \
--enable-libcodec2 \
--enable-libdav1d \
--enable-libdavs2 \
--enable-libdc1394 \
--enable-libdrm \
--enable-libdvdnav \
--enable-libdvdread \
--enable-libfdk-aac \
--enable-libfontconfig \
--enable-libfreetype \
--enable-libfribidi \
--enable-libgme \
--enable-libgsm \
--enable-libharfbuzz \
--enable-libiec61883 \
--enable-libilbc \
--enable-libjack \
--enable-libjxl \
--enable-libklvanc \
--enable-libkvazaar \
--enable-liblc3 \
--disable-liblensfun \
--enable-liblcevc-dec \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libmysofa \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--disable-libopencv \
--enable-libopenh264 \
--enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \
--enable-libplacebo \
--enable-libpulse \
--enable-libqrencode \
--disable-libquirc \
--enable-librabbitmq \
--enable-librav1e \
--enable-librist \
--enable-librsvg \
--enable-librtmp \
--enable-librubberband \
--enable-libshaderc \
--disable-libshine \
--enable-libsmbclient \
--enable-libsnappy \
--enable-libsoxr \
--enable-libspeex \
--enable-libsrt \
--enable-libssh \
--disable-libtensorflow \
--enable-libtesseract \
--enable-libtheora \
--disable-libtorch \
--enable-libtwolame \
--enable-libuavs3d \
--enable-libv4l2 \
--enable-libvidstab \
--enable-libvo-amrwbenc \
--enable-libvorbis \
--enable-libvpx \
--enable-libvvenc \
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-libxavs2 \
--enable-libxavs \
--enable-libxcb \
--enable-libxcb-shape \
--enable-libxcb-shm \
--enable-libxcb-xfixes \
--enable-libxml2 \
--enable-libxvid \
--enable-libzimg \
--enable-libzmq \
--enable-libzvbi \
--enable-lv2 \
--enable-lzma \
--enable-nonfree \
--enable-manpages \
--enable-openal \
--enable-opencl \
--enable-opengl \
--enable-openssl \
--enable-postproc \
--enable-sdl2 \
--enable-shared \
--enable-swresample \
--enable-swscale \
--enable-v4l2-m2m \
--enable-vaapi \
--enable-vapoursynth \
--enable-version3 \
--enable-vdpau \
--enable-vulkan \
--enable-xlib \
--enable-zlib \
--extra-ldflags="%{build_ldflags}" \
--incdir=%{_includedir} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--optflags="%{build_cflags}" \
--prefix=%{_prefix} \
--shlibdir=%{_libdir} \
%ifarch x86_64 aarch64
--enable-cuda-nvcc \
--enable-cuvid \
--enable-ffnvcodec \
--enable-libnpp \
--enable-nvdec \
--enable-nvenc \
--extra-cflags="-I%{_includedir}/cuda" \
%endif
%ifarch x86_64
--enable-libsvtav1 \
--enable-libsvtvp9 \
--enable-libvmaf \
--enable-libvpl \
# --enable-libxevd \
# --enable-libxeve \
%endif
%make_build V=1
make documentation V=1
make alltools V=1
%install
%make_install
# Let rpmbuild pick up the docs
rm -fr %{buildroot}%{_docdir}/*
rm -fr %{buildroot}%{_datadir}/examples
mkdir doc/html
mv doc/*.html doc/html
%files
%{_bindir}/%{name}
%{_bindir}/ffplay
%{_bindir}/ffprobe
%{_mandir}/man1/%{name}*.1*
%{_mandir}/man1/ffplay*.1*
%{_mandir}/man1/ffprobe*.1*
%{_datadir}/%{name}
%files libs
%license COPYING.* LICENSE.md
%doc MAINTAINERS README.md CREDITS Changelog RELEASE_NOTES
%files devel
%doc doc/APIchanges doc/*.txt
%doc doc/html doc/examples
%files -n libavcodec
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavcodec.so.%{avcodec_soversion}*
%files -n libavcodec-devel
%{_includedir}/libavcodec
%{_libdir}/pkgconfig/libavcodec.pc
%{_libdir}/libavcodec.so
%{_mandir}/man3/libavcodec.3*
%files -n libavdevice
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavdevice.so.%{avdevice_soversion}*
%files -n libavdevice-devel
%{_includedir}/libavdevice
%{_libdir}/pkgconfig/libavdevice.pc
%{_libdir}/libavdevice.so
%{_mandir}/man3/libavdevice.3*
%files -n libavfilter
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavfilter.so.%{avfilter_soversion}*
%files -n libavfilter-devel
%{_includedir}/libavfilter
%{_libdir}/pkgconfig/libavfilter.pc
%{_libdir}/libavfilter.so
%{_mandir}/man3/libavfilter.3*
%files -n libavformat
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavformat.so.%{avformat_soversion}*
%files -n libavformat-devel
%{_includedir}/libavformat
%{_libdir}/pkgconfig/libavformat.pc
%{_libdir}/libavformat.so
%{_mandir}/man3/libavformat.3*
%files -n libavutil
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libavutil.so.%{avutil_soversion}*
%files -n libavutil-devel
%{_includedir}/libavutil
%{_libdir}/pkgconfig/libavutil.pc
%{_libdir}/libavutil.so
%{_mandir}/man3/libavutil.3*
%files -n libpostproc
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libpostproc.so.%{postproc_soversion}*
%files -n libpostproc-devel
%{_includedir}/libpostproc
%{_libdir}/pkgconfig/libpostproc.pc
%{_libdir}/libpostproc.so
%files -n libswresample
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libswresample.so.%{swresample_soversion}*
%files -n libswresample-devel
%{_includedir}/libswresample
%{_libdir}/pkgconfig/libswresample.pc
%{_libdir}/libswresample.so
%{_mandir}/man3/libswresample.3*
%files -n libswscale
%license COPYING.GPLv2 LICENSE.md
%{_libdir}/libswscale.so.%{swscale_soversion}*
%files -n libswscale-devel
%{_includedir}/libswscale
%{_libdir}/pkgconfig/libswscale.pc
%{_libdir}/libswscale.so
%{_mandir}/man3/libswscale.3*
%changelog
%autochangelog