build: bump required FFmpeg/Libav libraries

The af_lavrresample commit made compilation fail on Libav 10, so I think
it's time to require somewhat more recent dependencies.

Libav 11 is the latest release, and FFmpeg 2.4 seems to correspond to
Libav 11. So use these.

Also adjust the configure failure message. Instead of (accidentally)
printing the pkg-config versions twice, print the release version
numbers too. This is helpful, because the release version numbers are
completely different from the pkg-config ones.

I will probably remove some compatibility hacks in the following commits
too.
This commit is contained in:
wm4 2015-03-03 11:51:22 +01:00
parent 7031335886
commit 5808f1c408
4 changed files with 18 additions and 17 deletions

View File

@ -45,7 +45,7 @@ Essential dependencies (incomplete list):
- Audio output development headers (libasound/ALSA, pulseaudio) - Audio output development headers (libasound/ALSA, pulseaudio)
- FFmpeg libraries (libavutil libavcodec libavformat libswscale libavfilter - FFmpeg libraries (libavutil libavcodec libavformat libswscale libavfilter
and either libswresample or libavresample) and either libswresample or libavresample)
At least FFmpeg 2.1.4 or Libav 10 is required. At least FFmpeg 2.4.0 or Libav 11 is required.
- zlib - zlib
- iconv (normally provided by the system libc) - iconv (normally provided by the system libc)
- libass (OSD, OSC, text subtitles) - libass (OSD, OSC, text subtitles)

View File

@ -747,15 +747,15 @@ check_pkg_config "libbs2b audio filter support" $_libbs2b LIBBS2B 'libbs2b'
check_pkg_config "LCMS2 support" $_lcms2 LCMS2 'lcms2 >= 2.6' check_pkg_config "LCMS2 support" $_lcms2 LCMS2 'lcms2 >= 2.6'
check_pkg_config "FFmpeg/Libav" $_ffmpeg FFMPEG \ check_pkg_config "FFmpeg/Libav" $_ffmpeg FFMPEG \
"libavutil >= 52.48.101 libavcodec >= 55.34.1 libavformat >= 55.12.0 libswscale >= 2.1.2" "libavutil >= 54.02.0 libavcodec >= 56.1.0 libavformat >= 56.01.0 libswscale >= 2.1.3"
test $(defretval) = no && die "Unable to find development files for some of the required Libav libraries above. Aborting." test $(defretval) = no && die "Unable to find development files for some of the required Libav libraries above. Aborting."
check_pkg_config "Libswresample" $_libswresample LIBSWRESAMPLE 'libswresample >= 0.17.104' check_pkg_config "Libswresample" $_libswresample LIBSWRESAMPLE 'libswresample >= 1.1.100'
_libswresample=$(defretval) _libswresample=$(defretval)
_libavresample=auto _libavresample=auto
test $_libswresample = yes && _libavresample=no test $_libswresample = yes && _libavresample=no
check_pkg_config "Libavresample" $_libavresample LIBAVRESAMPLE 'libavresample >= 1.1.0' check_pkg_config "Libavresample" $_libavresample LIBAVRESAMPLE 'libavresample >= 2.1.0'
_libavresample=$(defretval) _libavresample=$(defretval)
if test "$_libswresample" = no && test "$_libavresample" = no ; then if test "$_libswresample" = no && test "$_libavresample" = no ; then
@ -831,9 +831,9 @@ api_statement_check \
libavcodec/vdpau.h \ libavcodec/vdpau.h \
'AVVDPAUContext *x = av_vdpau_alloc_context()' 'AVVDPAUContext *x = av_vdpau_alloc_context()'
check_pkg_config "libavfilter" $_libavfilter LIBAVFILTER 'libavfilter >= 3.90.100' check_pkg_config "libavfilter" $_libavfilter LIBAVFILTER 'libavfilter >= 5.0.0'
check_pkg_config "libavdevice" $_libavdevice LIBAVDEVICE 'libavdevice >= 54.0.0' check_pkg_config "libavdevice" $_libavdevice LIBAVDEVICE 'libavdevice >= 55.0.0'
check_trivial "TV interface" $_tv TV check_trivial "TV interface" $_tv TV

