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