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