]> git.pld-linux.org Git - packages/ffmpeg.git/blame - ffmpeg.spec
Release 4 (by relup.sh)
[packages/ffmpeg.git] / ffmpeg.spec
CommitLineData
44f5d561 1# TODO:
f31e1135 2# - libopenvino, librist >= 0.2, libsvtav1 (SvtAv1Enc) >= 0.8.4, libuavs3d >= 1.1.41
f5aa1c6a 3# - libtensorflow [-ltensorflow tensorflow/c/c_api.h]
503d83e5 4# - AMF >= 1.4.9.0 (available at https://github.com/GPUOpen-LibrariesAndSDKs/AMF, where is original source?)
197f4211 5#
d0745ce6 6# How to deal with ffmpeg/opencv/chromaprint checken-egg problem:
29c7bf5c 7# 1. make-request -r --with bootstrap ffmpeg.spec
d0745ce6
JR
8# 2 bump release of opencv.spec and chromaprint.spec
9# 3. make-request -r opencv.spec chromaprint.spec
10# 4. bump release of ffmpeg.spec
11# 5. make-request -r ffmpeg.spec
192f9f57 12#
2b3b2117 13# Conditional build:
29c7bf5c 14%bcond_with bootstrap # disable features to able to build without installed ffmpeg
45620667 15%bcond_with nonfree # unblock non free options of package (currently: cuda_nvcc, decklib, fdk_aac, npp, openssl, libressl/libtls)
471f06b0 16%bcond_without amr # AMR-NB/WB de/encoding via libopencore-amrnb/wb
45620667 17%bcond_without aribb24 # ARIB text and caption decoding via libaribb24
471f06b0 18%bcond_without avs # AVS encoding via xavs
45620667 19%bcond_without avs2 # AVS2 de/encoding via libdavs2/libxavs2
4474c07d 20%bcond_without bs2b # BS2B audio filter support
1c1d1368 21%bcond_without caca # textual display using libcaca
7fd3d5c0 22%bcond_without codec2 # codec2 support using libcodec2
0fdde3cc 23%bcond_without chromaprint # audio fingerprinting with chromaprint
45620667 24%bcond_with cudasdk # NVIDIA CUDA code using nvcc from CUDA SDK [BR: cuda.h, non-free]
f7f28937 25%bcond_without dav1d # AV1 decoding via libdav1d
471f06b0 26%bcond_without dc1394 # IIDC-1394 grabbing using libdc1394
1b2d21b4 27%bcond_with decklink # Blackmagic DeckLink I/O support (requires nonfree)
7003e3a3 28%bcond_with fdk_aac # AAC de/encoding via libfdk_aac (requires nonfree)
f5aa1c6a 29%bcond_without ffnvcodec # NVIDIA codecs support using ffnvcodec headers (covered: cuda cuvid nvdec nvenc)
a584ded4
JB
30%bcond_without flite # flite voice synthesis support
31%bcond_without frei0r # frei0r video filtering
4474c07d 32%bcond_without fribidi # fribidi support
503d83e5 33%bcond_without glslang # GLSL->SPIRV compilation via libglslang
22745365 34%bcond_without gme # Game Music Emu support
471f06b0
JP
35%bcond_without gsm # GSM de/encoding via libgsm
36%bcond_without iec61883 # ec61883 via libiec61883
cbeed0a5 37%bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
7160e157 38%bcond_without kvazaar # Kvazaar HEVC encoder support
5f3dc7d9 39%bcond_without ladspa # LADSPA audio filtering
f31e1135 40%bcond_with lensfun # lensfun lens correction
44f5d561 41%bcond_with libdrm # Linux Direct Rendering Manager code
1b2d21b4 42%bcond_with libklvanc # Kernel Labs VANC processing (in decklink driver)
f5aa1c6a 43%bcond_without libmysofa # sofalizer filter
44f5d561
JB
44%bcond_with librsvg # SVG rasterization via librsvg
45%bcond_with libxml2 # XML parsing using libxml2
f5aa1c6a 46%bcond_without lv2 # LV2 audio filtering
0258feb8 47%bcond_with mfx # MFX hardware acceleration support
471f06b0 48%bcond_without modplug # ModPlug via libmodplug
7003e3a3 49%bcond_with npp # NVIDIA Performance Primitives-based code (requires nonfree) [BR: libnppc+libnppi, npp.h]
7003e3a3 50%bcond_without omx # OpenMAX IL support
a584ded4 51%bcond_without openal # OpenAL 1.1 capture support
6513d7e3 52%bcond_without opencl # OpenCL 1.2 code
a9e080d9 53%bcond_without opencv # OpenCV video filtering
0258feb8
JB
54%bcond_without opengl # OpenGL rendering support
55%bcond_with openh264 # OpenH264 H.264 encoder
6dfc7c2a 56%bcond_without openmpt # OpenMPT module decoder
45620667 57%bcond_with pocketsphinx # asr filter using PocketSphinx
a584ded4 58%bcond_without pulseaudio # PulseAudio input support
503d83e5 59%bcond_without rabbitmq # RabbitMQ support
02280f85 60%bcond_with rav1e # AV1 encoding using rav1e
f5aa1c6a 61%bcond_with rkmpp # Rockchip Media Process Platform code [implies libdrm]
0fdde3cc 62%bcond_without rubberband # rubberband filter
f56b6dce 63%bcond_without shine # shine fixed-point MP3 encoder
7160e157 64%bcond_without snappy # Snappy compression support (needed for hap encoding)
f5aa1c6a 65%bcond_without srt # Haivision SRT protocol support
0258feb8 66%bcond_without ssh # SFTP protocol support via libssh
4474c07d 67%bcond_with smb # SMB support via libsmbclient
05408820 68%bcond_without soxr # SoX Resampler support
e5c1d36e 69%bcond_with tesseract # OCR filter based on Tesseract
471f06b0 70%bcond_without theora # Theora encoding via libtheora
f5aa1c6a 71%bcond_without vmaf # VMAF filter support
8b9d2787 72%bcond_without x264 # H.264 x264 encoder
90ab353a 73%bcond_without x265 # H.265/HEVC x265 encoder
80105e83 74%bcond_with v4l2_request # V4L2 request API for stateless hw decoding
1ef27ea1 75%bcond_without va # VAAPI (Video Acceleration API)
f5aa1c6a 76%bcond_without vapoursynth # VapourSynth demuxer
f56b6dce 77%bcond_without vidstab # vid.stab video stabilization support
471f06b0 78%bcond_without voamrwbenc # MR-WB encoding via libvo-amrwbenc
1ef27ea1 79%bcond_without vpx # VP8, a high-quality video codec
503d83e5 80%bcond_without vulkan # Vulkan code
8b9d2787 81%bcond_without webp # WebP encoding support
471f06b0 82%bcond_without xvid # vid encoding via xvidcore
e5c1d36e 83%bcond_without zimg # zscale filter based on z.lib
6a6b11be 84%bcond_without zmq # 0MQ message passing
5f3dc7d9 85%bcond_without zvbi # teletext via libzvbi
1ef27ea1 86%bcond_without doc # don't build docs
560d82ce 87%bcond_with tests # "make check" (some tests fail as of 2.5)
314ef0df 88
29c7bf5c
ER
89%if %{with bootstrap}
90%undefine with_opencv
d0745ce6 91%undefine with_chromaprint
29c7bf5c 92%endif
80105e83 93%if %{with rkmpp} || %{with v4l2_request}
f5aa1c6a
JB
94%define with_libdrm 1
95%endif
29c7bf5c 96
f5aa1c6a
JB
97%ifnarch %{ix86} %{x8664}
98%undefine with_ffnvcodec
99%endif
02280f85
JB
100%ifnarch %{ix86} %{x8664} aarch64
101%undefine with_rav1e
102%endif
7003e3a3 103%ifnarch %{ix86} %{x8664} %{arm}
a6755e78
JB
104%undefine with_x265
105%endif
106%ifarch i386 i486
107%undefine with_x265
108%endif
471f06b0
JP
109%ifarch i686 pentium4 athlon %{x8664} x32
110%define with_crystalhd 1
111%endif
cbdd2688
JB
112Summary: FFmpeg - a very fast video and audio converter
113Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
9fc4ad22 114Name: ffmpeg
f31e1135 115Version: 4.4
13a87a6a 116Release: 4
9cf4d8a4 117# LGPL or GPL, chosen at configure time (GPL version is more featured)
f5aa1c6a
JB
118# GPL: frei0r libcdio libdavs2 rubberband vidstab x264 x265 xavs xavs2 xvid
119# v3 (allows *GPLv3 or Apache-licensed libs): gmp lensfun opencore-amr vmaf vo-*enc rkmpp
120# GPLv3: smbclient
0b43f655 121License: GPL v3+ with LGPL v3+ parts
fde29260 122Group: Applications/Multimedia
c732abb0 123Source0: https://ffmpeg.org/releases/%{name}-%{version}.tar.xz
f31e1135 124# Source0-md5: 7b9d5b652d20e8c5405304ad72636d4a
7003e3a3 125Patch0: %{name}-omx-libnames.patch
2a2ce640 126Patch1: %{name}-atadenoise.patch
a9e080d9 127Patch2: opencv4.patch
80105e83 128Patch3: v4l2-request-hwdec.patch
f31e1135 129Patch4: %{name}-glslang.patch
85f7cea1 130URL: http://www.ffmpeg.org/
f31e1135 131%{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK >= 10.10}
28673856 132%{?with_openal:BuildRequires: OpenAL-devel >= 1.1}
6a6b11be 133%{?with_opencl:BuildRequires: OpenCL-devel >= 1.2}
8b9d2787 134%{?with_opengl:BuildRequires: OpenGL-GLX-devel}
7003e3a3
JB
135# libomxil-bellagio-devel or limoi-core-devel (just headers, library is dlopened at runtime)
136%{?with_omx:BuildRequires: OpenMAX-IL-devel}
137BuildRequires: SDL2-devel >= 2.0.1
44f5d561 138BuildRequires: SDL2-devel < 2.1.0
503d83e5 139%{?with_vulkan:BuildRequires: Vulkan-Loader-devel >= 1.1.97}
cbdd2688 140BuildRequires: alsa-lib-devel
a8e80bf7 141BuildRequires: aom-devel >= 1.0.0
45620667 142%{?with_aribb24:BuildRequires: aribb24-devel}
38cefaee 143BuildRequires: bzip2-devel
9f9ba8ac 144BuildRequires: celt-devel >= 0.11.0
7fd3d5c0 145%{?with_codec2:BuildRequires: codec2-devel}
f31e1135 146%{?with_dav1d:BuildRequires: dav1d-devel >= 0.5.0}
45620667 147%{?with_avs2:BuildRequires: davs2-devel >= 1.6}
004e5628 148%{?with_fdk_aac:BuildRequires: fdk-aac-devel}
a584ded4 149%{?with_flite:BuildRequires: flite-devel >= 1.4}
3dcb8642 150BuildRequires: fontconfig-devel
0aad4bf2 151BuildRequires: freetype-devel
d7a39558 152%{?with_frei0r:BuildRequires: frei0r-devel}
4474c07d 153%{?with_fribidi:BuildRequires: fribidi-devel}
22745365 154%{?with_gme:BuildRequires: game-music-emu-devel}
4bee03f0
JB
155%ifarch ppc
156# require version with altivec support fixed
157BuildRequires: gcc >= 5:3.3.2-3
158%endif
f31e1135 159%{?with_glslang:BuildRequires: glslang-devel >= 11}
fecf9f23 160BuildRequires: gmp-devel
d5aef92e 161BuildRequires: gnutls-devel
cbdd2688 162BuildRequires: jack-audio-connection-kit-devel
bd64dc4c 163%{?with_kvazaar:BuildRequires: kvazaar-devel >= 0.8.1}
5f3dc7d9 164%{?with_ladspa:BuildRequires: ladspa-devel}
cbdd2688 165BuildRequires: lame-libs-devel >= 3.98.3
f31e1135 166%{?with_lensfun:BuildRequires: lensfun-devel >= 0.3.95}
d5aef92e 167BuildRequires: libass-devel
471f06b0 168%{?with_iec61883:BuildRequires: libavc1394-devel}
4474c07d 169%{?with_bs2b:BuildRequires: libbs2b-devel}
3dcb8642 170BuildRequires: libbluray-devel
1c1d1368 171%{?with_caca:BuildRequires: libcaca-devel}
a09e741c 172BuildRequires: libcdio-paranoia-devel >= 0.90-2
0fdde3cc 173%{?with_chromaprint:BuildRequires: libchromaprint-devel}
471f06b0
JP
174%{?with_crystalhd:BuildRequires: libcrystalhd-devel}
175%{?with_dc1394:BuildRequires: libdc1394-devel >= 2}
44f5d561 176%{?with_libdrm:BuildRequires: libdrm-devel}
471f06b0
JP
177%{?with_gsm:BuildRequires: libgsm-devel}
178%{?with_iec61883:BuildRequires: libiec61883-devel}
1b2d21b4 179%{?with_libklvanc:BuildRequires: libklvanc-devel}
471f06b0 180%{?with_modplug:BuildRequires: libmodplug-devel}
5de7eee9 181%{?with_libmysofa:BuildRequires: libmysofa-devel >= 0.7}
c4a15b86 182%{?with_openmpt:BuildRequires: libopenmpt-devel >= 0.4.5}
471f06b0 183%if %{with dc1394} || %{with iec61883}
7571bfa0 184BuildRequires: libraw1394-devel >= 2
471f06b0 185%endif
44f5d561 186%{?with_librsvg:BuildRequires: librsvg-devel >= 2}
cbdd2688 187BuildRequires: librtmp-devel
5f3dc7d9 188%{?with_ssh:BuildRequires: libssh-devel}
4474c07d 189%{?with_smb:BuildRequires: libsmbclient-devel}
471f06b0 190%{?with_theora:BuildRequires: libtheora-devel >= 1.0-0.beta3}
4814ac84 191BuildRequires: libtool >= 2:1.4d-3
daf9a670 192BuildRequires: libv4l-devel
7003e3a3
JB
193%if %{with va}
194BuildRequires: libva-devel >= 1.0.3
195BuildRequires: libva-drm-devel >= 1.0.3
196BuildRequires: libva-x11-devel >= 1.0.3
197%endif
503d83e5 198BuildRequires: libvdpau-devel >= 1.3
e380e18a 199BuildRequires: libvorbis-devel
ff838fc6 200%{?with_vpx:BuildRequires: libvpx-devel >= 1.4.0}
fecf9f23 201%{?with_webp:BuildRequires: libwebp-devel >= 0.4.0}
660918c5
AM
202# X264_BUILD >= 118
203%{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
503d83e5
JB
204# X265_BUILD >= 70
205%{?with_x265:BuildRequires: libx265-devel >= 1.9}
560d82ce 206# libxcb xcb-shm xcb-xfixes xcb-shape
0258feb8 207BuildRequires: libxcb-devel >= 1.4
44f5d561 208%{?with_libxml2:BuildRequires: libxml2-devel >= 2}
f5aa1c6a 209%{?with_lv2:BuildRequires: lilv-devel}
80105e83 210%{?with_v4l2_request:BuildRequires: linux-libc-headers >= 7:5.11.0}
f5aa1c6a 211%{?with_lv2:BuildRequires: lv2-devel}
503d83e5 212%{?with_mfx:BuildRequires: mfx_dispatch-devel >= 1.19}
e1fe03f7 213%ifarch %{ix86}
214%ifnarch i386 i486
76243dbd
JB
215BuildRequires: nasm
216%endif
e1fe03f7 217%endif
503d83e5 218%{?with_ffnvcodec:BuildRequires: nv-codec-headers >= 9.1.23.1}
7fd3d5c0 219# amrnb,amrwb
471f06b0 220%{?with_amr:BuildRequires: opencore-amr-devel}
f5aa1c6a 221%{?with_opencv:BuildRequires: opencv-devel >= 2}
62da4e00 222%{?with_openh264:BuildRequires: openh264-devel >= 1.3}
7003e3a3 223BuildRequires: openjpeg2-devel >= 2.1
1c1d1368 224BuildRequires: opus-devel
136f0f45 225BuildRequires: perl-Encode
1463656a 226BuildRequires: perl-tools-pod
45620667 227%{?with_pocketsphinx:BuildRequires: pocketsphinx-devel > 0.8}
ef3c0513 228BuildRequires: pkgconfig
1c1d1368 229%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
503d83e5 230%{?with_rabbitmq:BuildRequires: rabbitmq-c-devel >= 0.7.1}
f31e1135 231%{?with_rav1e:BuildRequires: rav1e-devel >= 0.4.0}
f5aa1c6a 232%{?with_rkmpp:BuildRequires: rockchip-mpp-devel >= 1.3.7}
e6ee21a3 233BuildRequires: rpmbuild(macros) >= 1.752
0fdde3cc 234%{?with_rubberband:BuildRequires: rubberband-devel >= 1.8.1}
4a11c99e 235%{?with_shine:BuildRequires: shine-devel >= 3.0.0}
7160e157 236%{?with_snappy:BuildRequires: snappy-devel}
05408820 237%{?with_soxr:BuildRequires: soxr-devel}
1c1d1368 238BuildRequires: speex-devel >= 1:1.2-rc1
503d83e5 239%{?with_glslang:BuildRequires: spirv-tools-devel}
f5aa1c6a 240%{?with_srt:BuildRequires: srt-devel >= 1.3}
8ebe3834 241BuildRequires: tar >= 1:1.22
e5c1d36e 242%{?with_tesseract:BuildRequires: tesseract-devel}
64f8f109
ER
243%{?with_doc:BuildRequires: tetex}
244%{?with_doc:BuildRequires: texi2html}
245%{?with_doc:BuildRequires: texinfo}
ff838fc6 246BuildRequires: twolame-devel >= 0.3.10
80105e83 247%{?with_v4l2_request:BuildRequires: udev-devel}
f5aa1c6a 248%{?with_vapoursynth:BuildRequires: vapoursynth-devel >= 42}
9befe454 249%{?with_vidstab:BuildRequires: vid.stab-devel >= 0.98}
f31e1135 250%{?with_vmaf:BuildRequires: vmaf-devel >= 1.5.2}
471f06b0 251%{?with_voamrwbenc:BuildRequires: vo-amrwbenc-devel}
cbeed0a5 252%{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
471f06b0 253%{?with_avs:BuildRequires: xavs-devel}
45620667 254%{?with_avs2:BuildRequires: xavs2-devel >= 1.3}
28673856 255BuildRequires: xorg-lib-libX11-devel
cbdd2688 256BuildRequires: xorg-lib-libXext-devel
f5aa1c6a 257BuildRequires: xorg-lib-libXv-devel
471f06b0 258%{?with_xvid:BuildRequires: xvid-devel >= 1:1.1.0}
8ebe3834 259BuildRequires: xz
7003e3a3 260BuildRequires: xz-devel
cbeed0a5 261BuildRequires: yasm
503d83e5 262%{?with_zmq:BuildRequires: zeromq-devel >= 4.2.1}
d2c2eb42 263%{?with_zimg:BuildRequires: zimg-devel >= 2.7.0}
33a1c0f3 264BuildRequires: zlib-devel
f5aa1c6a 265%{?with_zvbi:BuildRequires: zvbi-devel >= 0.2.28}
57ebb8ad 266%{?with_autoreqdep:BuildConflicts: libpostproc}
9c4296c2
JB
267# overflows maximum hash table size
268BuildConflicts: pdksh < 5.2.14-57
54ec280e 269Requires: %{name}-libs = %{version}-%{release}
2e686000 270Suggests: fontconfig
35b7d412 271Suggests: fonts-TTF-Roboto
af49d6ab 272Obsoletes: libpostproc
539b540f 273BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
9fc4ad22 274
c01d7857
PS
275%define specflags -fno-strict-aliasing
276
277# -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
278%define specflags_ia32 -fomit-frame-pointer
279# -mmmx is needed to enable <mmintrin.h> code.
280%define specflags_i586 -mmmx
281%define specflags_i686 -mmmx
1162803a 282%define specflags_ppc -fPIC
c01d7857 283
9fc4ad22 284%description
85f7cea1
ER
285FFmpeg is a complete solution to record, convert and stream audio and
286video. It is a command line tool to convert one video file format to
287another. It also supports grabbing and encoding in real time from a TV
288card.
9fc4ad22 289
cdb7b42e 290%description -l pl.UTF-8
cbdd2688
JB
291FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
292strumieni dźwięku i obrazu. Jest to działające z linii poleceń
293narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
294także przechwytywanie i kodowanie w czasie rzeczywistym z karty
295telewizyjnej.
9fc4ad22 296
54ec280e
PG
297%package libs
298Summary: ffmpeg libraries
adcc0f76 299Summary(pl.UTF-8): Biblioteki ffmpeg
1be5865c 300Group: Libraries
7003e3a3 301Requires: SDL2 >= 2.0.1
503d83e5 302%{?with_vulkan:Requires: Vulkan-Loader >= 1.1.97}
a8e80bf7 303Requires: aom >= 1.0.0
f5aa1c6a 304Requires: celt >= 0.11.0
f31e1135 305%{?with_dav1d:Requires: dav1d >= 0.5.0}
45620667 306%{?with_avs2:Requires: davs2 >= 1.6}
f5aa1c6a 307%{?with_flite:Requires: flite >= 1.4}
143c6eec
JB
308%if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
309# uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
f9cce0c9 310Requires: gnutls-libs >= 3.0.20
143c6eec 311%endif
f5aa1c6a 312%{?with_kvazaar:Requires: kvazaar-libs >= 0.8.1}
5de7eee9 313%{?with_libmysofa:Requires: libmysofa >= 0.7}
c4a15b86 314%{?with_openmpt:Requires: libopenmpt >= 0.4.5}
471f06b0 315%{?with_theora:Requires: libtheora >= 1.0-0.beta3}
f5aa1c6a
JB
316%if %{with va}
317Requires: libva >= 1.0.3
318Requires: libva-drm >= 1.0.3
319Requires: libva-x11 >= 1.0.3
320%endif
503d83e5 321Requires: libvdpau >= 1.3
ff838fc6 322%{?with_vpx:Requires: libvpx >= 1.4.0}
f5aa1c6a
JB
323%{?with_webp:Requires: libwebp >= 0.4.0}
324%{?with_x264:Requires: libx264 >= 0.1.3-1.20111212_2245}
503d83e5 325%{?with_x265:Requires: libx265 >= 1.9}
f5aa1c6a
JB
326Requires: libxcb >= 1.4
327Requires: lame-libs >= 3.98.3
503d83e5 328%{?with_mfx:Requires: mfx_dispatch >= 1.19}
f5aa1c6a
JB
329%{?with_openh264:Requires: openh264 >= 1.3}
330Requires: openjpeg2 >= 2.1
503d83e5 331%{?with_rabbitmq:Requires: rabbitmq-c >= 0.7.1}
f31e1135 332%{?with_rav1e:Requires: rav1e-libs >= 0.4.0}
f5aa1c6a 333%{?with_rkmpp:Requires: rockchip-mpp >= 1.3.7}
0fdde3cc 334%{?with_rubberband:Requires: rubberband-libs >= 1.8.1}
f5aa1c6a
JB
335%{?with_shine:Requires: shine >= 3.0.0}
336Requires: speex >= 1:1.2-rc1
337%{?with_srt:Requires: srt >= 1.3}
ff838fc6 338Requires: twolame-libs >= 0.3.10
f5aa1c6a
JB
339%{?with_vapoursynth:Requires: vapoursynth >= 42}
340%{?with_vidstab:Requires: vid.stab >= 0.98}
f31e1135 341%{?with_vmaf:Requires: vmaf-libs >= 1.5.2}
45620667 342%{?with_avs2:Requires: xavs2 >= 1.3}
471f06b0 343%{?with_xvid:Requires: xvid >= 1:1.1.0}
503d83e5 344%{?with_zmq:Requires: zeromq >= 4.2.1}
80c0841f 345%{?with_zimg:Requires: zimg >= 2.7.0}
f5aa1c6a 346%{?with_zvbi:Requires: zvbi >= 0.2.28}
54ec280e
PG
347
348%description libs
cbdd2688
JB
349This package contains the ffmpeg shared libraries:
350- the codec library (libavcodec). It supports most existing encoding
351 formats (MPEG, DivX, MPEG4, AC3, DV...),
352- demuxer library (libavformat). It supports most existing file
353 formats (AVI, MPEG, OGG, Matroska, ASF...),
354- video postprocessing library (libpostproc).
54ec280e 355
cdb7b42e 356%description libs -l pl.UTF-8
cbdd2688
JB
357Ten pakiet zawiera biblioteki współdzielone ffmpeg:
358- bibliotekę kodeków (libavcodec); obsługuje większość istniejących
359 formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
360- bibliotekę demuksera (libavformat); obsługuje większość istniejących
361 formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
362- bibliotekę postprocessingu (libpostproc).
54ec280e 363
af49d6ab
JB
364%package devel
365Summary: ffmpeg header files
adcc0f76 366Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
af49d6ab 367Group: Development/Libraries
54ec280e 368Requires: %{name}-libs = %{version}-%{release}
f5aa1c6a
JB
369# Libs.private from *.pc
370%{?with_openal:Requires: OpenAL-devel >= 1.1}
6a6b11be 371%{?with_opencl:Requires: OpenCL-devel >= 1.2}
f6f5022a 372%{?with_opengl:Requires: OpenGL-devel}
503d83e5 373%{?with_vulkan:Requires: Vulkan-Loader-devel >= 1.1.97}
7003e3a3 374Requires: SDL2-devel >= 2.0.1
38cefaee 375Requires: alsa-lib-devel
f5aa1c6a 376Requires: aom-devel >= 1.0.0
45620667
JB
377%{?with_aribb24:Requires: aribb24-devel}
378%{?with_avs2:Requires: davs2-devel >= 1.6}
38cefaee 379Requires: bzip2-devel
9c4296c2 380Requires: celt-devel >= 0.11.0
7fd3d5c0 381%{?with_codec2:Requires: codec2-devel}
f31e1135 382%{?with_dav1d:Requires: dav1d-devel >= 0.5.0}
004e5628 383%{?with_fdk_aac:Requires: fdk-aac-devel}
4b05ede1 384%{?with_flite:Requires: flite-devel >= 1.4}
3dcb8642 385Requires: fontconfig-devel
0aad4bf2 386Requires: freetype-devel
4474c07d 387%{?with_fribidi:Requires: fribidi-devel}
22745365 388%{?with_gme:Requires: game-music-emu-devel}
503d83e5 389%{?with_glslang:Requires: glslang-devel}
f5aa1c6a 390Requires: gnutls-devel
38cefaee 391Requires: jack-audio-connection-kit-devel
9e9d5429 392%{?with_kvazaar:Requires: kvazaar-devel >= 0.8.1}
38cefaee 393Requires: lame-libs-devel >= 3.98.3
f31e1135 394%{?with_lensfun:Requires: lensfun-devel >= 0.3.95}
1c1d1368 395Requires: libass-devel
471f06b0 396%{?with_iec61883:Requires: libavc1394-devel}
3dcb8642 397Requires: libbluray-devel
4474c07d 398%{?with_bs2b:Requires: libbs2b-devel}
28673856 399%{?with_caca:Requires: libcaca-devel}
a09e741c 400Requires: libcdio-paranoia-devel >= 0.90-2
0fdde3cc 401%{?with_chromaprint:Requires: libchromaprint-devel}
471f06b0
JP
402%{?with_crystalhd:Requires: libcrystalhd-devel}
403%{?with_dc1394:Requires: libdc1394-devel >= 2}
44f5d561 404%{?with_libdrm:Requires: libdrm-devel}
471f06b0
JP
405%{?with_gsm:Requires: libgsm-devel}
406%{?with_iec61883:Requires: libiec61883-devel}
1b2d21b4 407%{?with_libklvanc:Requires: libklvanc-devel}
471f06b0 408%{?with_modplug:Requires: libmodplug-devel}
5de7eee9 409%{?with_libmysofa:Requires: libmysofa-devel >= 0.7}
c4a15b86 410%{?with_openmpt:Requires: libopenmpt-devel >= 0.4.5}
471f06b0 411%if %{with dc1394} || %{with iec61883}
7571bfa0 412Requires: libraw1394-devel >= 2
471f06b0 413%endif
44f5d561 414%{?with_librsvg:Requires: librsvg-devel >= 2}
38cefaee 415Requires: librtmp-devel
4474c07d 416%{?with_smb:Requires: libsmbclient-devel}
f5aa1c6a
JB
417%{?with_ssh:Requires: libssh-devel}
418Requires: libstdc++-devel
471f06b0 419%{?with_theora:Requires: libtheora-devel >= 1.0-0.beta3}
f5aa1c6a 420Requires: libv4l-devel
38cefaee 421%{?with_va:Requires: libva-devel >= 1.0.3}
f5aa1c6a
JB
422%{?with_va:Requires: libva-drm-devel >= 1.0.3}
423%{?with_va:Requires: libva-x11-devel >= 1.0.3}
503d83e5 424Requires: libvdpau-devel >= 1.3
33a1c0f3 425Requires: libvorbis-devel
ff838fc6 426%{?with_vpx:Requires: libvpx-devel >= 1.4.0}
fecf9f23 427%{?with_webp:Requires: libwebp-devel >= 0.4.0}
ea09f25d 428%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
503d83e5 429%{?with_x265:Requires: libx265-devel >= 1.9}
f5aa1c6a
JB
430# libxcb xcb-shm xcb-xfixes xcb-shape
431Requires: libxcb-devel >= 1.4
44f5d561 432%{?with_libxml2:Requires: libxml2-devel >= 2}
f5aa1c6a 433%{?with_lv2:Requires: lilv-devel}
503d83e5 434%{?with_mfx:Requires: mfx_dispatch-devel >= 1.19}
471f06b0 435%{?with_amr:Requires: opencore-amr-devel}
f5aa1c6a 436%{?with_opencv:Requires: opencv-devel >= 2}
62da4e00 437%{?with_openh264:Requires: openh264-devel >= 1.3}
7003e3a3 438Requires: openjpeg2-devel >= 2.1
f5aa1c6a
JB
439Requires: opus-devel
440%{?with_pulseaudio:Requires: pulseaudio-devel}
503d83e5 441%{?with_rabbitmq:Requires: rabbitmq-c-devel >= 0.7.1}
f31e1135 442%{?with_rav1e:Requires: rav1e-devel >= 0.4.0}
f5aa1c6a 443%{?with_rkmpp:Requires: rockchip-mpp-devel >= 1.3.7}
0fdde3cc 444%{?with_rubberband:Requires: rubberband-devel >= 1.8.1}
4a11c99e 445%{?with_shine:Requires: shine-devel >= 3.0.0}
7160e157 446%{?with_snappy:Requires: snappy-devel}
05408820 447%{?with_soxr:Requires: soxr-devel}
38cefaee 448Requires: speex-devel >= 1:1.2-rc1
503d83e5 449%{?with_glslang:Requires: spirv-tools-devel}
f5aa1c6a 450%{?with_srt:Requires: srt-devel >= 1.3}
e5c1d36e 451%{?with_tesseract:Requires: tesseract-devel}
ff838fc6 452Requires: twolame-devel >= 0.3.10
f5aa1c6a 453%{?with_vapoursynth:Requires: vapoursynth-devel >= 42}
9befe454 454%{?with_vidstab:Requires: vid.stab-devel >= 0.98}
471f06b0 455%{?with_voamrwbenc:Requires: vo-amrwbenc-devel}
f31e1135 456%{?with_vmaf:Requires: vmaf-devel >= 1.5.2}
cbeed0a5 457%{?with_ilbc:Requires: webrtc-libilbc-devel}
471f06b0 458%{?with_avs:Requires: xavs-devel}
45620667 459%{?with_avs2:Requires: xavs2-devel >= 1.3}
f5aa1c6a 460Requires: xorg-lib-libX11-devel
38cefaee 461Requires: xorg-lib-libXext-devel
f5aa1c6a 462Requires: xorg-lib-libXv-devel
471f06b0 463%{?with_xvid:Requires: xvid-devel >= 1:1.1.0}
f5aa1c6a 464Requires: xz-devel
503d83e5 465%{?with_zmq:Requires: zeromq-devel >= 4.2.1}
f5aa1c6a 466%{?with_zimg:Requires: zimg-devel >= 2.7.0}
33a1c0f3 467Requires: zlib-devel
f5aa1c6a 468%{?with_zvbi:Requires: zvbi-devel >= 0.2.28}
8152d6a2 469Obsoletes: libpostproc-devel
af49d6ab
JB
470
471%description devel
472ffmpeg header files.
473
cdb7b42e
JR
474%description devel -l pl.UTF-8
475Pliki nagłówkowe ffmpeg.
af49d6ab
JB
476
477%package static
478Summary: ffmpeg static libraries
adcc0f76 479Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
af49d6ab
JB
480Group: Development/Libraries
481Requires: %{name}-devel = %{version}-%{release}
482
483%description static
484ffmpeg static libraries (libavcodec and libavformat).
485
cdb7b42e 486%description static -l pl.UTF-8
af49d6ab
JB
487Statyczne biblioteki ffmpeg (libavcodec i libavformat).
488
2a60eebe
JB
489%package ffplay
490Summary: FFplay - SDL-based media player
adcc0f76 491Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
2a60eebe 492Group: Applications/Multimedia
54ec280e 493Requires: %{name}-libs = %{version}-%{release}
2a60eebe
JB
494
495%description ffplay
496FFplay is a very simple and portable media player using the FFmpeg
497libraries and the SDL library. It is mostly used as a test bench for
498the various APIs of FFmpeg.
499
cdb7b42e
JR
500%description ffplay -l pl.UTF-8
501FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
502bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
503testowania różnych API FFmpeg.
2a60eebe 504
4b05ede1 505%package doc
143c6eec
JB
506Summary: FFmpeg documentation in HTML format
507Summary(pl.UTF-8): Dokumentacja pakietu FFmpeg w formacie HTML
4b05ede1 508Group: Documentation
69c891d5 509BuildArch: noarch
4b05ede1
ER
510
511%description doc
143c6eec 512FFmpeg documentation in HTML format.
4b05ede1
ER
513
514%description doc -l pl.UTF-8
143c6eec 515Dokumentacja pakietu FFmpeg w formacie HTML.
4b05ede1 516
9fc4ad22 517%prep
aed8e8c9 518%setup -q
7003e3a3 519%patch0 -p1
2a2ce640 520%patch1 -p1
a9e080d9 521%patch2 -p1
80105e83
JP
522%if %{with v4l2_request}
523%patch3 -p1
524%endif
f31e1135 525%patch4 -p1
9fc4ad22 526
9d4f8977
ER
527# package the grep result for mplayer, the result formatted as ./mplayer/configure
528cat <<EOF > ffmpeg-avconfig
2b2445b7 529#! /bin/sh
16803cdb
ER
530libavdecoders_all="$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
531libavencoders_all="$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
532libavparsers_all="$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
533libavbsfs_all="$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
534libavdemuxers_all="$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
535libavmuxers_all="$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
536libavprotocols_all="$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
537libavhwaccels_all="$(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
538libavfilters_all="$(sed -n 's/^[^#]*FILTER.*(.*, *\(.*\),.*).*/\1_filter/p' libavfilter/allfilters.c | tr '[a-z]' '[A-Z]')"
2b2445b7 539EOF
9d4f8977 540cat <<'EOF' >> ffmpeg-avconfig
2b2445b7
ER
541
542case "$1" in
543--decoders)
16803cdb 544 echo $libavdecoders_all
2b2445b7
ER
545 ;;
546--encoders)
16803cdb 547 echo $libavencoders_all
2b2445b7
ER
548 ;;
549--parsers)
16803cdb 550 echo $libavparsers_all
2b2445b7
ER
551 ;;
552--bsfs)
16803cdb 553 echo $libavbsfs_all
2b2445b7
ER
554 ;;
555--demuxers)
16803cdb 556 echo $libavdemuxers_all
2b2445b7
ER
557 ;;
558--muxers)
16803cdb 559 echo $libavmuxers_all
2b2445b7
ER
560 ;;
561--protocols)
16803cdb
ER
562 echo $libavprotocols_all
563 ;;
564--hwaccels)
565 echo $libavhwaccels_all
566 ;;
567--filters)
568 echo $libavfilters_all
2b2445b7
ER
569 ;;
570*)
571 cat <<USAGE
572Usage: $0 [OPTION]
573Options:
574 --decoders
575 --encoders
576 --parsers
577 --bsfs
578 --demuxers
579 --muxers
580 --protocols
16803cdb
ER
581 --hwaccels
582 --filters
2b2445b7
ER
583USAGE
584 exit 1;;
585esac
586
587exit 0
588EOF
589
9fc4ad22 590%build
05e1eb2f
JB
591# notes:
592# - it's not autoconf configure
d0a0ec26 593# - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
2080d1d3 594./configure \
b4680d0b 595 --arch=%{_target_base_arch} \
539b540f 596 --prefix=%{_prefix} \
9cf4d8a4 597 --libdir=%{_libdir} \
d81dfa95 598 --shlibdir=%{_libdir} \
2a60eebe 599 --mandir=%{_mandir} \
a9e080d9
JR
600 --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}%{?with_decklink: -I/usr/include/decklink} -I/usr/include/opencv4" \
601 --extra-cxxflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcxxflags}%{?with_decklink: -I/usr/include/decklink} -I/usr/include/opencv4" \
1162803a 602 --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
3eef5ddf 603 --cc="%{__cc}" \
126fb805
JB
604 --disable-debug \
605 --disable-optimizations \
6382c99d 606 --disable-stripping \
eaa9ad7b 607 %{!?with_doc:--disable-doc} \
314ef0df 608 --enable-avfilter \
0797daec 609 --enable-avresample \
0fdde3cc 610 %{?with_chromaprint:--enable-chromaprint} \
45620667 611 %{?with_cudasdk:--enable-cuda-nvcc} \
f6f5022a 612 %{?with_decklink:--enable-decklink} \
f5aa1c6a 613 %{!?with_ffnvcodec:--disable-ffnvcodec} \
d5aef92e 614 --enable-gnutls \
126fb805 615 --enable-gpl \
0b43f655 616 --enable-version3 \
d7a39558 617 %{?with_frei0r:--enable-frei0r} \
5f3dc7d9 618 %{?with_ladspa:--enable-ladspa} \
f2b6eec0 619 --enable-libaom \
45620667 620 %{?with_aribb24:--enable-libaribb24} \
d5aef92e 621 --enable-libass \
3dcb8642 622 --enable-libbluray \
4474c07d 623 %{?with_bs2b:--enable-libbs2b} \
2362253d 624 %{?with_caca:--enable-libcaca} \
cbdd2688 625 --enable-libcelt \
d5aef92e 626 --enable-libcdio \
7fd3d5c0 627 %{?with_codec2:--enable-libcodec2} \
f7f28937 628 %{?with_dav1d:--enable-libdav1d} \
45620667 629 %{?with_avs2:--enable-libdavs2} \
471f06b0 630 %{?with_dc1394:--enable-libdc1394} \
44f5d561 631 %{?with_libdrm:--enable-libdrm} \
1c1d1368 632 %{?with_flite:--enable-libflite} \
7003e3a3 633 --enable-libfontconfig \
3dcb8642 634 --enable-libfreetype \
4474c07d 635 %{?with_fribidi:--enable-libfribidi} \
503d83e5 636 %{?with_glslang:--enable-libglslang} \
22745365 637 %{?with_gme:--enable-libgme} \
471f06b0
JP
638 %{?with_gsm:--enable-libgsm} \
639 %{?with_iec61883:--enable-libiec61883} \
004e5628 640 %{?with_ilbc:--enable-libilbc} \
f5aa1c6a 641 --enable-libjack \
7160e157 642 %{?with_kvazaar:--enable-libkvazaar} \
1b2d21b4 643 %{?with_libklvanc:--enable-libklvanc} \
f5aa1c6a 644 %{?with_lensfun:--enable-liblensfun} \
0258feb8 645 %{?with_mfx:--enable-libmfx} \
471f06b0 646 %{?with_modplug:--enable-libmodplug} \
15c15700 647 --enable-libmp3lame \
f5aa1c6a 648 %{?with_libmysofa:--enable-libmysofa} \
471f06b0
JP
649 %{?with_amr:--enable-libopencore-amrnb} \
650 %{?with_amr:--enable-libopencore-amrwb} \
192f9f57 651 %{?with_opencv:--enable-libopencv} \
0258feb8 652 %{?with_openh264:--enable-libopenh264} \
cbdd2688 653 --enable-libopenjpeg \
6dfc7c2a 654 %{?with_openmpt:--enable-libopenmpt} \
1c1d1368 655 --enable-libopus \
d5aef92e 656 %{?with_pulseaudio:--enable-libpulse} \
503d83e5 657 %{?with_rabbitmq:--enable-librabbitmq} \
02280f85 658 %{?with_rav1e:--enable-librav1e} \
44f5d561 659 %{?with_librsvg:--enable-librsvg} \
cbdd2688 660 --enable-librtmp \
0fdde3cc 661 %{?with_rubberband:--enable-librubberband} \
f56b6dce 662 %{?with_shine:--enable-libshine} \
4474c07d 663 %{?with_smb:--enable-libsmbclient} \
7160e157 664 %{?with_snappy:--enable-libsnappy} \
05408820 665 %{?with_soxr:--enable-libsoxr} \
da99dcf2 666 --enable-libspeex \
503d83e5 667 %{?with_srt:--enable-libsrt} \
5f3dc7d9 668 %{?with_ssh:--enable-libssh} \
e5c1d36e 669 %{?with_tesseract:--enable-libtesseract} \
471f06b0 670 %{?with_theora:--enable-libtheora} \
1c1d1368 671 --enable-libtwolame \
d5aef92e 672 --enable-libv4l2 \
f56b6dce 673 %{?with_vidstab:--enable-libvidstab} \
f5aa1c6a 674 %{?with_vmaf:--enable-libvmaf} \
471f06b0 675 %{?with_voamrwbenc:--enable-libvo-amrwbenc} \
126fb805 676 --enable-libvorbis \
64f8f109 677 %{?with_vpx:--enable-libvpx} \
8b9d2787 678 %{?with_webp:--enable-libwebp} \
ea09f25d 679 %{?with_x264:--enable-libx264} \
90ab353a 680 %{?with_x265:--enable-libx265} \
471f06b0 681 %{?with_avs:--enable-libxavs} \
45620667 682 %{?with_avs2:--enable-libxavs2} \
9e9d5429 683 --enable-libxcb \
503d83e5 684 %{?with_libxml2:--enable-libxml2} \
471f06b0 685 %{?with_xvid:--enable-libxvid} \
e5c1d36e 686 %{?with_zimg:--enable-libzimg} \
6a6b11be 687 %{?with_zmq:--enable-libzmq} \
5f3dc7d9 688 %{?with_zvbi:--enable-libzvbi} \
f5aa1c6a 689 %{?with_lv2:--enable-lv2} \
7003e3a3 690 %{?with_omx:--enable-omx} \
d5aef92e 691 %{?with_openal:--enable-openal} \
f56b6dce 692 %{?with_opencl:--enable-opencl} \
8b9d2787 693 %{?with_opengl:--enable-opengl} \
45620667 694 %{?with_pocketsphinx:--enable-pocketsphinx} \
6382c99d 695 --enable-postproc \
d7493de8 696 --enable-pthreads \
f5aa1c6a 697 %{?with_rkmpp:--enable-rkmpp} \
9cf4d8a4 698 --enable-shared \
6382c99d 699 --enable-swscale \
22745365 700 %{!?with_va:--disable-vaapi} \
f5aa1c6a 701 %{?with_vapoursynth:--enable-vapoursynth} \
503d83e5 702 %{?with_vulkan:--enable-vulkan} \
80105e83
JP
703%if %{with v4l2_request}
704 --enable-libudev \
705 --enable-v4l2-request \
706%endif
7a286645 707%ifnarch %{ix86} %{x8664}
e1fe03f7 708 --disable-mmx \
709%endif
710%ifarch i386 i486
05e1eb2f 711 --disable-mmx \
b524cd99 712%endif
61f81a23
JR
713%ifarch x32
714 --disable-asm \
715%endif
0b43f655 716%if %{with nonfree}
48610c64 717 --enable-nonfree \
c8f42fb1 718 %{?with_fdk_aac:--enable-libfdk-aac} \
7003e3a3 719 %{?with_npp:--enable-libnpp} \
76243dbd 720%endif
75231f25 721 --enable-runtime-cpudetect
2305d791 722
1ef27ea1
JB
723%{__make} \
724 V=1
9fc4ad22 725
b8c60172
ER
726# CC_O to add -c to commandline. makefile should be patched
727%{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
728
39711f7c
AM
729%{?with_tests:%{__make} check V=1}
730
9fc4ad22
AM
731%install
732rm -rf $RPM_BUILD_ROOT
38cf6de3 733install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
d2c2eb42 734 $RPM_BUILD_ROOT%{_includedir}/ffmpeg
9fc4ad22 735
a831ce58 736%{__make} install install-headers \
1ef27ea1
JB
737 DESTDIR=$RPM_BUILD_ROOT \
738 V=1
539b540f 739
a831ce58 740# install nonstandard, non-public headers manually
544421b2 741cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
80428ade 742for a in libavutil/*/{asm,bswap}.h; do
a831ce58 743 install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
544421b2 744done
9d4f8977 745cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
544421b2 746
b8c60172 747install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
9fc4ad22 748
2b2445b7
ER
749# install as ffmpeg-avconfig to avoid with possible programs looking for
750# ffmpeg-config and expecting --libs output from it which is not implemented
751# simple to do (by querying pkgconfig), but why?
b8c60172 752install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
2b2445b7 753
a6755e78 754# packaged as %doc in -doc
eaa9ad7b 755%if %{with doc}
a6755e78 756%{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
eaa9ad7b 757%endif
a6755e78
JB
758
759install -d $RPM_BUILD_ROOT%{_examplesdir}
760%{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
761
9fc4ad22
AM
762%clean
763rm -rf $RPM_BUILD_ROOT
764
1ef27ea1
JB
765%post libs -p /sbin/ldconfig
766%postun libs -p /sbin/ldconfig
539b540f 767
9fc4ad22
AM
768%files
769%defattr(644,root,root,755)
479e9af6 770%doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
2a60eebe 771%attr(755,root,root) %{_bindir}/ffmpeg
3a7b84be 772%attr(755,root,root) %{_bindir}/ffprobe
b7313442 773%attr(755,root,root) %{_bindir}/qt-faststart
da99dcf2
AM
774%dir %{_datadir}/ffmpeg
775%{_datadir}/ffmpeg/*.ffpreset
714dcf83 776%{_datadir}/ffmpeg/ffprobe.xsd
28673856
JB
777%if %{with doc}
778%{_mandir}/man1/ffmpeg.1*
22745365 779%{_mandir}/man1/ffmpeg-all.1*
28673856
JB
780%{_mandir}/man1/ffmpeg-bitstream-filters.1*
781%{_mandir}/man1/ffmpeg-codecs.1*
782%{_mandir}/man1/ffmpeg-devices.1*
783%{_mandir}/man1/ffmpeg-filters.1*
784%{_mandir}/man1/ffmpeg-formats.1*
785%{_mandir}/man1/ffmpeg-protocols.1*
786%{_mandir}/man1/ffmpeg-resampler.1*
787%{_mandir}/man1/ffmpeg-scaler.1*
788%{_mandir}/man1/ffmpeg-utils.1*
789%{_mandir}/man1/ffprobe.1*
22745365 790%{_mandir}/man1/ffprobe-all.1*
28673856 791%endif
54ec280e
PG
792
793%files libs
794%defattr(644,root,root,755)
f50f7d7c 795%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
d2c2eb42 796%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.58
d0a0ec26 797%attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
d2c2eb42 798%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.58
314ef0df 799%attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
d2c2eb42 800%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.7
f50f7d7c 801%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
d2c2eb42 802%attr(755,root,root) %ghost %{_libdir}/libavformat.so.58
5663f846 803%attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
d2c2eb42 804%attr(755,root,root) %ghost %{_libdir}/libavresample.so.4
f50f7d7c 805%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
d2c2eb42 806%attr(755,root,root) %ghost %{_libdir}/libavutil.so.56
d7493de8 807%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
d2c2eb42 808%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.55
660918c5 809%attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
d2c2eb42 810%attr(755,root,root) %ghost %{_libdir}/libswresample.so.3
ee032235 811%attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
d2c2eb42 812%attr(755,root,root) %ghost %{_libdir}/libswscale.so.5
314ef0df 813
539b540f
JB
814%files devel
815%defattr(644,root,root,755)
54ec280e 816%doc doc/optimization.txt
1ef27ea1 817%attr(755,root,root) %{_bindir}/ffmpeg-avconfig
539b540f 818%attr(755,root,root) %{_libdir}/libavcodec.so
d0a0ec26 819%attr(755,root,root) %{_libdir}/libavdevice.so
314ef0df 820%attr(755,root,root) %{_libdir}/libavfilter.so
539b540f 821%attr(755,root,root) %{_libdir}/libavformat.so
5663f846 822%attr(755,root,root) %{_libdir}/libavresample.so
d7493de8 823%attr(755,root,root) %{_libdir}/libavutil.so
d2af4612 824%attr(755,root,root) %{_libdir}/libpostproc.so
660918c5 825%attr(755,root,root) %{_libdir}/libswresample.so
ee032235 826%attr(755,root,root) %{_libdir}/libswscale.so
539b540f 827%{_includedir}/ffmpeg
6382c99d
AM
828%{_includedir}/libavcodec
829%{_includedir}/libavdevice
314ef0df 830%{_includedir}/libavfilter
6382c99d 831%{_includedir}/libavformat
5663f846 832%{_includedir}/libavresample
6382c99d
AM
833%{_includedir}/libavutil
834%{_includedir}/libpostproc
660918c5 835%{_includedir}/libswresample
6382c99d 836%{_includedir}/libswscale
1ef27ea1
JB
837%{_pkgconfigdir}/libavcodec.pc
838%{_pkgconfigdir}/libavdevice.pc
839%{_pkgconfigdir}/libavfilter.pc
840%{_pkgconfigdir}/libavformat.pc
5663f846 841%{_pkgconfigdir}/libavresample.pc
1ef27ea1
JB
842%{_pkgconfigdir}/libavutil.pc
843%{_pkgconfigdir}/libpostproc.pc
660918c5 844%{_pkgconfigdir}/libswresample.pc
1ef27ea1 845%{_pkgconfigdir}/libswscale.pc
28673856
JB
846%if %{with doc}
847%{_mandir}/man3/libavcodec.3*
848%{_mandir}/man3/libavdevice.3*
849%{_mandir}/man3/libavfilter.3*
850%{_mandir}/man3/libavformat.3*
851%{_mandir}/man3/libavutil.3*
852%{_mandir}/man3/libswresample.3*
853%{_mandir}/man3/libswscale.3*
854%endif
a6755e78 855%{_examplesdir}/%{name}-%{version}
539b540f 856
9cf4d8a4
JB
857%files static
858%defattr(644,root,root,755)
1ef27ea1
JB
859%{_libdir}/libavcodec.a
860%{_libdir}/libavdevice.a
861%{_libdir}/libavfilter.a
862%{_libdir}/libavformat.a
5663f846 863%{_libdir}/libavresample.a
1ef27ea1
JB
864%{_libdir}/libavutil.a
865%{_libdir}/libpostproc.a
660918c5 866%{_libdir}/libswresample.a
1ef27ea1 867%{_libdir}/libswscale.a
af49d6ab
JB
868
869%files ffplay
870%defattr(644,root,root,755)
871%attr(755,root,root) %{_bindir}/ffplay
22745365
JB
872%if %{with doc}
873%{_mandir}/man1/ffplay.1*
874%{_mandir}/man1/ffplay-all.1*
875%endif
af49d6ab 876
4b05ede1
ER
877%if %{with doc}
878%files doc
879%defattr(644,root,root,755)
880%doc doc/*.html
881%endif
This page took 0.22791 seconds and 4 git commands to generate.