From 5066a44f95cf4e0656ba34fc0c4e551a355a500e Mon Sep 17 00:00:00 2001 From: philippegorley <philippe.gorley@savoirfairelinux.com> Date: Tue, 26 Sep 2017 15:49:14 -0400 Subject: [PATCH] contrib: bump ffmpeg A non exhautive list of what this bump brings: - Direct 3D 11 hardware decoding (UWP) - Uniform API for vaapi, vdpau, videotoolbox, dxva2 and d3d11va - 32 bit MediaCodec fix (Android hardware decoding) - Non X screen capture on Linux (Wayland support) - Better VP9 support - Various bug fixes and optimizations Due to problems with the VideoToolbox acceleration, the bump for MacOS is postponed. Change-Id: Id05a1d789c90ea1321f10e801a036c47b6f76d88 --- configure.ac | 25 +++++++++++++++++++------ contrib/src/ffmpeg/rules.mak | 13 ++++++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/configure.ac b/configure.ac index 0eb26518b3..c558fc93bb 100644 --- a/configure.ac +++ b/configure.ac @@ -425,16 +425,29 @@ AS_IF([test "x$with_restcpp" = "xyes"], [ ); dnl Check for libav -PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= 55.58.100,, AC_MSG_ERROR([Missing libavutil development files])) +AS_IF([test "${SYS}" = "darwin"], [ + PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= 55.58.100,, AC_MSG_ERROR([Missing libavutil development files])) -PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= 53.89.100,, AC_MSG_ERROR([Missing libavcodec development files])) -LIBAVCODEC_CFLAGS="${LIBAVCODEC_CFLAGS} -D__STDC_CONSTANT_MACROS" + PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= 53.89.100,, AC_MSG_ERROR([Missing libavcodec development files])) + LIBAVCODEC_CFLAGS="${LIBAVCODEC_CFLAGS} -D__STDC_CONSTANT_MACROS" -PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= 57.71.100,, AC_MSG_ERROR([Missing libavformat development files])) + PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= 57.71.100,, AC_MSG_ERROR([Missing libavformat development files])) -PKG_CHECK_MODULES(LIBAVDEVICE, libavdevice >= 57.6.100,, AC_MSG_ERROR([Missing libavdevice development files])) + PKG_CHECK_MODULES(LIBAVDEVICE, libavdevice >= 57.6.100,, AC_MSG_ERROR([Missing libavdevice development files])) -PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= 4.6.100,, AC_MSG_ERROR([Missing libswscale development files])) + PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= 4.6.100,, AC_MSG_ERROR([Missing libswscale development files])) +],[ + PKG_CHECK_MODULES(LIBAVUTIL, libavutil >= 55.75.100,, AC_MSG_ERROR([Missing libavutil development files])) + + PKG_CHECK_MODULES(LIBAVCODEC, libavcodec >= 53.106.101,, AC_MSG_ERROR([Missing libavcodec development files])) + LIBAVCODEC_CFLAGS="${LIBAVCODEC_CFLAGS} -D__STDC_CONSTANT_MACROS" + + PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= 57.81.100,, AC_MSG_ERROR([Missing libavformat development files])) + + PKG_CHECK_MODULES(LIBAVDEVICE, libavdevice >= 57.8.101,, AC_MSG_ERROR([Missing libavdevice development files])) + + PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= 4.7.103,, AC_MSG_ERROR([Missing libswscale development files])) +]); dnl Video is default-enabled AC_ARG_ENABLE([video], AS_HELP_STRING([--disable-video], [Disable video])) diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak index cf657a96c7..99b0c9dfea 100644 --- a/contrib/src/ffmpeg/rules.mak +++ b/contrib/src/ffmpeg/rules.mak @@ -1,9 +1,13 @@ +ifndef HAVE_MACOSX +FFMPEG_HASH := 18516d3e695980525bd9758dc7b8a8e36cd3f09e +else FFMPEG_HASH := n3.3.3 +endif FFMPEG_URL := https://git.ffmpeg.org/gitweb/ffmpeg.git/snapshot/$(FFMPEG_HASH).tar.gz PKGS+=ffmpeg -ifeq ($(call need_pkg,"libavutil >= 55.58.100 libavcodec >= 57.89.100 libavformat >= 57.71.100 libavdevice >= 57.6.100 libswscale >= 4.6.100"),) +ifeq ($(call need_pkg,"libavutil >= 55.75.100 libavcodec >= 57.106.101 libavformat >= 57.82.100 libavdevice >= 57.8.101 libswscale >= 4.7.103"),) PKGS_FOUND += ffmpeg endif @@ -20,8 +24,7 @@ FFMPEGCONF += \ --enable-gpl \ --enable-swscale \ --enable-protocols \ - --disable-programs \ - --disable-sdl + --disable-programs #enable muxers/demuxers FFMPEGCONF += \ @@ -137,6 +140,7 @@ endif ifdef HAVE_MACOSX FFMPEGCONF += \ + --disable-sdl \ --enable-indev=avfoundation \ --enable-videotoolbox \ --enable-hwaccel=h263_videotoolbox \ @@ -149,8 +153,7 @@ FFMPEGCONF += \ --target-os=darwin \ --enable-cross-compile \ --arch=$(ARCH) \ - --enable-pic \ - --enable-indev=avfoundation + --enable-pic endif ifndef HAVE_IOS -- GitLab