X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/05f3b9f070e409ad80391d952801a0778aa2f8b2..f9fc47c910efe5e213928dfb67b4fea07b50f36e:/packages/ffmpeg/build.sh diff --git a/packages/ffmpeg/build.sh b/packages/ffmpeg/build.sh index e16898d5..f92d4c25 100644 --- a/packages/ffmpeg/build.sh +++ b/packages/ffmpeg/build.sh @@ -1,40 +1,68 @@ -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=3.0 -TERMUX_PKG_SRCURL=https://github.com/FFmpeg/FFmpeg/releases/download/n${TERMUX_PKG_VERSION}/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_FOLDERNAME=ffmpeg-$TERMUX_PKG_VERSION +# NOTE: mpv has to be rebuilt and version bumped after updating ffmpeg. +TERMUX_PKG_VERSION=3.4.2 +TERMUX_PKG_SHA256=2b92e9578ef8b3e49eeab229e69305f5f4cbc1fdaa22e927fc7fca18acccd740 +TERMUX_PKG_SRCURL=https://www.ffmpeg.org/releases/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz # 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="libbz2, libsoxr, libx264, libx265, xvidcore, libvorbis, libmp3lame, libopus, libvpx, libgnutls, libandroid-glob" TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/ffmpeg/examples" TERMUX_PKG_CONFLICTS="libav" termux_step_configure () { cd $TERMUX_PKG_BUILDDIR + + export ASFLAGS="-no-integrated-as" + + 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 + termux_error_exit "Unsupported arch: $TERMUX_ARCH" 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} \ + --as=$AS \ + --cc=$CC \ + --cxx=$CXX \ --cross-prefix=${TERMUX_HOST_PLATFORM}- \ - --disable-asm \ + --disable-avdevice \ --disable-ffserver \ --disable-static \ - --disable-symver \ + --disable-symver \ + --disable-lzma \ --enable-cross-compile \ + --enable-gnutls \ --enable-gpl \ - --enable-libfaac \ + --enable-libmp3lame \ --enable-libvorbis \ + --enable-libopus \ --enable-libx264 \ + --enable-libx265 \ --enable-libxvid \ - --enable-nonfree \ - --enable-openssl \ + --enable-libvpx \ --enable-shared \ + --enable-libsoxr \ --prefix=$TERMUX_PREFIX \ - --target-os=linux + --target-os=android \ + --extra-libs="-landroid-glob" \ + $_EXTRA_CONFIGURE_FLAGS }