X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/a4279e8660fe2dc1c9c910649f32a9dea8092a58..af52bea37759865d888aa549aa16f2ff1a905c32:/packages/ffmpeg/build.sh diff --git a/packages/ffmpeg/build.sh b/packages/ffmpeg/build.sh index a0692e42..ae0545bb 100644 --- a/packages/ffmpeg/build.sh +++ b/packages/ffmpeg/build.sh @@ -1,40 +1,63 @@ -TERMUX_PKG_HOMEPAGE=https://www.ffmpeg.org/ +TERMUX_PKG_HOMEPAGE=https://ffmpeg.org TERMUX_PKG_DESCRIPTION="Tools and libraries to manipulate a wide range of multimedia formats and protocols" -TERMUX_PKG_VERSION=2.8.5 -TERMUX_PKG_SRCURL=https://github.com/FFmpeg/FFmpeg/archive/n${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_FOLDERNAME=FFmpeg-n$TERMUX_PKG_VERSION +# NOTE: mpv has to be rebuilt and version bumped after updating ffmpeg. +TERMUX_PKG_VERSION=3.2.1 +TERMUX_PKG_SRCURL=https://www.ffmpeg.org/releases/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SHA256=1ecf93da5d601e6fb3096c65cbe33fdaf042d690a3c50c4efadb0a9b74f2badf +TERMUX_PKG_FOLDERNAME=ffmpeg-$TERMUX_PKG_VERSION # libbz2 is used by matroska decoder: -TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libfaac, liblzma" +# libvpx is the VP8 & VP9 video encoder for WebM, see +# https://trac.ffmpeg.org/wiki/Encode/VP8 and https://trac.ffmpeg.org/wiki/Encode/VP9 +TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libmp3lame, libopus, libvpx" TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/ffmpeg/examples" TERMUX_PKG_CONFLICTS="libav" termux_step_configure () { cd $TERMUX_PKG_BUILDDIR + + local _EXTRA_CONFIGURE_FLAGS="" if [ $TERMUX_ARCH = "arm" ]; then _ARCH="armeabi-v7a" + _EXTRA_CONFIGURE_FLAGS="--enable-neon" elif [ $TERMUX_ARCH = "i686" ]; then _ARCH="x86" - else + # Specify --disable-asm to prevent text relocations on i686, + # see https://trac.ffmpeg.org/ticket/4928 + _EXTRA_CONFIGURE_FLAGS="--disable-asm" + elif [ $TERMUX_ARCH = "x86_64" ]; then + _ARCH="x86_64" + elif [ $TERMUX_ARCH = "aarch64" ]; then _ARCH=$TERMUX_ARCH + _EXTRA_CONFIGURE_FLAGS="--enable-neon" + else + echo "Unsupported arch $TERMUX_ARCH" + exit 1 fi - # --disable-asm to prevent text relocations + + # --disable-lzma to avoid problem with shared library clashes, see + # https://github.com/termux/termux-packages/issues/511 + # Only used for LZMA compression support for tiff decoder. $TERMUX_PKG_SRCDIR/configure \ --arch=${_ARCH} \ --cross-prefix=${TERMUX_HOST_PLATFORM}- \ - --disable-asm \ + --disable-avdevice \ --disable-ffserver \ --disable-static \ - --disable-symver \ + --disable-symver \ + --disable-lzma \ --enable-cross-compile \ --enable-gpl \ - --enable-libfaac \ + --enable-libmp3lame \ --enable-libvorbis \ + --enable-libopus \ --enable-libx264 \ --enable-libxvid \ + --enable-libvpx \ --enable-nonfree \ --enable-openssl \ --enable-shared \ --prefix=$TERMUX_PREFIX \ - --target-os=linux + --target-os=android \ + $_EXTRA_CONFIGURE_FLAGS }