View File

@ -89,7 +89,7 @@ class Libav < TravisDepsBuilder
{ {
"libav-stable" => { "libav-stable" => {
:action => :stable, :action => :stable,
:url => 'http://libav.org/releases/libav-10.tar.gz' :url => 'http://libav.org/releases/libav-11.tar.gz'
}, },
"libav-git" => { "libav-git" => {
:action => :git, :action => :git,
@ -97,7 +97,7 @@ class Libav < TravisDepsBuilder
}, },
"ffmpeg-stable" => { "ffmpeg-stable" => {
:action => :stable, :action => :stable,
:url => 'http://www.ffmpeg.org/releases/ffmpeg-2.1.4.tar.gz' :url => 'http://www.ffmpeg.org/releases/ffmpeg-2.4.tar.gz'
}, },
"ffmpeg-git" => { "ffmpeg-git" => {
:action => :git, :action => :git,

19
wscript
View File

@ -370,11 +370,12 @@ iconv support use --disable-iconv.",
] ]
libav_pkg_config_checks = [ libav_pkg_config_checks = [
'libavutil', '>= 52.48.101', 'libavutil', '>= 54.02.0',
'libavcodec', '>= 55.34.1', 'libavcodec', '>= 56.1.0',
'libavformat', '>= 55.12.0', 'libavformat', '>= 56.01.0',
'libswscale', '>= 2.1.2' 'libswscale', '>= 2.1.3'
] ]
libav_versions_string = "FFmpeg 2.4 or Libav 11"
libav_dependencies = [ libav_dependencies = [
{ {
@ -383,15 +384,15 @@ libav_dependencies = [
'func': check_pkg_config(*libav_pkg_config_checks), 'func': check_pkg_config(*libav_pkg_config_checks),
'req': True, 'req': True,
'fmsg': "Unable to find development files for some of the required \ 'fmsg': "Unable to find development files for some of the required \
Libav libraries ({0}). Aborting.".format(" ".join(libav_pkg_config_checks)) FFmpeg/Libav libraries. You need at least {0}. Aborting.".format(libav_versions_string)
}, { }, {
'name': '--libswresample', 'name': '--libswresample',
'desc': 'libswresample', 'desc': 'libswresample',
'func': check_pkg_config('libswresample', '>= 0.17.104'), 'func': check_pkg_config('libswresample', '>= 1.1.100'),
}, { }, {
'name': '--libavresample', 'name': '--libavresample',
'desc': 'libavresample', 'desc': 'libavresample',
'func': check_pkg_config('libavresample', '>= 1.1.0'), 'func': check_pkg_config('libavresample', '>= 2.1.0'),
'deps_neg': ['libswresample'], 'deps_neg': ['libswresample'],
}, { }, {
'name': 'resampler', 'name': 'resampler',
@ -403,11 +404,11 @@ Libav libraries ({0}). Aborting.".format(" ".join(libav_pkg_config_checks))
}, { }, {
'name': '--libavfilter', 'name': '--libavfilter',
'desc': 'libavfilter', 'desc': 'libavfilter',
'func': check_pkg_config('libavfilter', '>= 3.90.100'), 'func': check_pkg_config('libavfilter', '>= 5.0.0'),
}, { }, {
'name': '--libavdevice', 'name': '--libavdevice',
'desc': 'libavdevice', 'desc': 'libavdevice',
'func': check_pkg_config('libavdevice', '>= 54.0.0'), 'func': check_pkg_config('libavdevice', '>= 55.0.0'),
}, { }, {
'name': 'avcodec-chroma-pos-api', 'name': 'avcodec-chroma-pos-api',
'desc': 'libavcodec avcodec_enum_to_chroma_pos API', 'desc': 'libavcodec avcodec_enum_to_chroma_pos API',