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