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