forked from jengelh/ffmpeg-4
Accepting request 620431 from home:scarabeus_iv
FFmpeg4 OBS-URL: https://build.opensuse.org/request/show/620431 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4?expand=0&rev=1
This commit is contained in:
commit
c460d3f4e7
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
9
baselibs.conf
Normal file
9
baselibs.conf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
libavcodec58
|
||||||
|
libavdevice58
|
||||||
|
libavfilter7
|
||||||
|
libavformat58
|
||||||
|
libavresample4
|
||||||
|
libavutil56
|
||||||
|
libpostproc55
|
||||||
|
libswresample3
|
||||||
|
libswscale5
|
19
cve-2017-17555.diff
Normal file
19
cve-2017-17555.diff
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
Date: 2018-02-12 13:30:29.256158366 +0100
|
||||||
|
|
||||||
|
References: https://bugzilla.suse.com/show_bug.cgi?id=1072366
|
||||||
|
References: CVE-2017-17555
|
||||||
|
|
||||||
|
Index: ffmpeg-4.0.1/libswresample/audioconvert.c
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-4.0.1.orig/libswresample/audioconvert.c 2018-04-20 12:02:58.000000000 +0200
|
||||||
|
+++ ffmpeg-4.0.1/libswresample/audioconvert.c 2018-06-30 00:17:17.785924731 +0200
|
||||||
|
@@ -239,7 +239,7 @@ int swri_audio_convert(AudioConvert *ctx
|
||||||
|
const uint8_t *pi= ich < 0 ? ctx->silence : in->ch[ich];
|
||||||
|
uint8_t *po= out->ch[ch];
|
||||||
|
uint8_t *end= po + os*len;
|
||||||
|
- if(!po)
|
||||||
|
+ if (!pi || !po)
|
||||||
|
continue;
|
||||||
|
ctx->conv_f(po+off*os, pi+off*is, is, os, end);
|
||||||
|
}
|
98
enable_decoders
Normal file
98
enable_decoders
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
ac3
|
||||||
|
ansi # trivial
|
||||||
|
apng
|
||||||
|
ass # trivial
|
||||||
|
ayuv # trivial
|
||||||
|
bmp # trivial
|
||||||
|
dirac # dirac
|
||||||
|
exr # openEXR
|
||||||
|
ffv1 # ffmpeg
|
||||||
|
ffvhuff # ffmpeg
|
||||||
|
ffwavesynth # pseudo
|
||||||
|
flac # libFLAC
|
||||||
|
gif # libpng
|
||||||
|
gsm # libgsm
|
||||||
|
huffyuv # trivial+zlib
|
||||||
|
libcelt
|
||||||
|
libgsm
|
||||||
|
libopenjpeg
|
||||||
|
libopus
|
||||||
|
libschroedinger
|
||||||
|
libspeex
|
||||||
|
libvorbis
|
||||||
|
libvpx_vp8
|
||||||
|
libvpx_vp9
|
||||||
|
mjpeg # mjpegtools
|
||||||
|
mpeg1video
|
||||||
|
mpeg2video
|
||||||
|
#mpeg4
|
||||||
|
mp1 # twolame/lame
|
||||||
|
mp1float # twolame/lame
|
||||||
|
mp2 # twolame
|
||||||
|
mp2float # twolame
|
||||||
|
mp3 # lame
|
||||||
|
mp3float # lame
|
||||||
|
opus # libopus
|
||||||
|
pam # trivial
|
||||||
|
pbm # trivial
|
||||||
|
pcm_alaw # trivial
|
||||||
|
pcm_bluray
|
||||||
|
pcm_dvd
|
||||||
|
pcm_f32be # trivial
|
||||||
|
pcm_f32le # trivial
|
||||||
|
pcm_f64be # trivial
|
||||||
|
pcm_f64le # trivial
|
||||||
|
pcm_mulaw # trivial
|
||||||
|
pcm_s16be # trivial
|
||||||
|
pcm_s16be_planar # trivial
|
||||||
|
pcm_s16le # trivial
|
||||||
|
pcm_s16le_planar # trivial
|
||||||
|
pcm_s24be # trivial
|
||||||
|
pcm_s24le # trivial
|
||||||
|
pcm_s24le_planar # trivial
|
||||||
|
pcm_s32be # trivial
|
||||||
|
pcm_s32le # trivial
|
||||||
|
pcm_s32le_planar # trivial
|
||||||
|
pcm_s8 # trivial
|
||||||
|
pcm_s8_planar # trivial
|
||||||
|
pcm_u16be # trivial
|
||||||
|
pcm_u16le # trivial
|
||||||
|
pcm_u24be # trivial
|
||||||
|
pcm_u24le # trivial
|
||||||
|
pcm_u32be # trivial
|
||||||
|
pcm_u32le # trivial
|
||||||
|
pcm_u8 # trivial
|
||||||
|
pcx
|
||||||
|
pgm # trivial
|
||||||
|
pgmyuv # trivial
|
||||||
|
pgssub # mkvtoolnix
|
||||||
|
png # libpng
|
||||||
|
ppm # trivial
|
||||||
|
rawvideo # trivial
|
||||||
|
sgi # trivial
|
||||||
|
srt # trivial
|
||||||
|
ssa # trivial
|
||||||
|
sunrast # trivial
|
||||||
|
targa # trivial
|
||||||
|
text # trivial
|
||||||
|
theora # libtheora
|
||||||
|
tiff # libtiff
|
||||||
|
v210 # trivial
|
||||||
|
v210x # trivial
|
||||||
|
v308 # trivial
|
||||||
|
v408 # trivial
|
||||||
|
v410 # trivial
|
||||||
|
vorbis # libvorbis
|
||||||
|
vp3 # libav
|
||||||
|
vp5 # libav
|
||||||
|
vp6 # libav
|
||||||
|
vp6a # libav
|
||||||
|
vp6f # libav
|
||||||
|
vp8 # libvpx
|
||||||
|
vp9 # libvpx
|
||||||
|
webp # libwebp
|
||||||
|
xbm # trivial
|
||||||
|
xwd # xwd
|
||||||
|
y41p # trivial
|
||||||
|
yuv4 # trivial
|
||||||
|
zlib # pseudo
|
76
enable_encoders
Normal file
76
enable_encoders
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
apng # libpng
|
||||||
|
ass # trivial
|
||||||
|
ayuv # trival
|
||||||
|
bmp # trivial
|
||||||
|
ffv1
|
||||||
|
ffvhuff # trivial+zlib
|
||||||
|
flac # libFLAC
|
||||||
|
gif # libpng
|
||||||
|
huffyuv # trivial+zlib
|
||||||
|
jpegls
|
||||||
|
libgsm
|
||||||
|
libmp3lame
|
||||||
|
libopenjpeg
|
||||||
|
libopus
|
||||||
|
libschroedinger
|
||||||
|
libspeex
|
||||||
|
libtheora
|
||||||
|
libtwolame
|
||||||
|
libvorbis
|
||||||
|
libvpx_vp8
|
||||||
|
libvpx_vp9
|
||||||
|
libwebp
|
||||||
|
libwebp_anim
|
||||||
|
mjpeg # mjpegtools
|
||||||
|
mp2 # twolame
|
||||||
|
mp2fixed # twolame
|
||||||
|
opus
|
||||||
|
pam
|
||||||
|
pbm
|
||||||
|
pcm_alaw
|
||||||
|
pcm_f32be
|
||||||
|
pcm_f32le
|
||||||
|
pcm_f64be
|
||||||
|
pcm_f64le
|
||||||
|
pcm_mulaw
|
||||||
|
pcm_s16be
|
||||||
|
pcm_s16be_planar
|
||||||
|
pcm_s16le
|
||||||
|
pcm_s16le_planar
|
||||||
|
pcm_s24be
|
||||||
|
pcm_s24le
|
||||||
|
pcm_s24le_planar
|
||||||
|
pcm_s32be
|
||||||
|
pcm_s32le
|
||||||
|
pcm_s32le_planar
|
||||||
|
pcm_s8
|
||||||
|
pcm_s8_planar
|
||||||
|
pcm_u16be
|
||||||
|
pcm_u16le
|
||||||
|
pcm_u24be
|
||||||
|
pcm_u24le
|
||||||
|
pcm_u32be
|
||||||
|
pcm_u32le
|
||||||
|
pcm_u8
|
||||||
|
pcx
|
||||||
|
pgm
|
||||||
|
pgmyuv
|
||||||
|
png
|
||||||
|
ppm
|
||||||
|
sgi
|
||||||
|
srt
|
||||||
|
ssa
|
||||||
|
sunrast
|
||||||
|
targa
|
||||||
|
text
|
||||||
|
tiff
|
||||||
|
v210
|
||||||
|
v308
|
||||||
|
v408
|
||||||
|
v410
|
||||||
|
vorbis
|
||||||
|
xbm
|
||||||
|
xwd
|
||||||
|
y41p
|
||||||
|
yuv4
|
||||||
|
zlib
|
3
ffmpeg-4.0.1.tar.xz
Normal file
3
ffmpeg-4.0.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:605f5c01c60db35d3b617a79cabb2c7032412be243554602eeed1b628125c0ee
|
||||||
|
size 8663660
|
11
ffmpeg-4.0.1.tar.xz.asc
Normal file
11
ffmpeg-4.0.1.tar.xz.asc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
iQEcBAABAgAGBQJbJGabAAoJELQyLwTWdljYYtUH/1zw4/Fm1O7MfNGZjnpgA5b2
|
||||||
|
+1QxLIKPuZMNG6PjNwkqO1U7LxIB9KD3VXf3I43YqF6cJK8S8fasSWk4fQLaFAem
|
||||||
|
kcDN0dGw3l4YdnfM14pnz/OzovqeatpdlBKmMkkWZBHk9jYQThY+5+QajwzHGq/Q
|
||||||
|
fdRhbgrPFCjk7GnF4+/e5CBiB3p9qWhDcsUf9pqKeq5GCqAcK4Oqi2ko0/RRFw1p
|
||||||
|
NF9OaWqygZ/C/Si4E+x4b2v5KEreh1HOAtmMRsZ6grPvQ2nPoO+KFt5fZQM18ILZ
|
||||||
|
ulAcDOj5N5n8wP+hGKzKq9ZKDayfg9OIgTfsPlxH1i0To0+p+2q2mDVugm1LWBA=
|
||||||
|
=bhrG
|
||||||
|
-----END PGP SIGNATURE-----
|
1211
ffmpeg-4.changes
Normal file
1211
ffmpeg-4.changes
Normal file
File diff suppressed because it is too large
Load Diff
789
ffmpeg-4.spec
Normal file
789
ffmpeg-4.spec
Normal file
@ -0,0 +1,789 @@
|
|||||||
|
#
|
||||||
|
# spec file for package ffmpeg-4
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Create proper conflicts to make sure we require all from one version
|
||||||
|
# p: Conflict string, eg if you need them all for requires instead
|
||||||
|
# Default value Conflicts:
|
||||||
|
# c: copmare string ie "<" or ">=", must be defined
|
||||||
|
# v: version string ie. "< 42.3.4" or ">= 15.0.2.1", must be defined
|
||||||
|
%define devel_conflicts(p:c:v:) \
|
||||||
|
%define preamble_string %{-p:%{-p*}}%{!-p:Conflicts:} \
|
||||||
|
%define comparator %{-c:%{-c*}}%{!-c:%{error:Comparator not defined}} \
|
||||||
|
%define conflicts_version %{-v:%{-v*}}%{!-v:%{error:Version not defined}} \
|
||||||
|
\
|
||||||
|
%{preamble_string} libavcodec-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libavdevice-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libavfilter-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libavformat-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libavresample-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libavutil-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libpostproc-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libswresample-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} libswscale-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{preamble_string} ffmpeg-private-devel %{comparator} %{conflicts_version} \
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
%if 0%{?BUILD_ORIG}
|
||||||
|
%bcond_without nvidia
|
||||||
|
%else
|
||||||
|
%bcond_with nvidia
|
||||||
|
%endif
|
||||||
|
%bcond_with fdk_aac
|
||||||
|
%bcond_with librtmp
|
||||||
|
%bcond_with opencore
|
||||||
|
%bcond_with x264
|
||||||
|
%bcond_with x265
|
||||||
|
%bcond_with xvid
|
||||||
|
|
||||||
|
# Full build or just support package on older codestream
|
||||||
|
%bcond_without full_build
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
%bcond_without mysofa
|
||||||
|
%bcond_without vidstab
|
||||||
|
%bcond_without srt
|
||||||
|
%else
|
||||||
|
%bcond_with mysofa
|
||||||
|
%bcond_with vidstab
|
||||||
|
%bcond_with srt
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?suse_version} >= 1500
|
||||||
|
%bcond_without zimg
|
||||||
|
%bcond_without openmpt
|
||||||
|
%else
|
||||||
|
%bcond_with zimg
|
||||||
|
%bcond_with openmpt
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%define _name ffmpeg
|
||||||
|
%define _major_version 4
|
||||||
|
%define _major_expected 5
|
||||||
|
Name: ffmpeg-4
|
||||||
|
Version: 4.0.1
|
||||||
|
Release: 0
|
||||||
|
Summary: Library for working with various multimedia formats
|
||||||
|
License: LGPL-2.1-or-later AND GPL-2.0-or-later
|
||||||
|
Group: Productivity/Multimedia/Video/Editors and Convertors
|
||||||
|
Url: https://ffmpeg.org/
|
||||||
|
|
||||||
|
#Freshcode-URL: http://freshcode.club/projects/ffmpeg
|
||||||
|
#Git-Clone: git://source.ffmpeg.org/ffmpeg
|
||||||
|
Source: https://www.ffmpeg.org/releases/%_name-%version.tar.xz
|
||||||
|
Source2: https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc
|
||||||
|
Source3: ffmpeg-rpmlintrc
|
||||||
|
Source4: enable_decoders
|
||||||
|
Source5: enable_encoders
|
||||||
|
Source99: baselibs.conf
|
||||||
|
Patch1: ffmpeg-libcdio_cdda-pkgconfig.patch
|
||||||
|
Patch2: ffmpeg-arm6l.diff
|
||||||
|
Patch3: ffmpeg-new-coder-errors.diff
|
||||||
|
Patch4: ffmpeg-codec-choice.diff
|
||||||
|
Patch5: cve-2017-17555.diff
|
||||||
|
BuildRequires: ladspa-devel
|
||||||
|
BuildRequires: libgsm-devel
|
||||||
|
BuildRequires: libmp3lame-devel
|
||||||
|
%if %{with mysofa}
|
||||||
|
BuildRequires: libmysofa-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: nasm
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: pkgconfig(alsa)
|
||||||
|
BuildRequires: pkgconfig(bzip2)
|
||||||
|
BuildRequires: pkgconfig(celt) >= 0.11.0
|
||||||
|
BuildRequires: pkgconfig(codec2)
|
||||||
|
BuildRequires: pkgconfig(enca)
|
||||||
|
BuildRequires: pkgconfig(fontconfig) >= 2.4.2
|
||||||
|
BuildRequires: pkgconfig(freetype2)
|
||||||
|
BuildRequires: pkgconfig(fribidi) >= 0.19.0
|
||||||
|
BuildRequires: pkgconfig(gnutls)
|
||||||
|
BuildRequires: pkgconfig(jack)
|
||||||
|
BuildRequires: pkgconfig(libass)
|
||||||
|
BuildRequires: pkgconfig(libbluray)
|
||||||
|
BuildRequires: pkgconfig(libbs2b)
|
||||||
|
BuildRequires: pkgconfig(libcdio)
|
||||||
|
BuildRequires: pkgconfig(libcdio_paranoia)
|
||||||
|
BuildRequires: pkgconfig(libdc1394-2)
|
||||||
|
BuildRequires: pkgconfig(libgme)
|
||||||
|
BuildRequires: pkgconfig(liboil-0.3) >= 0.3.15
|
||||||
|
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0
|
||||||
|
BuildRequires: pkgconfig(libopenjpeg)
|
||||||
|
%if %{with openmpt}
|
||||||
|
BuildRequires: pkgconfig(libopenmpt)
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(libpng)
|
||||||
|
BuildRequires: pkgconfig(libpulse)
|
||||||
|
BuildRequires: pkgconfig(libraw1394)
|
||||||
|
BuildRequires: pkgconfig(libssh)
|
||||||
|
BuildRequires: pkgconfig(libv4l2)
|
||||||
|
BuildRequires: pkgconfig(libva) >= 0.35.0
|
||||||
|
BuildRequires: pkgconfig(libwebp) >= 0.4
|
||||||
|
BuildRequires: pkgconfig(libxml-2.0)
|
||||||
|
BuildRequires: pkgconfig(libzmq)
|
||||||
|
BuildRequires: pkgconfig(lilv-0)
|
||||||
|
BuildRequires: pkgconfig(ogg)
|
||||||
|
BuildRequires: pkgconfig(opus)
|
||||||
|
BuildRequires: pkgconfig(rubberband)
|
||||||
|
BuildRequires: pkgconfig(sdl2)
|
||||||
|
BuildRequires: pkgconfig(soxr)
|
||||||
|
BuildRequires: pkgconfig(speex)
|
||||||
|
%if %{with srt}
|
||||||
|
BuildRequires: pkgconfig(srt)
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(theora) >= 1.1
|
||||||
|
BuildRequires: pkgconfig(twolame)
|
||||||
|
BuildRequires: pkgconfig(vdpau)
|
||||||
|
%if %{with vidstab}
|
||||||
|
BuildRequires: pkgconfig(vidstab) >= 0.98
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(vorbis)
|
||||||
|
BuildRequires: pkgconfig(vpx) >= 1.4.0
|
||||||
|
BuildRequires: pkgconfig(x11)
|
||||||
|
BuildRequires: pkgconfig(xcb)
|
||||||
|
BuildRequires: pkgconfig(xcb-render)
|
||||||
|
BuildRequires: pkgconfig(xcb-shape)
|
||||||
|
BuildRequires: pkgconfig(xcb-shm)
|
||||||
|
BuildRequires: pkgconfig(xcb-xfixes)
|
||||||
|
BuildRequires: pkgconfig(xext)
|
||||||
|
BuildRequires: pkgconfig(xfixes)
|
||||||
|
%if %{with zimg}
|
||||||
|
BuildRequires: pkgconfig(zimg)
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28
|
||||||
|
%if %{with fdk_aac}
|
||||||
|
BuildRequires: pkgconfig(fdk-aac)
|
||||||
|
%endif
|
||||||
|
%if %{with librtmp}
|
||||||
|
BuildRequires: pkgconfig(librtmp)
|
||||||
|
%endif
|
||||||
|
%if %{with nvidia}
|
||||||
|
BuildRequires: pkgconfig(ffnvcodec)
|
||||||
|
%endif
|
||||||
|
%if %{with xvid}
|
||||||
|
BuildRequires: libxvidcore-devel
|
||||||
|
%endif
|
||||||
|
%if %{with opencore}
|
||||||
|
BuildRequires: pkgconfig(opencore-amrnb)
|
||||||
|
%endif
|
||||||
|
%if %{with x264}
|
||||||
|
BuildRequires: pkgconfig(x264)
|
||||||
|
%endif
|
||||||
|
%if %{with x265}
|
||||||
|
BuildRequires: pkgconfig(x265)
|
||||||
|
%endif
|
||||||
|
Provides: ffmpeg-tools = %{version}
|
||||||
|
Obsoletes: ffmpeg-tools < %{version}
|
||||||
|
Provides: ffmpeg = %version
|
||||||
|
Obsoletes: ffmpeg < %version
|
||||||
|
Requires: libavcodec58 = %version-%release
|
||||||
|
Requires: libavdevice58 = %version-%release
|
||||||
|
Requires: libavfilter7 = %version-%release
|
||||||
|
Requires: libavformat58 = %version-%release
|
||||||
|
Requires: libavresample4 = %version-%release
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
Requires: libpostproc55 = %version-%release
|
||||||
|
Requires: libswresample3 = %version-%release
|
||||||
|
Requires: libswscale5 = %version-%release
|
||||||
|
|
||||||
|
%description
|
||||||
|
FFmpeg is a multimedia framework, able to decode, encode,
|
||||||
|
transcode, mux, demux, stream, filter and play several formats
|
||||||
|
that humans and machines have created.
|
||||||
|
%if !0%{?BUILD_ORIG}
|
||||||
|
|
||||||
|
This build of ffmpeg is limited in the number of codecs supported.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package -n libavcodec58
|
||||||
|
Summary: FFmpeg codec library
|
||||||
|
# For mozillas
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
Requires: libswresample3 = %version-%release
|
||||||
|
Provides: libavcodec = %version-%release
|
||||||
|
%if 0%{?BUILD_ORIG}
|
||||||
|
Provides: libavcodec-full = %version-%release
|
||||||
|
# This can be required by packages likes vlc-codecs - following the shlib name to not get random lib providers
|
||||||
|
Provides: libavcodec58(unrestricted)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n libavcodec58
|
||||||
|
The libavcodec library provides a generic encoding/decoding framework
|
||||||
|
and contains multiple decoders and encoders for audio, video and
|
||||||
|
subtitle streams, and several bitstream filters.
|
||||||
|
%if !0%{?BUILD_ORIG}
|
||||||
|
|
||||||
|
This build of ffmpeg is limited in the number of codecs supported.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package libavcodec-devel
|
||||||
|
Summary: Development files for FFmpeg's codec library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libavcodec-devel = %version-%release
|
||||||
|
Conflicts: libavcodec-devel
|
||||||
|
Requires: %{name}-libavresample-devel = %version-%release
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: libavcodec58 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libavcodec-devel
|
||||||
|
The libavcodec library provides a generic encoding/decoding framework
|
||||||
|
and contains multiple decoders and encoders for audio, video and
|
||||||
|
subtitle streams, and several bitstream filters.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libavcodec.
|
||||||
|
|
||||||
|
%package -n libavdevice58
|
||||||
|
Summary: FFmpeg device library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavcodec58 = %version-%release
|
||||||
|
Requires: libavfilter7 = %version-%release
|
||||||
|
Requires: libavformat58 = %version-%release
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
|
||||||
|
%description -n libavdevice58
|
||||||
|
The libavdevice library provides a generic framework for grabbing from
|
||||||
|
and rendering to many common multimedia input/output devices, and
|
||||||
|
supports several input and output devices, including Video4Linux2, VfW,
|
||||||
|
DShow, and ALSA.
|
||||||
|
|
||||||
|
%package libavdevice-devel
|
||||||
|
Summary: Development files for FFmpeg's device library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: ffmpeg-devel = %version-%release
|
||||||
|
Conflicts: ffmpeg-devel
|
||||||
|
Provides: libavdevice-devel = %version-%release
|
||||||
|
Conflicts: libavdevice-devel
|
||||||
|
Requires: %{name}-libavcodec-devel = %version-%release
|
||||||
|
Requires: %{name}-libavfilter-devel = %version-%release
|
||||||
|
Requires: %{name}-libavformat-devel = %version-%release
|
||||||
|
Requires: %{name}-libavresample-devel = %version-%release
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: %{name}-libpostproc-devel = %version-%release
|
||||||
|
Requires: %{name}-libswresample-devel = %version-%release
|
||||||
|
Requires: %{name}-libswscale-devel = %version-%release
|
||||||
|
Requires: libavdevice58 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libavdevice-devel
|
||||||
|
The libavdevice library provides a generic framework for grabbing from
|
||||||
|
and rendering to many common multimedia input/output devices, and
|
||||||
|
supports several input and output devices, including Video4Linux2, VfW,
|
||||||
|
DShow, and ALSA.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libavcodec.
|
||||||
|
|
||||||
|
%package -n libavfilter7
|
||||||
|
Summary: FFmpeg audio and video filtering library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavcodec58 = %version-%release
|
||||||
|
Requires: libavformat58 = %version-%release
|
||||||
|
Requires: libavresample4 = %version-%release
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
Requires: libpostproc55 = %version-%release
|
||||||
|
Requires: libswresample3 = %version-%release
|
||||||
|
Requires: libswscale5 = %version-%release
|
||||||
|
|
||||||
|
%description -n libavfilter7
|
||||||
|
The libavfilter library provides a generic audio/video filtering
|
||||||
|
framework containing several filters, sources and sinks.
|
||||||
|
|
||||||
|
%package libavfilter-devel
|
||||||
|
Summary: Development files for FFmpeg's audio/video filter library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libavfilter-devel = %version-%release
|
||||||
|
Conflicts: libavfilter-devel
|
||||||
|
Requires: %{name}-libavcodec-devel = %version-%release
|
||||||
|
Requires: %{name}-libavformat-devel = %version-%release
|
||||||
|
Requires: %{name}-libavresample-devel = %version-%release
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: %{name}-libpostproc-devel = %version-%release
|
||||||
|
Requires: %{name}-libswresample-devel = %version-%release
|
||||||
|
Requires: %{name}-libswscale-devel = %version-%release
|
||||||
|
Requires: libavfilter7 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libavfilter-devel
|
||||||
|
The libavfilter library provides a generic audio/video filtering
|
||||||
|
framework containing several filters, sources and sinks.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libavfilter.
|
||||||
|
|
||||||
|
%package -n libavformat58
|
||||||
|
Summary: FFmpeg's stream format library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavcodec58 = %version-%release
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
|
||||||
|
%description -n libavformat58
|
||||||
|
The libavformat library provides a generic framework for multiplexing
|
||||||
|
and demultiplexing (muxing and demuxing) audio, video and subtitle
|
||||||
|
streams. It encompasses multiple muxers and demuxers for multimedia
|
||||||
|
container formats.
|
||||||
|
%if !0%{?BUILD_ORIG}
|
||||||
|
|
||||||
|
This build of ffmpeg is limited in the number of codecs supported.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package libavformat-devel
|
||||||
|
Summary: Development files for FFmpeg's stream format library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libavformat-devel = %version-%release
|
||||||
|
Conflicts: libavformat-devel
|
||||||
|
Requires: %{name}-libavcodec-devel = %version-%release
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: %{name}-libswresample-devel = %version-%release
|
||||||
|
Requires: libavformat58 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libavformat-devel
|
||||||
|
The libavformat library provides a generic framework for multiplexing
|
||||||
|
and demultiplexing (muxing and demuxing) audio, video and subtitle
|
||||||
|
streams. It encompasses multiple muxers and demuxers for multimedia
|
||||||
|
container formats.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libavformat.
|
||||||
|
|
||||||
|
%package -n libavresample4
|
||||||
|
Summary: FFmpeg alternate audio resampling library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
|
||||||
|
%description -n libavresample4
|
||||||
|
An audio resampling library that is being provided for drop-in
|
||||||
|
compatibility with libav.
|
||||||
|
|
||||||
|
It is advised to use libswresample for new code.
|
||||||
|
|
||||||
|
%package libavresample-devel
|
||||||
|
Summary: Development files for libavresample as present in FFmpeg
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libavresample-devel = %version-%release
|
||||||
|
Conflicts: libavresample-devel
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: libavresample4 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libavresample-devel
|
||||||
|
An audio resampling library that is being provided for drop-in
|
||||||
|
compatibility with libav.
|
||||||
|
|
||||||
|
It is advised to use libswresample for new code.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg's copy of libavresample.
|
||||||
|
|
||||||
|
%package -n libavutil56
|
||||||
|
Summary: FFmpeg's utility library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libavutil56
|
||||||
|
The libavutil library is a utility library to aid portable multimedia
|
||||||
|
programming. It contains safe portable string functions, random
|
||||||
|
number generators, data structures, additional mathematics functions,
|
||||||
|
cryptography and multimedia related functionality (like enumerations
|
||||||
|
for pixel and sample formats).
|
||||||
|
|
||||||
|
%package libavutil-devel
|
||||||
|
Summary: Development files for FFmpeg's utility library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libavutil-devel = %version-%release
|
||||||
|
Conflicts: libavutil-devel
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libavutil-devel
|
||||||
|
The libavutil library is a utility library to aid portable multimedia
|
||||||
|
programming. It contains safe portable string functions, random
|
||||||
|
number generators, data structures, additional mathematics functions,
|
||||||
|
cryptography and multimedia related functionality (like enumerations
|
||||||
|
for pixel and sample formats).
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libavutil.
|
||||||
|
|
||||||
|
%package -n libpostproc55
|
||||||
|
Summary: FFmpeg post-processing library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
|
||||||
|
%description -n libpostproc55
|
||||||
|
A library with video postprocessing filters, such as deblocking and
|
||||||
|
deringing filters, noise reduction, automatic contrast and brightness
|
||||||
|
correction, linear/cubic interpolating deinterlacing.
|
||||||
|
|
||||||
|
%package libpostproc-devel
|
||||||
|
Summary: Development files for the FFmpeg post-processing library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libpostproc-devel = %version-%release
|
||||||
|
Conflicts: libpostproc-devel
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: libpostproc55 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libpostproc-devel
|
||||||
|
A library with video postprocessing filters, such as deblocking and
|
||||||
|
deringing filters, noise reduction, automatic contrast and brightness
|
||||||
|
correction, linear/cubic interpolating deinterlacing.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libpostproc.
|
||||||
|
|
||||||
|
%package -n libswresample3
|
||||||
|
Summary: FFmpeg software resampling library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
|
||||||
|
%description -n libswresample3
|
||||||
|
The libswresample library performs audio conversion between different
|
||||||
|
sample rates, channel layout and channel formats.
|
||||||
|
|
||||||
|
%package libswresample-devel
|
||||||
|
Summary: Development files for the FFmpeg software resampling library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libsvresample-devel = %version-%release
|
||||||
|
Conflicts: libswresample-devel
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: libswresample3 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libswresample-devel
|
||||||
|
The libswresample library performs audio conversion between different
|
||||||
|
sample rates, channel layout and channel formats.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libswresample.
|
||||||
|
|
||||||
|
%package -n libswscale5
|
||||||
|
Summary: FFmpeg image scaling and colorspace/pixel conversion library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: libavutil56 = %version-%release
|
||||||
|
|
||||||
|
%description -n libswscale5
|
||||||
|
The libswscale library performs image scaling and colorspace and
|
||||||
|
pixel format conversion operations.
|
||||||
|
|
||||||
|
%package libswscale-devel
|
||||||
|
Summary: Development files for FFmpeg's image scaling and colorspace library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Provides: libswscale-devel = %version-%release
|
||||||
|
Conflicts: libswscale-devel
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Requires: libswscale5 = %version-%release
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description libswscale-devel
|
||||||
|
The libswscale library performs image scaling and colorspace and
|
||||||
|
pixel format conversion operations.
|
||||||
|
|
||||||
|
This subpackage contains the headers for FFmpeg libswscale.
|
||||||
|
|
||||||
|
%package private-devel
|
||||||
|
Summary: Some FFmpeg private headers
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-libavcodec-devel = %version-%release
|
||||||
|
Requires: %{name}-libavformat-devel = %version-%release
|
||||||
|
Requires: %{name}-libavutil-devel = %version-%release
|
||||||
|
Provides: ffmpeg-private-devel = %version
|
||||||
|
Conflicts: ffmpeg-private-devel
|
||||||
|
%devel_conflicts -c < -v %{_major_version}
|
||||||
|
%devel_conflicts -c >= -v %{_major_expected}
|
||||||
|
|
||||||
|
%description private-devel
|
||||||
|
FFmpeg is a multimedia framework, able to decode, encode,
|
||||||
|
transcode, mux, demux, stream, filter and play several formats
|
||||||
|
that humans and machines have created.
|
||||||
|
|
||||||
|
This package contains some private headers for libavformat, libavcodec and
|
||||||
|
libavutil which are needed by libav-tools to build. No other package apart
|
||||||
|
from libav should depend on these private headers which are expected to
|
||||||
|
break compatibility without any notice.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %_name-%version
|
||||||
|
%autopatch -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
CFLAGS="%optflags" \
|
||||||
|
./configure \
|
||||||
|
--prefix="%_prefix" \
|
||||||
|
--libdir="%_libdir" \
|
||||||
|
--shlibdir="%_libdir" \
|
||||||
|
--incdir="%_includedir/ffmpeg" \
|
||||||
|
--extra-cflags="%optflags" \
|
||||||
|
--optflags="%optflags" \
|
||||||
|
--disable-htmlpages \
|
||||||
|
--enable-pic \
|
||||||
|
--disable-stripping \
|
||||||
|
--enable-shared \
|
||||||
|
--disable-static \
|
||||||
|
--enable-gpl \
|
||||||
|
--disable-openssl \
|
||||||
|
--enable-avresample \
|
||||||
|
--enable-gnutls \
|
||||||
|
--enable-ladspa \
|
||||||
|
%if ! %{with nvidia}
|
||||||
|
--disable-cuda \
|
||||||
|
--disable-cuvid \
|
||||||
|
%endif
|
||||||
|
--enable-libass \
|
||||||
|
--enable-libbluray \
|
||||||
|
--enable-libcelt \
|
||||||
|
--enable-libcdio \
|
||||||
|
--enable-libcodec2 \
|
||||||
|
--enable-libdc1394 \
|
||||||
|
--enable-libfontconfig \
|
||||||
|
--enable-libfreetype \
|
||||||
|
--enable-libfribidi \
|
||||||
|
--enable-libgsm \
|
||||||
|
--enable-libjack \
|
||||||
|
--enable-libmp3lame \
|
||||||
|
%if %{with mysofa}
|
||||||
|
--enable-libmysofa \
|
||||||
|
%endif
|
||||||
|
--enable-libopenjpeg \
|
||||||
|
%if %{with openmpt}
|
||||||
|
--enable-libopenmpt \
|
||||||
|
%endif
|
||||||
|
--enable-libopus \
|
||||||
|
--enable-libpulse \
|
||||||
|
--enable-librubberband \
|
||||||
|
--enable-libsoxr \
|
||||||
|
--enable-libspeex \
|
||||||
|
--enable-libssh \
|
||||||
|
%if %{with srt}
|
||||||
|
--enable-libsrt \
|
||||||
|
%endif
|
||||||
|
--enable-libtheora \
|
||||||
|
--enable-libtwolame \
|
||||||
|
%if %{with vidstab}
|
||||||
|
--enable-libvidstab \
|
||||||
|
%endif
|
||||||
|
--enable-libvorbis \
|
||||||
|
--enable-libv4l2 \
|
||||||
|
--enable-libvpx \
|
||||||
|
--enable-libwebp \
|
||||||
|
--enable-libxml2 \
|
||||||
|
%if %{with zimg}
|
||||||
|
--enable-libzimg \
|
||||||
|
%endif
|
||||||
|
--enable-libzmq \
|
||||||
|
--enable-libzvbi \
|
||||||
|
--enable-lv2 \
|
||||||
|
--enable-vaapi \
|
||||||
|
--enable-vdpau \
|
||||||
|
%if %{with fdk_aac}
|
||||||
|
--enable-libfdk_aac \
|
||||||
|
--enable-nonfree \
|
||||||
|
%endif
|
||||||
|
%if %{with opencore}
|
||||||
|
--enable-libopencore-amrnb \
|
||||||
|
--enable-libopencore-amrwb \
|
||||||
|
--enable-version3 \
|
||||||
|
%endif
|
||||||
|
%if %{with x264}
|
||||||
|
--enable-libx264 \
|
||||||
|
%endif
|
||||||
|
%if %{with x265}
|
||||||
|
--enable-libx265 \
|
||||||
|
%endif
|
||||||
|
%if %{with librtmp}
|
||||||
|
--enable-librtmp \
|
||||||
|
%endif
|
||||||
|
%if %{with xvid}
|
||||||
|
--enable-libxvid \
|
||||||
|
%endif
|
||||||
|
%if !0%{?BUILD_ORIG}
|
||||||
|
--enable-muxers \
|
||||||
|
--enable-demuxers \
|
||||||
|
--disable-encoders \
|
||||||
|
--disable-decoders \
|
||||||
|
--disable-decoder=mpeg4,h263,h264,hevc,vc1 \
|
||||||
|
--enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_encoders)" \
|
||||||
|
--enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_decoders)" \
|
||||||
|
|
||||||
|
for i in MPEG4 H263 H264 HEVC VC1; do
|
||||||
|
grep -q "#define CONFIG_${i}_DECODER 0" config.h
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cat config.h
|
||||||
|
make %{?_smp_mflags} V=1
|
||||||
|
|
||||||
|
%global extratools aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper probetest qt-faststart seek_print sidxindex trasher
|
||||||
|
|
||||||
|
for i in %extratools; do
|
||||||
|
make "tools/$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
%install
|
||||||
|
b="%buildroot"
|
||||||
|
%make_install install-man
|
||||||
|
%if %{with full_build}
|
||||||
|
rm -Rf "$b/%_datadir/ffmpeg/examples"
|
||||||
|
for i in %extratools; do
|
||||||
|
cp -a "tools/$i" "$b/%_bindir/"
|
||||||
|
done
|
||||||
|
%else
|
||||||
|
rm -Rf "$b/%_bindir" "$b/%_mandir" "$b/%_datadir"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Install private headers required by libav-tools
|
||||||
|
for i in libavformat/options_table.h libavformat/os_support.h \
|
||||||
|
libavformat/internal.h libavcodec/options_table.h libavutil/libm.h \
|
||||||
|
libavutil/internal.h libavutil/colorspace.h libavutil/timer.h \
|
||||||
|
libavutil/x86/emms.h libavutil/aarch64/timer.h libavutil/arm/timer.h \
|
||||||
|
libavutil/bfin/timer.h libavutil/ppc/timer.h libavutil/x86/timer.h; do
|
||||||
|
mkdir -p "$b/%_includedir/ffmpeg/private/"`dirname $i`
|
||||||
|
cp -a $i "$b/%_includedir/ffmpeg/private/$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
%post -n libavcodec58 -p /sbin/ldconfig
|
||||||
|
%postun -n libavcodec58 -p /sbin/ldconfig
|
||||||
|
%post -n libavdevice58 -p /sbin/ldconfig
|
||||||
|
%postun -n libavdevice58 -p /sbin/ldconfig
|
||||||
|
%post -n libavfilter7 -p /sbin/ldconfig
|
||||||
|
%postun -n libavfilter7 -p /sbin/ldconfig
|
||||||
|
%post -n libavformat58 -p /sbin/ldconfig
|
||||||
|
%postun -n libavformat58 -p /sbin/ldconfig
|
||||||
|
%post -n libavresample4 -p /sbin/ldconfig
|
||||||
|
%postun -n libavresample4 -p /sbin/ldconfig
|
||||||
|
%post -n libavutil56 -p /sbin/ldconfig
|
||||||
|
%postun -n libavutil56 -p /sbin/ldconfig
|
||||||
|
%post -n libpostproc55 -p /sbin/ldconfig
|
||||||
|
%postun -n libpostproc55 -p /sbin/ldconfig
|
||||||
|
%post -n libswresample3 -p /sbin/ldconfig
|
||||||
|
%postun -n libswresample3 -p /sbin/ldconfig
|
||||||
|
%post -n libswscale5 -p /sbin/ldconfig
|
||||||
|
%postun -n libswscale5 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%if %{with full_build}
|
||||||
|
%files
|
||||||
|
%doc Changelog CREDITS README.md
|
||||||
|
%_bindir/*
|
||||||
|
%_mandir/man1/ff*.1*
|
||||||
|
%_datadir/ffmpeg/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files -n libavcodec58
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libavcodec.so.*
|
||||||
|
|
||||||
|
%files -n libavdevice58
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libavdevice.so.*
|
||||||
|
|
||||||
|
%files -n libavfilter7
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libavfilter.so.*
|
||||||
|
|
||||||
|
%files -n libavformat58
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libavformat.so.*
|
||||||
|
|
||||||
|
%files -n libavresample4
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libavresample.so.*
|
||||||
|
|
||||||
|
%files -n libavutil56
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libavutil.so.*
|
||||||
|
|
||||||
|
%files -n libpostproc55
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libpostproc.so.*
|
||||||
|
|
||||||
|
%files -n libswresample3
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libswresample.so.*
|
||||||
|
|
||||||
|
%files -n libswscale5
|
||||||
|
%license COPYING.GPLv2 LICENSE.md
|
||||||
|
%_libdir/libswscale.so.*
|
||||||
|
|
||||||
|
%files libavcodec-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libavcodec/
|
||||||
|
%_libdir/libavcodec.so
|
||||||
|
%_libdir/pkgconfig/libavcodec.pc
|
||||||
|
%_mandir/man3/libavcodec.3*
|
||||||
|
|
||||||
|
%files libavdevice-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libavdevice/
|
||||||
|
%_libdir/libavdevice.so
|
||||||
|
%_libdir/pkgconfig/libavdevice.pc
|
||||||
|
%_mandir/man3/libavdevice.3*
|
||||||
|
|
||||||
|
%files libavfilter-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libavfilter/
|
||||||
|
%_libdir/libavfilter.so
|
||||||
|
%_libdir/pkgconfig/libavfilter.pc
|
||||||
|
%_mandir/man3/libavfilter.3*
|
||||||
|
|
||||||
|
%files libavformat-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libavformat/
|
||||||
|
%_libdir/libavformat.so
|
||||||
|
%_libdir/pkgconfig/libavformat.pc
|
||||||
|
%_mandir/man3/libavformat.3*
|
||||||
|
|
||||||
|
%files libavresample-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libavresample/
|
||||||
|
%_libdir/libavresample.so
|
||||||
|
%_libdir/pkgconfig/libavresample.pc
|
||||||
|
|
||||||
|
%files libavutil-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libavutil/
|
||||||
|
%_libdir/libavutil.so
|
||||||
|
%_libdir/pkgconfig/libavutil.pc
|
||||||
|
%_mandir/man3/libavutil.3*
|
||||||
|
|
||||||
|
%files libpostproc-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libpostproc/
|
||||||
|
%_libdir/libpostproc.so
|
||||||
|
%_libdir/pkgconfig/libpostproc.pc
|
||||||
|
|
||||||
|
%files libswresample-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libswresample/
|
||||||
|
%_libdir/libswresample.so
|
||||||
|
%_libdir/pkgconfig/libswresample.pc
|
||||||
|
%_mandir/man3/libswresample.3*
|
||||||
|
|
||||||
|
%files libswscale-devel
|
||||||
|
%dir %_includedir/ffmpeg/
|
||||||
|
%_includedir/ffmpeg/libswscale/
|
||||||
|
%_libdir/libswscale.so
|
||||||
|
%_libdir/pkgconfig/libswscale.pc
|
||||||
|
%_mandir/man3/libswscale.3*
|
||||||
|
|
||||||
|
%files private-devel
|
||||||
|
%_includedir/ffmpeg/private/
|
||||||
|
|
||||||
|
%changelog
|
17
ffmpeg-arm6l.diff
Normal file
17
ffmpeg-arm6l.diff
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
libavutil/arm/timer.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: ffmpeg-3.0.1/libavutil/arm/timer.h
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-3.0.1.orig/libavutil/arm/timer.h
|
||||||
|
+++ ffmpeg-3.0.1/libavutil/arm/timer.h
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-#if HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__)
|
||||||
|
+#if HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6ZK__)
|
||||||
|
|
||||||
|
#define AV_READ_TIME read_time
|
||||||
|
|
56
ffmpeg-codec-choice.diff
Normal file
56
ffmpeg-codec-choice.diff
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
Edit the default codec selection such that
|
||||||
|
|
||||||
|
ffmpeg -i youtube.blah.webm foobar.mkv
|
||||||
|
|
||||||
|
without any further arguments can produce a result even on a
|
||||||
|
reduced codec selection list.
|
||||||
|
|
||||||
|
---
|
||||||
|
libavformat/matroskaenc.c | 19 +++++++++++++------
|
||||||
|
1 file changed, 13 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
Index: ffmpeg-4.0.1/libavformat/matroskaenc.c
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-4.0.1.orig/libavformat/matroskaenc.c 2018-04-20 12:02:57.000000000 +0200
|
||||||
|
+++ ffmpeg-4.0.1/libavformat/matroskaenc.c 2018-06-30 00:17:17.773924594 +0200
|
||||||
|
@@ -2747,16 +2747,24 @@ static const AVClass matroska_class = {
|
||||||
|
.version = LIBAVUTIL_VERSION_INT,
|
||||||
|
};
|
||||||
|
|
||||||
|
+#define PREFAUDIO \
|
||||||
|
+ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \
|
||||||
|
+ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \
|
||||||
|
+ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \
|
||||||
|
+ AV_CODEC_ID_AC3
|
||||||
|
AVOutputFormat ff_matroska_muxer = {
|
||||||
|
.name = "matroska",
|
||||||
|
.long_name = NULL_IF_CONFIG_SMALL("Matroska"),
|
||||||
|
.mime_type = "video/x-matroska",
|
||||||
|
.extensions = "mkv",
|
||||||
|
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||||
|
- .audio_codec = CONFIG_LIBVORBIS_ENCODER ?
|
||||||
|
- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3,
|
||||||
|
- .video_codec = CONFIG_LIBX264_ENCODER ?
|
||||||
|
- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4,
|
||||||
|
+ .audio_codec = PREFAUDIO,
|
||||||
|
+ .video_codec =
|
||||||
|
+ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \
|
||||||
|
+ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \
|
||||||
|
+ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \
|
||||||
|
+ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \
|
||||||
|
+ AV_CODEC_ID_THEORA,
|
||||||
|
.init = mkv_init,
|
||||||
|
.write_header = mkv_write_header,
|
||||||
|
.write_packet = mkv_write_flush_packet,
|
||||||
|
@@ -2815,8 +2823,7 @@ AVOutputFormat ff_matroska_audio_muxer =
|
||||||
|
.mime_type = "audio/x-matroska",
|
||||||
|
.extensions = "mka",
|
||||||
|
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||||
|
- .audio_codec = CONFIG_LIBVORBIS_ENCODER ?
|
||||||
|
- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3,
|
||||||
|
+ .audio_codec = PREFAUDIO,
|
||||||
|
.video_codec = AV_CODEC_ID_NONE,
|
||||||
|
.init = mkv_init,
|
||||||
|
.write_header = mkv_write_header,
|
17
ffmpeg-libcdio_cdda-pkgconfig.patch
Normal file
17
ffmpeg-libcdio_cdda-pkgconfig.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
configure | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
Index: ffmpeg-4.0.1/configure
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-4.0.1.orig/configure 2018-06-16 03:12:16.000000000 +0200
|
||||||
|
+++ ffmpeg-4.0.1/configure 2018-06-30 00:17:17.733924139 +0200
|
||||||
|
@@ -6243,6 +6243,8 @@ enabled libjack &&
|
||||||
|
enabled sndio && check_lib sndio sndio.h sio_open -lsndio
|
||||||
|
|
||||||
|
if enabled libcdio; then
|
||||||
|
+ # cdio_cdda needs -lrt, get it from pkg-config from the external pkg
|
||||||
|
+ #l=$(pkg-config --libs libcdio_paranoia libcdio_cdda libcdio)
|
||||||
|
check_pkg_config libcdio libcdio_paranoia "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open ||
|
||||||
|
check_pkg_config libcdio libcdio_paranoia "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open ||
|
||||||
|
check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
|
60
ffmpeg-new-coder-errors.diff
Normal file
60
ffmpeg-new-coder-errors.diff
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From: Jan Engelhardt <jengelh@inai.de>
|
||||||
|
Date: 2016-04-10 23:23:53.138440254 +0200
|
||||||
|
|
||||||
|
Improve the error messages a bit to say what's really going on
|
||||||
|
(in light of openSUSE's reduced build).
|
||||||
|
|
||||||
|
---
|
||||||
|
fftools/ffmpeg.c | 2 +-
|
||||||
|
fftools/ffmpeg_filter.c | 4 ++--
|
||||||
|
fftools/ffmpeg_opt.c | 2 +-
|
||||||
|
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
Index: ffmpeg-4.0.1/fftools/ffmpeg.c
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-4.0.1.orig/fftools/ffmpeg.c 2018-06-16 03:12:16.000000000 +0200
|
||||||
|
+++ ffmpeg-4.0.1/fftools/ffmpeg.c 2018-06-30 00:17:17.757924412 +0200
|
||||||
|
@@ -2883,7 +2883,7 @@ static int init_input_stream(int ist_ind
|
||||||
|
if (ist->decoding_needed) {
|
||||||
|
AVCodec *codec = ist->dec;
|
||||||
|
if (!codec) {
|
||||||
|
- snprintf(error, error_len, "Decoder (codec %s) not found for input stream #%d:%d",
|
||||||
|
+ snprintf(error, error_len, "This build of ffmpeg does not include a \"%s\" decoder needed for input stream #%d:%d.",
|
||||||
|
avcodec_get_name(ist->dec_ctx->codec_id), ist->file_index, ist->st->index);
|
||||||
|
return AVERROR(EINVAL);
|
||||||
|
}
|
||||||
|
Index: ffmpeg-4.0.1/fftools/ffmpeg_filter.c
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-4.0.1.orig/fftools/ffmpeg_filter.c 2018-04-20 12:02:55.000000000 +0200
|
||||||
|
+++ ffmpeg-4.0.1/fftools/ffmpeg_filter.c 2018-06-30 00:17:17.757924412 +0200
|
||||||
|
@@ -972,7 +972,7 @@ static int configure_input_filter(Filter
|
||||||
|
{
|
||||||
|
if (!ifilter->ist->dec) {
|
||||||
|
av_log(NULL, AV_LOG_ERROR,
|
||||||
|
- "No decoder for stream #%d:%d, filtering impossible\n",
|
||||||
|
+ "This build of ffmpeg does not have a suitable decoder for stream #%d:%d enabled, filtering impossible\n",
|
||||||
|
ifilter->ist->file_index, ifilter->ist->st->index);
|
||||||
|
return AVERROR_DECODER_NOT_FOUND;
|
||||||
|
}
|
||||||
|
@@ -1122,7 +1122,7 @@ int configure_filtergraph(FilterGraph *f
|
||||||
|
if (!ost->enc) {
|
||||||
|
/* identical to the same check in ffmpeg.c, needed because
|
||||||
|
complex filter graphs are initialized earlier */
|
||||||
|
- av_log(NULL, AV_LOG_ERROR, "Encoder (codec %s) not found for output stream #%d:%d\n",
|
||||||
|
+ av_log(NULL, AV_LOG_ERROR, "This build of ffmpeg does not include a \"%s\" encoder needed for output stream #%d:%d.\n",
|
||||||
|
avcodec_get_name(ost->st->codecpar->codec_id), ost->file_index, ost->index);
|
||||||
|
ret = AVERROR(EINVAL);
|
||||||
|
goto fail;
|
||||||
|
Index: ffmpeg-4.0.1/fftools/ffmpeg_opt.c
|
||||||
|
===================================================================
|
||||||
|
--- ffmpeg-4.0.1.orig/fftools/ffmpeg_opt.c 2018-04-20 12:02:55.000000000 +0200
|
||||||
|
+++ ffmpeg-4.0.1/fftools/ffmpeg_opt.c 2018-06-30 00:17:17.757924412 +0200
|
||||||
|
@@ -1277,7 +1277,7 @@ static int choose_encoder(OptionsContext
|
||||||
|
if (!ost->enc) {
|
||||||
|
av_log(NULL, AV_LOG_FATAL, "Automatic encoder selection failed for "
|
||||||
|
"output stream #%d:%d. Default encoder for format %s (codec %s) is "
|
||||||
|
- "probably disabled. Please choose an encoder manually.\n",
|
||||||
|
+ "probably disabled or this build of ffmpeg does not include that codec. Please choose an encoder manually.\n",
|
||||||
|
ost->file_index, ost->index, s->oformat->name,
|
||||||
|
avcodec_get_name(ost->st->codecpar->codec_id));
|
||||||
|
return AVERROR_ENCODER_NOT_FOUND;
|
6
ffmpeg-rpmlintrc
Normal file
6
ffmpeg-rpmlintrc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# manpages for such executables aren't supplied
|
||||||
|
addFilter("no-manual-page-for-binary")
|
||||||
|
|
||||||
|
# our libraries really have those names and versions
|
||||||
|
addFilter("shlib-fixed-dependency")
|
||||||
|
addFilter("no-dependency-on libffmpeg.*")
|
Loading…
Reference in New Issue
Block a user