2 # - libndi_newtek[nonfree, BR: Processing.NDI.Lib.h - probably https://www.newtek.com/ndi/sdk/]
3 # - libdavs2 [pkgconfig(davs2) >= 1.5.115 davs2.h]
4 # - libklvanc [-lklvanc libklvanc/vanc.h]
5 # - libtensorflow [-ltensorflow tensorflow/c/c_api.h]
6 # - libxavs2 [pkgconfig(xavs2) >= 1.2.77
7 # - AMF >= 1.4.4.1 (available at https://github.com/GPUOpen-LibrariesAndSDKs/AMF, where is original source?)
9 # How to deal with ffmpeg/opencv/chromaprint checken-egg problem:
10 # 1. make-request -r --with bootstrap ffmpeg.spec
11 # 2 bump release of opencv.spec and chromaprint.spec
12 # 3. make-request -r opencv.spec chromaprint.spec
13 # 4. bump release of ffmpeg.spec
14 # 5. make-request -r ffmpeg.spec
17 %bcond_with bootstrap # disable features to able to build without installed ffmpeg
18 %bcond_with nonfree # unblock non free options of package (currently: cuda_sdk, decklib, fdk_aac, libndi_newtek, npp, openssl, libressl/libtls)
19 %bcond_without bs2b # BS2B audio filter support
20 %bcond_without caca # textual display using libcaca
21 %bcond_without codec2 # codec2 support using libcodec2
22 %bcond_without chromaprint # audio fingerprinting with chromaprint
23 %bcond_with cudasdk # NVIDIA CUDA code using SDK [BR: cuda.h, non-free]
24 %bcond_with decklink # Blackmagic DeskLink output support (requires nonfree)
25 %bcond_with fdk_aac # AAC de/encoding via libfdk_aac (requires nonfree)
26 %bcond_without ffnvcodec # NVIDIA codecs support using ffnvcodec headers (covered: cuda cuvid nvdec nvenc)
27 %bcond_without flite # flite voice synthesis support
28 %bcond_without frei0r # frei0r video filtering
29 %bcond_without fribidi # fribidi support
30 %bcond_without gme # Game Music Emu support
31 %bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
32 %bcond_without kvazaar # Kvazaar HEVC encoder support
33 %bcond_without ladspa # LADSPA audio filtering
34 %bcond_without lensfun # lensfun lens correction
35 %bcond_with libdrm # Linux Direct Rendering Manager code
36 %bcond_without libmysofa # sofalizer filter
37 %bcond_with librsvg # SVG rasterization via librsvg
38 %bcond_with libxml2 # XML parsing using libxml2
39 %bcond_without lv2 # LV2 audio filtering
40 %bcond_with mfx # MFX hardware acceleration support
41 %bcond_with npp # NVIDIA Performance Primitives-based code (requires nonfree) [BR: libnppc+libnppi, npp.h]
42 %bcond_without omx # OpenMAX IL support
43 %bcond_without openal # OpenAL 1.1 capture support
44 %bcond_without opencl # OpenCL 1.2 code
45 %bcond_without opencv # OpenCV video filtering
46 %bcond_without opengl # OpenGL rendering support
47 %bcond_with openh264 # OpenH264 H.264 encoder
48 %bcond_without openmpt # OpenMPT module decoder
49 %bcond_without pulseaudio # PulseAudio input support
50 %bcond_with rkmpp # Rockchip Media Process Platform code [implies libdrm]
51 %bcond_without rubberband # rubberband filter
52 %bcond_without shine # shine fixed-point MP3 encoder
53 %bcond_without snappy # Snappy compression support (needed for hap encoding)
54 %bcond_without srt # Haivision SRT protocol support
55 %bcond_without ssh # SFTP protocol support via libssh
56 %bcond_with smb # SMB support via libsmbclient
57 %bcond_without soxr # SoX Resampler support
58 %bcond_with tesseract # OCR filter based on Tesseract
59 %bcond_without vmaf # VMAF filter support
60 %bcond_without x264 # H.264 x264 encoder
61 %bcond_without x265 # H.265/HEVC x265 encoder
62 %bcond_without va # VAAPI (Video Acceleration API)
63 %bcond_without vapoursynth # VapourSynth demuxer
64 %bcond_without vidstab # vid.stab video stabilization support
65 %bcond_without vpx # VP8, a high-quality video codec
66 %bcond_without wavpack # wavpack encoding support
67 %bcond_without webp # WebP encoding support
68 %bcond_without zimg # zscale filter based on z.lib
69 %bcond_without zmq # 0MQ message passing
70 %bcond_without zvbi # teletext via libzvbi
71 %bcond_without doc # don't build docs
72 %bcond_with tests # "make check" (some tests fail as of 2.5)
76 %undefine with_chromaprint
82 %ifnarch %{ix86} %{x8664}
83 %undefine with_ffnvcodec
85 %ifnarch %{ix86} %{x8664} %{arm}
91 Summary: FFmpeg - a very fast video and audio converter
92 Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
96 # LGPL or GPL, chosen at configure time (GPL version is more featured)
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
100 License: GPL v3+ with LGPL v3+ parts
101 Group: Applications/Multimedia
102 Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.xz
103 # Source0-md5: fb33a9110251873002869664686b2a3f
104 Patch0: %{name}-omx-libnames.patch
105 URL: http://www.ffmpeg.org/
106 %{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK >= 10.9.5}
107 %{?with_openal:BuildRequires: OpenAL-devel >= 1.1}
108 %{?with_opencl:BuildRequires: OpenCL-devel >= 1.2}
109 %{?with_opengl:BuildRequires: OpenGL-GLX-devel}
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
113 BuildRequires: SDL2-devel < 2.1.0
114 BuildRequires: alsa-lib-devel
115 BuildRequires: aom-devel >= 1.0.0
116 BuildRequires: bzip2-devel
117 BuildRequires: celt-devel >= 0.11.0
118 %{?with_codec2:BuildRequires: codec2-devel}
119 %{?with_fdk_aac:BuildRequires: fdk-aac-devel}
120 %{?with_flite:BuildRequires: flite-devel >= 1.4}
121 BuildRequires: fontconfig-devel
122 BuildRequires: freetype-devel
123 %{?with_frei0r:BuildRequires: frei0r-devel}
124 %{?with_fribidi:BuildRequires: fribidi-devel}
125 %{?with_gme:BuildRequires: game-music-emu-devel}
127 # require version with altivec support fixed
128 BuildRequires: gcc >= 5:3.3.2-3
130 BuildRequires: gmp-devel
131 BuildRequires: gnutls-devel
132 BuildRequires: jack-audio-connection-kit-devel
133 %{?with_kvazaar:BuildRequires: kvazaar-devel >= 0.8.1}
134 %{?with_ladspa:BuildRequires: ladspa-devel}
135 BuildRequires: lame-libs-devel >= 3.98.3
136 %{?with_lensfun:BuildRequires: lensfun-devel}
137 BuildRequires: libass-devel
138 BuildRequires: libavc1394-devel
139 %{?with_bs2b:BuildRequires: libbs2b-devel}
140 BuildRequires: libbluray-devel
141 %{?with_caca:BuildRequires: libcaca-devel}
142 BuildRequires: libcdio-paranoia-devel >= 0.90-2
143 %{?with_chromaprint:BuildRequires: libchromaprint-devel}
144 BuildRequires: libcrystalhd-devel
145 BuildRequires: libdc1394-devel >= 2
146 %{?with_libdrm:BuildRequires: libdrm-devel}
147 BuildRequires: libgsm-devel
148 BuildRequires: libiec61883-devel
149 BuildRequires: libmodplug-devel
150 %{?with_libmysofa:BuildRequires: libmysofa-devel >= 0.7-2.20190516.1}
151 %{?with_openmpt:BuildRequires: libopenmpt-devel >= 0.2.6557}
152 BuildRequires: libraw1394-devel >= 2
153 %{?with_librsvg:BuildRequires: librsvg-devel >= 2}
154 BuildRequires: librtmp-devel
155 %{?with_ssh:BuildRequires: libssh-devel}
156 %{?with_smb:BuildRequires: libsmbclient-devel}
157 BuildRequires: libtheora-devel >= 1.0-0.beta3
158 BuildRequires: libtool >= 2:1.4d-3
159 BuildRequires: libv4l-devel
161 BuildRequires: libva-devel >= 1.0.3
162 BuildRequires: libva-drm-devel >= 1.0.3
163 BuildRequires: libva-x11-devel >= 1.0.3
165 BuildRequires: libvdpau-devel >= 0.2
166 BuildRequires: libvorbis-devel
167 %{?with_vpx:BuildRequires: libvpx-devel >= 1.4.0}
168 %{?with_webp:BuildRequires: libwebp-devel >= 0.4.0}
170 %{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
172 %{?with_x265:BuildRequires: libx265-devel >= 1.8}
173 # libxcb xcb-shm xcb-xfixes xcb-shape
174 BuildRequires: libxcb-devel >= 1.4
175 %{?with_libxml2:BuildRequires: libxml2-devel >= 2}
176 %{?with_lv2:BuildRequires: lilv-devel}
177 %{?with_lv2:BuildRequires: lv2-devel}
178 %{?with_mfx:BuildRequires: mfx_dispatch-devel}
184 %{?with_ffnvcodec:BuildRequires: nv-codec-headers >= 8.1.24.2}
186 BuildRequires: opencore-amr-devel
187 %{?with_opencv:BuildRequires: opencv-devel >= 2}
188 %{?with_openh264:BuildRequires: openh264-devel >= 1.3}
189 BuildRequires: openjpeg2-devel >= 2.1
190 BuildRequires: opus-devel
191 BuildRequires: perl-Encode
192 BuildRequires: perl-tools-pod
193 BuildRequires: pkgconfig
194 %{?with_pulseaudio:BuildRequires: pulseaudio-devel}
195 %{?with_rkmpp:BuildRequires: rockchip-mpp-devel >= 1.3.7}
196 BuildRequires: rpmbuild(macros) >= 1.470
197 %{?with_rubberband:BuildRequires: rubberband-devel >= 1.8.1}
198 %{?with_shine:BuildRequires: shine-devel >= 3.0.0}
199 %{?with_snappy:BuildRequires: snappy-devel}
200 %{?with_soxr:BuildRequires: soxr-devel}
201 BuildRequires: speex-devel >= 1:1.2-rc1
202 %{?with_srt:BuildRequires: srt-devel >= 1.3}
203 %{?with_tesseract:BuildRequires: tesseract-devel}
204 %{?with_doc:BuildRequires: tetex}
205 %{?with_doc:BuildRequires: texi2html}
206 %{?with_doc:BuildRequires: texinfo}
207 BuildRequires: twolame-devel >= 0.3.10
208 %{?with_vapoursynth:BuildRequires: vapoursynth-devel >= 42}
209 %{?with_vidstab:BuildRequires: vid.stab-devel >= 0.98}
210 %{?with_vmaf:BuildRequires: vmaf-devel >= 1.3.9}
211 BuildRequires: vo-amrwbenc-devel
212 %{?with_wavpack:BuildRequires: wavpack-devel}
213 %{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
214 BuildRequires: xavs-devel
215 BuildRequires: xorg-lib-libX11-devel
216 BuildRequires: xorg-lib-libXext-devel
217 BuildRequires: xorg-lib-libXv-devel
218 BuildRequires: xvid-devel >= 1:1.1.0
219 BuildRequires: xz-devel
221 %{?with_zmq:BuildRequires: zeromq-devel}
222 %{?with_zimg:BuildRequires: zimg-devel >= 2.7.0}
223 BuildRequires: zlib-devel
224 %{?with_zvbi:BuildRequires: zvbi-devel >= 0.2.28}
225 %{?with_autoreqdep:BuildConflicts: libpostproc}
226 # overflows maximum hash table size
227 BuildConflicts: pdksh < 5.2.14-57
228 Requires: %{name}-libs = %{version}-%{release}
229 Obsoletes: libpostproc
230 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
232 %define specflags -fno-strict-aliasing
234 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
235 %define specflags_ia32 -fomit-frame-pointer
236 # -mmmx is needed to enable <mmintrin.h> code.
237 %define specflags_i586 -mmmx
238 %define specflags_i686 -mmmx
239 %define specflags_ppc -fPIC
242 FFmpeg is a complete solution to record, convert and stream audio and
243 video. It is a command line tool to convert one video file format to
244 another. It also supports grabbing and encoding in real time from a TV
247 %description -l pl.UTF-8
248 FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
249 strumieni dźwięku i obrazu. Jest to działające z linii poleceń
250 narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
251 także przechwytywanie i kodowanie w czasie rzeczywistym z karty
255 Summary: ffmpeg libraries
256 Summary(pl.UTF-8): Biblioteki ffmpeg
258 Requires: SDL2 >= 2.0.1
259 Requires: aom >= 1.0.0
260 Requires: celt >= 0.11.0
261 %{?with_flite:Requires: flite >= 1.4}
262 %if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
263 # uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
264 Requires: gnutls-libs >= 3.0.20
266 %{?with_kvazaar:Requires: kvazaar-libs >= 0.8.1}
267 %{?with_libmysofa:Requires: libmysofa >= 0.7-2.20190516.1}
268 %{?with_openmpt:Requires: libopenmpt >= 0.2.6557}
269 Requires: libtheora >= 1.0-0.beta3
271 Requires: libva >= 1.0.3
272 Requires: libva-drm >= 1.0.3
273 Requires: libva-x11 >= 1.0.3
275 Requires: libvdpau >= 0.2
276 %{?with_vpx:Requires: libvpx >= 1.4.0}
277 %{?with_webp:Requires: libwebp >= 0.4.0}
278 %{?with_x264:Requires: libx264 >= 0.1.3-1.20111212_2245}
279 %{?with_x265:Requires: libx265 >= 1.8}
280 Requires: libxcb >= 1.4
281 Requires: lame-libs >= 3.98.3
282 %{?with_openh264:Requires: openh264 >= 1.3}
283 Requires: openjpeg2 >= 2.1
284 %{?with_rkmpp:Requires: rockchip-mpp >= 1.3.7}
285 %{?with_rubberband:Requires: rubberband-libs >= 1.8.1}
286 %{?with_shine:Requires: shine >= 3.0.0}
287 Requires: speex >= 1:1.2-rc1
288 %{?with_srt:Requires: srt >= 1.3}
289 Requires: twolame-libs >= 0.3.10
290 %{?with_vapoursynth:Requires: vapoursynth >= 42}
291 %{?with_vidstab:Requires: vid.stab >= 0.98}
292 %{?with_vmaf:Requires: vmaf-libs >= 1.3.9}
293 Requires: xvid >= 1:1.1.0
294 %{?with_zimg:Requires: zimg >= 2.7.0}
295 %{?with_zvbi:Requires: zvbi >= 0.2.28}
298 This package contains the ffmpeg shared libraries:
299 - the codec library (libavcodec). It supports most existing encoding
300 formats (MPEG, DivX, MPEG4, AC3, DV...),
301 - demuxer library (libavformat). It supports most existing file
302 formats (AVI, MPEG, OGG, Matroska, ASF...),
303 - video postprocessing library (libpostproc).
305 %description libs -l pl.UTF-8
306 Ten pakiet zawiera biblioteki współdzielone ffmpeg:
307 - bibliotekę kodeków (libavcodec); obsługuje większość istniejących
308 formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
309 - bibliotekę demuksera (libavformat); obsługuje większość istniejących
310 formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
311 - bibliotekę postprocessingu (libpostproc).
314 Summary: ffmpeg header files
315 Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
316 Group: Development/Libraries
317 Requires: %{name}-libs = %{version}-%{release}
318 # Libs.private from *.pc
319 %{?with_openal:Requires: OpenAL-devel >= 1.1}
320 %{?with_opencl:Requires: OpenCL-devel >= 1.2}
321 %{?with_opengl:Requires: OpenGL-devel}
322 Requires: SDL2-devel >= 2.0.1
323 Requires: alsa-lib-devel
324 Requires: aom-devel >= 1.0.0
325 Requires: bzip2-devel
326 Requires: celt-devel >= 0.11.0
327 %{?with_codec2:Requires: codec2-devel}
328 %{?with_fdk_aac:Requires: fdk-aac-devel}
329 %{?with_flite:Requires: flite-devel >= 1.4}
330 Requires: fontconfig-devel
331 Requires: freetype-devel
332 %{?with_fribidi:Requires: fribidi-devel}
333 %{?with_gme:Requires: game-music-emu-devel}
334 Requires: gnutls-devel
335 Requires: jack-audio-connection-kit-devel
336 %{?with_kvazaar:Requires: kvazaar-devel >= 0.8.1}
337 Requires: lame-libs-devel >= 3.98.3
338 %{?with_lensfun:Requires: lensfun-devel}
339 Requires: libass-devel
340 Requires: libavc1394-devel
341 Requires: libbluray-devel
342 %{?with_bs2b:Requires: libbs2b-devel}
343 %{?with_caca:Requires: libcaca-devel}
344 Requires: libcdio-paranoia-devel >= 0.90-2
345 %{?with_chromaprint:Requires: libchromaprint-devel}
346 Requires: libcrystalhd-devel
347 Requires: libdc1394-devel >= 2
348 %{?with_libdrm:Requires: libdrm-devel}
349 Requires: libgsm-devel
350 Requires: libiec61883-devel
351 Requires: libmodplug-devel
352 %{?with_libmysofa:Requires: libmysofa-devel >= 0.7-2.20190516.1}
353 %{?with_openmpt:Requires: libopenmpt-devel >= 0.2.6557}
354 Requires: libraw1394-devel >= 2
355 %{?with_librsvg:Requires: librsvg-devel >= 2}
356 Requires: librtmp-devel
357 %{?with_smb:Requires: libsmbclient-devel}
358 %{?with_ssh:Requires: libssh-devel}
359 Requires: libstdc++-devel
360 Requires: libtheora-devel >= 1.0-0.beta3
361 Requires: libv4l-devel
362 %{?with_va:Requires: libva-devel >= 1.0.3}
363 %{?with_va:Requires: libva-drm-devel >= 1.0.3}
364 %{?with_va:Requires: libva-x11-devel >= 1.0.3}
365 Requires: libvdpau-devel >= 0.2
366 Requires: libvorbis-devel
367 %{?with_vpx:Requires: libvpx-devel >= 1.4.0}
368 %{?with_webp:Requires: libwebp-devel >= 0.4.0}
369 %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
370 %{?with_x265:Requires: libx265-devel >= 1.8}
371 # libxcb xcb-shm xcb-xfixes xcb-shape
372 Requires: libxcb-devel >= 1.4
373 %{?with_libxml2:Requires: libxml2-devel >= 2}
374 %{?with_lv2:Requires: lilv-devel}
375 %{?with_mfx:Requires: mfx_dispatch-devel}
376 Requires: opencore-amr-devel
377 %{?with_opencv:Requires: opencv-devel >= 2}
378 %{?with_openh264:Requires: openh264-devel >= 1.3}
379 Requires: openjpeg2-devel >= 2.1
381 %{?with_pulseaudio:Requires: pulseaudio-devel}
382 %{?with_rkmpp:Requires: rockchip-mpp-devel >= 1.3.7}
383 %{?with_rubberband:Requires: rubberband-devel >= 1.8.1}
384 %{?with_shine:Requires: shine-devel >= 3.0.0}
385 %{?with_snappy:Requires: snappy-devel}
386 %{?with_soxr:Requires: soxr-devel}
387 Requires: speex-devel >= 1:1.2-rc1
388 %{?with_srt:Requires: srt-devel >= 1.3}
389 %{?with_tesseract:Requires: tesseract-devel}
390 Requires: twolame-devel >= 0.3.10
391 %{?with_vapoursynth:Requires: vapoursynth-devel >= 42}
392 %{?with_vidstab:Requires: vid.stab-devel >= 0.98}
393 Requires: vo-amrwbenc-devel
394 %{?with_vmaf:Requires: vmaf-devel >= 1.3.9}
395 %{?with_wavpack:Requires: wavpack-devel}
396 %{?with_ilbc:Requires: webrtc-libilbc-devel}
398 Requires: xorg-lib-libX11-devel
399 Requires: xorg-lib-libXext-devel
400 Requires: xorg-lib-libXv-devel
401 Requires: xvid-devel >= 1:1.1.0
403 %{?with_zmq:Requires: zeromq-devel}
404 %{?with_zimg:Requires: zimg-devel >= 2.7.0}
406 %{?with_zvbi:Requires: zvbi-devel >= 0.2.28}
407 Obsoletes: libpostproc-devel
412 %description devel -l pl.UTF-8
413 Pliki nagłówkowe ffmpeg.
416 Summary: ffmpeg static libraries
417 Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
418 Group: Development/Libraries
419 Requires: %{name}-devel = %{version}-%{release}
422 ffmpeg static libraries (libavcodec and libavformat).
424 %description static -l pl.UTF-8
425 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
428 Summary: FFplay - SDL-based media player
429 Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
430 Group: Applications/Multimedia
431 Requires: %{name}-libs = %{version}-%{release}
434 FFplay is a very simple and portable media player using the FFmpeg
435 libraries and the SDL library. It is mostly used as a test bench for
436 the various APIs of FFmpeg.
438 %description ffplay -l pl.UTF-8
439 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
440 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
441 testowania różnych API FFmpeg.
444 Summary: FFmpeg documentation in HTML format
445 Summary(pl.UTF-8): Dokumentacja pakietu FFmpeg w formacie HTML
447 %if "%{_rpmversion}" >= "5"
452 FFmpeg documentation in HTML format.
454 %description doc -l pl.UTF-8
455 Dokumentacja pakietu FFmpeg w formacie HTML.
461 # package the grep result for mplayer, the result formatted as ./mplayer/configure
462 cat <<EOF > ffmpeg-avconfig
464 libavdecoders_all="$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
465 libavencoders_all="$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
466 libavparsers_all="$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
467 libavbsfs_all="$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
468 libavdemuxers_all="$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
469 libavmuxers_all="$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
470 libavprotocols_all="$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
471 libavhwaccels_all="$(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
472 libavfilters_all="$(sed -n 's/^[^#]*FILTER.*(.*, *\(.*\),.*).*/\1_filter/p' libavfilter/allfilters.c | tr '[a-z]' '[A-Z]')"
474 cat <<'EOF' >> ffmpeg-avconfig
478 echo $libavdecoders_all
481 echo $libavencoders_all
484 echo $libavparsers_all
490 echo $libavdemuxers_all
493 echo $libavmuxers_all
496 echo $libavprotocols_all
499 echo $libavhwaccels_all
502 echo $libavfilters_all
526 # - it's not autoconf configure
527 # - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
529 --arch=%{_target_base_arch} \
530 --prefix=%{_prefix} \
531 --libdir=%{_libdir} \
532 --shlibdir=%{_libdir} \
533 --mandir=%{_mandir} \
534 --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}%{?with_decklink: -I/usr/include/decklink}" \
535 --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
538 --disable-optimizations \
539 --disable-stripping \
540 %{!?with_doc:--disable-doc} \
542 --enable-avresample \
543 %{?with_chromaprint:--enable-chromaprint} \
544 %{?with_cudasdk:--enable-cuda-sdk} \
545 %{?with_decklink:--enable-decklink} \
546 %{!?with_ffnvcodec:--disable-ffnvcodec} \
550 %{?with_frei0r:--enable-frei0r} \
551 %{?with_ladspa:--enable-ladspa} \
555 %{?with_bs2b:--enable-libbs2b} \
556 %{?with_caca:--enable-libcaca} \
559 %{?with_codec2:--enable-libcodec2} \
561 %{?with_libdrm:--enable-libdrm} \
562 %{?with_flite:--enable-libflite} \
563 --enable-libfontconfig \
564 --enable-libfreetype \
565 %{?with_fribidi:--enable-libfribidi} \
566 %{?with_gme:--enable-libgme} \
568 --enable-libiec61883 \
569 %{?with_ilbc:--enable-libilbc} \
571 %{?with_kvazaar:--enable-libkvazaar} \
572 %{?with_lensfun:--enable-liblensfun} \
573 %{?with_mfx:--enable-libmfx} \
574 --enable-libmodplug \
575 --enable-libmp3lame \
576 %{?with_libmysofa:--enable-libmysofa} \
577 --enable-libopencore-amrnb \
578 --enable-libopencore-amrwb \
579 %{?with_opencv:--enable-libopencv} \
580 %{?with_openh264:--enable-libopenh264} \
581 --enable-libopenjpeg \
582 %{?with_openmpt:--enable-libopenmpt} \
584 %{?with_pulseaudio:--enable-libpulse} \
585 %{?with_librsvg:--enable-librsvg} \
587 %{?with_srt:--enable-libsrt} \
588 %{?with_libxml2:--enable-libxml2} \
589 %{?with_rubberband:--enable-librubberband} \
590 %{?with_shine:--enable-libshine} \
591 %{?with_smb:--enable-libsmbclient} \
592 %{?with_snappy:--enable-libsnappy} \
593 %{?with_soxr:--enable-libsoxr} \
595 %{?with_ssh:--enable-libssh} \
596 %{?with_tesseract:--enable-libtesseract} \
598 --enable-libtwolame \
600 %{?with_vidstab:--enable-libvidstab} \
601 %{?with_vmaf:--enable-libvmaf} \
602 --enable-libvo-amrwbenc \
604 %{?with_vpx:--enable-libvpx} \
605 %{?with_wavpack:--enable-libwavpack} \
606 %{?with_webp:--enable-libwebp} \
607 %{?with_x264:--enable-libx264} \
608 %{?with_x265:--enable-libx265} \
612 %{?with_zimg:--enable-libzimg} \
613 %{?with_zmq:--enable-libzmq} \
614 %{?with_zvbi:--enable-libzvbi} \
615 %{?with_lv2:--enable-lv2} \
616 %{?with_omx:--enable-omx} \
617 %{?with_openal:--enable-openal} \
618 %{?with_opencl:--enable-opencl} \
619 %{?with_opengl:--enable-opengl} \
622 %{?with_rkmpp:--enable-rkmpp} \
625 %{!?with_va:--disable-vaapi} \
626 %{?with_vapoursynth:--enable-vapoursynth} \
627 %ifnarch %{ix86} %{x8664}
638 %{?with_fdk_aac:--enable-libfdk-aac} \
639 %{?with_npp:--enable-libnpp} \
641 --enable-runtime-cpudetect
646 # CC_O to add -c to commandline. makefile should be patched
647 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
649 %{?with_tests:%{__make} check V=1}
652 rm -rf $RPM_BUILD_ROOT
653 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
654 $RPM_BUILD_ROOT%{_includedir}/ffmpeg
656 %{__make} install install-headers \
657 DESTDIR=$RPM_BUILD_ROOT \
660 # install nonstandard, non-public headers manually
661 cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
662 for a in libavutil/*/{asm,bswap}.h; do
663 install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
665 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
667 install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
669 # install as ffmpeg-avconfig to avoid with possible programs looking for
670 # ffmpeg-config and expecting --libs output from it which is not implemented
671 # simple to do (by querying pkgconfig), but why?
672 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
674 # packaged as %doc in -doc
676 %{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
679 install -d $RPM_BUILD_ROOT%{_examplesdir}
680 %{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
683 rm -rf $RPM_BUILD_ROOT
685 %post libs -p /sbin/ldconfig
686 %postun libs -p /sbin/ldconfig
689 %defattr(644,root,root,755)
690 %doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
691 %attr(755,root,root) %{_bindir}/ffmpeg
692 %attr(755,root,root) %{_bindir}/ffprobe
693 %attr(755,root,root) %{_bindir}/qt-faststart
694 %dir %{_datadir}/ffmpeg
695 %{_datadir}/ffmpeg/*.ffpreset
696 %{_datadir}/ffmpeg/ffprobe.xsd
698 %{_mandir}/man1/ffmpeg.1*
699 %{_mandir}/man1/ffmpeg-all.1*
700 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
701 %{_mandir}/man1/ffmpeg-codecs.1*
702 %{_mandir}/man1/ffmpeg-devices.1*
703 %{_mandir}/man1/ffmpeg-filters.1*
704 %{_mandir}/man1/ffmpeg-formats.1*
705 %{_mandir}/man1/ffmpeg-protocols.1*
706 %{_mandir}/man1/ffmpeg-resampler.1*
707 %{_mandir}/man1/ffmpeg-scaler.1*
708 %{_mandir}/man1/ffmpeg-utils.1*
709 %{_mandir}/man1/ffprobe.1*
710 %{_mandir}/man1/ffprobe-all.1*
714 %defattr(644,root,root,755)
715 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
716 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.58
717 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
718 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.58
719 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
720 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.7
721 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
722 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.58
723 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
724 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.4
725 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
726 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.56
727 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
728 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.55
729 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
730 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.3
731 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
732 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.5
735 %defattr(644,root,root,755)
736 %doc doc/optimization.txt
737 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
738 %attr(755,root,root) %{_libdir}/libavcodec.so
739 %attr(755,root,root) %{_libdir}/libavdevice.so
740 %attr(755,root,root) %{_libdir}/libavfilter.so
741 %attr(755,root,root) %{_libdir}/libavformat.so
742 %attr(755,root,root) %{_libdir}/libavresample.so
743 %attr(755,root,root) %{_libdir}/libavutil.so
744 %attr(755,root,root) %{_libdir}/libpostproc.so
745 %attr(755,root,root) %{_libdir}/libswresample.so
746 %attr(755,root,root) %{_libdir}/libswscale.so
747 %{_includedir}/ffmpeg
748 %{_includedir}/libavcodec
749 %{_includedir}/libavdevice
750 %{_includedir}/libavfilter
751 %{_includedir}/libavformat
752 %{_includedir}/libavresample
753 %{_includedir}/libavutil
754 %{_includedir}/libpostproc
755 %{_includedir}/libswresample
756 %{_includedir}/libswscale
757 %{_pkgconfigdir}/libavcodec.pc
758 %{_pkgconfigdir}/libavdevice.pc
759 %{_pkgconfigdir}/libavfilter.pc
760 %{_pkgconfigdir}/libavformat.pc
761 %{_pkgconfigdir}/libavresample.pc
762 %{_pkgconfigdir}/libavutil.pc
763 %{_pkgconfigdir}/libpostproc.pc
764 %{_pkgconfigdir}/libswresample.pc
765 %{_pkgconfigdir}/libswscale.pc
767 %{_mandir}/man3/libavcodec.3*
768 %{_mandir}/man3/libavdevice.3*
769 %{_mandir}/man3/libavfilter.3*
770 %{_mandir}/man3/libavformat.3*
771 %{_mandir}/man3/libavutil.3*
772 %{_mandir}/man3/libswresample.3*
773 %{_mandir}/man3/libswscale.3*
775 %{_examplesdir}/%{name}-%{version}
778 %defattr(644,root,root,755)
779 %{_libdir}/libavcodec.a
780 %{_libdir}/libavdevice.a
781 %{_libdir}/libavfilter.a
782 %{_libdir}/libavformat.a
783 %{_libdir}/libavresample.a
784 %{_libdir}/libavutil.a
785 %{_libdir}/libpostproc.a
786 %{_libdir}/libswresample.a
787 %{_libdir}/libswscale.a
790 %defattr(644,root,root,755)
791 %attr(755,root,root) %{_bindir}/ffplay
793 %{_mandir}/man1/ffplay.1*
794 %{_mandir}/man1/ffplay-all.1*
799 %defattr(644,root,root,755)