From 5808f1c408be958e90a302f42610fc59dfa0c373 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 3 Mar 2015 11:51:22 +0100 Subject: [PATCH] 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. --- README.md | 2 +- old-configure | 10 +++++----- travis-deps | 4 ++-- wscript | 19 ++++++++++--------- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 067eb7a3e9..e9a8c94d31 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Essential dependencies (incomplete list): - Audio output development headers (libasound/ALSA, pulseaudio) - FFmpeg libraries (libavutil libavcodec libavformat libswscale libavfilter 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 - iconv (normally provided by the system libc) - libass (OSD, OSC, text subtitles) diff --git a/old-configure b/old-configure index e7fae165b2..f8f67110ac 100755 --- a/old-configure +++ b/old-configure @@ -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 "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." -check_pkg_config "Libswresample" $_libswresample LIBSWRESAMPLE 'libswresample >= 0.17.104' +check_pkg_config "Libswresample" $_libswresample LIBSWRESAMPLE 'libswresample >= 1.1.100' _libswresample=$(defretval) _libavresample=auto 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) if test "$_libswresample" = no && test "$_libavresample" = no ; then @@ -831,9 +831,9 @@ api_statement_check \ libavcodec/vdpau.h \ '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 diff --git a/travis-deps b/travis-deps index c2cd4e48dd..194f183d1d 100755 --- a/travis-deps +++ b/travis-deps @@ -89,7 +89,7 @@ class Libav < TravisDepsBuilder { "libav-stable" => { :action => :stable, - :url => 'http://libav.org/releases/libav-10.tar.gz' + :url => 'http://libav.org/releases/libav-11.tar.gz' }, "libav-git" => { :action => :git, @@ -97,7 +97,7 @@ class Libav < TravisDepsBuilder }, "ffmpeg-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" => { :action => :git, diff --git a/wscript b/wscript index f273388305..c8a9fcafc9 100644 --- a/wscript +++ b/wscript @@ -370,11 +370,12 @@ iconv support use --disable-iconv.", ] libav_pkg_config_checks = [ - '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' ] +libav_versions_string = "FFmpeg 2.4 or Libav 11" libav_dependencies = [ { @@ -383,15 +384,15 @@ libav_dependencies = [ 'func': check_pkg_config(*libav_pkg_config_checks), 'req': True, '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', 'desc': 'libswresample', - 'func': check_pkg_config('libswresample', '>= 0.17.104'), + 'func': check_pkg_config('libswresample', '>= 1.1.100'), }, { 'name': '--libavresample', 'desc': 'libavresample', - 'func': check_pkg_config('libavresample', '>= 1.1.0'), + 'func': check_pkg_config('libavresample', '>= 2.1.0'), 'deps_neg': ['libswresample'], }, { 'name': 'resampler', @@ -403,11 +404,11 @@ Libav libraries ({0}). Aborting.".format(" ".join(libav_pkg_config_checks)) }, { 'name': '--libavfilter', 'desc': 'libavfilter', - 'func': check_pkg_config('libavfilter', '>= 3.90.100'), + 'func': check_pkg_config('libavfilter', '>= 5.0.0'), }, { 'name': '--libavdevice', 'desc': 'libavdevice', - 'func': check_pkg_config('libavdevice', '>= 54.0.0'), + 'func': check_pkg_config('libavdevice', '>= 55.0.0'), }, { 'name': 'avcodec-chroma-pos-api', 'desc': 'libavcodec avcodec_enum_to_chroma_pos API',