From b0369a9764e0d0dd5da447915c7c5ad2a0c8e89f Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sat, 30 Mar 2019 19:00:22 +0000 Subject: ffmpeg: updated to 3.4.6 --- ffmpeg/build/ffmpeg.SlackBuild | 136 ++++++++++++++++++++++------------------- 1 file changed, 73 insertions(+), 63 deletions(-) (limited to 'ffmpeg') diff --git a/ffmpeg/build/ffmpeg.SlackBuild b/ffmpeg/build/ffmpeg.SlackBuild index c10ad727..42d36321 100755 --- a/ffmpeg/build/ffmpeg.SlackBuild +++ b/ffmpeg/build/ffmpeg.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash # $Id$ -# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Eric Hameleers, Eindhoven, NL +# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -177,6 +177,8 @@ # * Updated. # 3.4.2-2: 14/may/2018 by Eric Hameleers # * Rebuilt for slackware-current. +# 3.4.6-1: 30/mar/2019 by Eric Hameleers +# * Updated. # # Run 'sh ffmpeg.SlackBuild' to build a Slackware package. # The package (.txz) plus descriptive .txt file are created in /tmp . @@ -186,8 +188,8 @@ PRGNAM=ffmpeg -VERSION=${VERSION:-3.4.2} -BUILD=${BUILD:-2} +VERSION=${VERSION:-3.4.6} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-"-j$(nproc)"} TAG=${TAG:-"alien"} @@ -267,25 +269,25 @@ AMR=0.1.3 ASS=0.14.0 AVC1394=0.5.4 DC1394=2.1.2 -FDKAAC=0.1.5 -MFX=20170608 -FRIBIDI=0.19.7 +FDKAAC=2.0.0 +MFX=1.25 +FRIBIDI=1.0.5 GSM=1.0.16 LAME=3.100 -LIBVA=2.0.0 +LIBVA=2.4.0 LIBZVBI=0.2.35 -OPUS=1.2.1 +OPUS=1.3 ORC=0.4.28 RAW1394=2.0.5 RTMP=2.3 SCHROEDINGER=1.0.11 -SDL2=2.0.7 +SDL2=2.0.9 SPEEX=1.2.0 -V4L=1.12.2 -VDPAU=1.1.1 -VPX=1.7.0 -X264=20180128-2245 -X265=2.5 +V4L=1.16.5 +VDPAU=1.2 +VPX=1.8.0 +X264=20190329-2245 +X265=2.8 # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) @@ -332,115 +334,115 @@ else SRCURL[0]="http://ffmpeg.org/releases/ffmpeg-${SRCVER}.tar.bz2" fi -SOURCE[0]="$SRCDIR/ffmpeg-${SRCVER}.tar.bz2" +SOURCE[0]="$SRCDIR/sources/ffmpeg-${SRCVER}.tar.bz2" SRCPAT[0]="NO" # VDPAU for video hardware acceleration: -SOURCE[1]="$SRCDIR/libvdpau-${VDPAU}.tar.gz" -SRCURL[1]="http://people.freedesktop.org/~aplattner/vdpau/libvdpau-${VDPAU}.tar.gz" +SOURCE[1]="$SRCDIR/sources/libvdpau-${VDPAU}.tar.bz2" +SRCURL[1]="http://people.freedesktop.org/~aplattner/vdpau/libvdpau-${VDPAU}.tar.bz2" SRCPAT[1]="NO" # SDL2 is required by ffplay: -SOURCE[2]="$SRCDIR/SDL2-${SDL2}.tar.gz" +SOURCE[2]="$SRCDIR/sources/SDL2-${SDL2}.tar.gz" SRCURL[2]="http://www.libsdl.org/release/SDL2-${SDL2}.tar.gz" SRCPAT[2]="NO" # SPEEX audio codec: -SOURCE[3]="$SRCDIR/speex-${SPEEX}.tar.gz" +SOURCE[3]="$SRCDIR/sources/speex-${SPEEX}.tar.gz" SRCURL[3]="http://downloads.us.xiph.org/releases/speex/speex-${SPEEX}.tar.gz" SRCPAT[3]="NO" # X264 encoder - for H264/AVC video streams, for static linking -SOURCE[4]="$SRCDIR/x264-snapshot-${X264}.tar.bz2" +SOURCE[4]="$SRCDIR/sources/x264-snapshot-${X264}.tar.bz2" SRCURL[4]="https://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264}.tar.bz2" SRCPAT[4]="NO" # fdk-aac en/decoder from the Android Open Source Project (opencore-amr): -SOURCE[5]="$SRCDIR/fdk-aac-${FDKAAC}.tar.gz" -SRCURL[5]="http://downloads.sourceforge.net/opencore-amr/fdk-aac-${FDKAAC}.tar.gz" +SOURCE[5]="$SRCDIR/sources/fdk-aac-${FDKAAC}.tar.gz" +SRCURL[5]="https://downloads.sourceforge.net/opencore-amr/fdk-aac-${FDKAAC}.tar.gz" SRCPAT[5]="YES" # GSM support: -SOURCE[6]="$SRCDIR/gsm-$GSM.tar.gz" +SOURCE[6]="$SRCDIR/sources/gsm-$GSM.tar.gz" SRCURL[6]="http://www.quut.com/gsm/gsm-$GSM.tar.gz" SRCPAT[6]="NO" # Lame is used for the audio in FLV videos; will statically link with ffmpeg -SOURCE[7]="$SRCDIR/lame-$LAME.tar.gz" -SRCURL[7]="http://downloads.sourceforge.net/lame/lame-$LAME.tar.gz" +SOURCE[7]="$SRCDIR/sources/lame-$LAME.tar.gz" +SRCURL[7]="https://downloads.sourceforge.net/lame/lame-$LAME.tar.gz" SRCPAT[7]="NO" # Library to support the AVC (Audio/Video Control) Digital Interface Command Set -SOURCE[8]="$SRCDIR/libavc1394-${AVC1394}.tar.gz" -SRCURL[8]="http://downloads.sourceforge.net/libavc1394/libavc1394-${AVC1394}.tar.gz" +SOURCE[8]="$SRCDIR/sources/libavc1394-${AVC1394}.tar.gz" +SRCURL[8]="https://downloads.sourceforge.net/libavc1394/libavc1394-${AVC1394}.tar.gz" SRCPAT[8]="NO" # Library needed to control IEEE 1394 (firewire-) based cameras -SOURCE[9]="$SRCDIR/libraw1394-${RAW1394}.tar.gz" -SRCURL[9]="http://downloads.sourceforge.net/libraw1394/libraw1394-${RAW1394}.tar.gz" +SOURCE[9]="$SRCDIR/sources/libraw1394-${RAW1394}.tar.gz" +SRCURL[9]="https://downloads.sourceforge.net/libraw1394/libraw1394-${RAW1394}.tar.gz" SRCPAT[9]="NO" -SOURCE[10]="$SRCDIR/libdc1394-${DC1394}.tar.gz" -SRCURL[10]="http://downloads.sourceforge.net/libdc1394/libdc1394-${DC1394}.tar.gz" +SOURCE[10]="$SRCDIR/sources/libdc1394-${DC1394}.tar.gz" +SRCURL[10]="https://downloads.sourceforge.net/libdc1394/libdc1394-${DC1394}.tar.gz" SRCPAT[10]="NO" # librtmp library, supporting RTMP streams -SOURCE[11]="$SRCDIR/rtmpdump-${RTMP}.tgz" +SOURCE[11]="$SRCDIR/sources/rtmpdump-${RTMP}.tgz" SRCURL[11]="http://rtmpdump.mplayerhq.hu/download/rtmpdump-${RTMP}.tgz" SRCPAT[11]="NO" # libvpx library, containing the VP8 codec -SOURCE[12]="$SRCDIR/libvpx-${VPX}.tar.gz" +SOURCE[12]="$SRCDIR/sources/libvpx-${VPX}.tar.gz" SRCURL[12]="https://github.com/webmproject/libvpx/archive/v${VPX}.tar.gz" SRCPAT[12]="NO" # Library supporting VAAPI (GPU-accelerated video playback interface) -SOURCE[13]="$SRCDIR/libva-${LIBVA}.tar.bz2" +SOURCE[13]="$SRCDIR/sources/libva-${LIBVA}.tar.bz2" SRCURL[13]="https://github.com/01org/libva/releases/download/${LIBVA}/libva-${LIBVA}.tar.bz2" SRCPAT[13]="NO" # AMR-WB encoder libraries used to encode 3GPP audio -SOURCE[14]="$SRCDIR/vo-amrwbenc-${AMRWBENC}.tar.gz" +SOURCE[14]="$SRCDIR/sources/vo-amrwbenc-${AMRWBENC}.tar.gz" SRCURL[14]="http://downloads.sourceforge.net/opencore-amr/vo-amrwbenc-${AMRWBENC}.tar.gz" SRCPAT[14]="NO" # AMR-NB de/encoder and WB decoder libraries used to de/encode 3GPP audio -SOURCE[15]="$SRCDIR/opencore-amr-${AMR}.tar.gz" +SOURCE[15]="$SRCDIR/sources/opencore-amr-${AMR}.tar.gz" SRCURL[15]="http://downloads.sourceforge.net/opencore-amr/opencore-amr-${AMR}.tar.gz" SRCPAT[15]="NO" # Videolan's HEVC (x265) codec: -SOURCE[16]="$SRCDIR/x265-${X265}.tar.gz" +SOURCE[16]="$SRCDIR/sources/x265-${X265}.tar.gz" SRCURL[16]="http://github.com/videolan/x265/archive/${X265}.tar.gz" SRCPAT[16]="NO" # Unicode BiDirectional algorithm library, requirement for libass. -SOURCE[17]="$SRCDIR/fribidi-${FRIBIDI}.tar.bz2" -SRCURL[17]="http://fribidi.org/download/fribidi-${FRIBIDI}.tar.bz2" +SOURCE[17]="$SRCDIR/sources/fribidi-${FRIBIDI}.tar.bz2" +SRCURL[17]="https://github.com/fribidi/fribidi/releases/download/v${FRIBIDI}/fribidi-${FRIBIDI}.tar.bz2" SRCPAT[17]="NO" # Libass - portable library for SSA/ASS subtitles rendering -SOURCE[18]="$SRCDIR/libass-$ASS.tar.xz" +SOURCE[18]="$SRCDIR/sources/libass-$ASS.tar.xz" SRCURL[18]="https://github.com/libass/libass/releases/download/${ASS}/libass-$ASS.tar.xz" SRCPAT[18]="NO" # Collection of video4linux support libraries -SOURCE[19]="$SRCDIR/v4l-utils-${V4L}.tar.bz2" +SOURCE[19]="$SRCDIR/sources/v4l-utils-${V4L}.tar.bz2" SRCURL[19]="http://linuxtv.org/downloads/v4l-utils/v4l-utils-${V4L}.tar.bz2" SRCPAT[19]="NO" # opus codec: -SOURCE[20]="$SRCDIR/opus-${OPUS}.tar.gz" +SOURCE[20]="$SRCDIR/sources/opus-${OPUS}.tar.gz" SRCURL[20]="http://downloads.xiph.org/releases/opus/opus-${OPUS}.tar.gz" SRCPAT[20]="NO" -# libfmx library, for HW-accelerated playback on Intel GPUs: -SOURCE[21]="$SRCDIR/libfmx-${MFX}.tar.xz" -SRCURL[21]="" +# mfx_dispatch library, for HW-accelerated playback on Intel GPUs: +SOURCE[21]="$SRCDIR/sources/mfx_dispatch-${MFX}.tar.xz" +SRCURL[21]="https://github.com/lu-zero/mfx_dispatch/archive/${MFX}.tar.gz" SRCPAT[21]="NO" # libzvbi for teletext subtitle processing: -SOURCE[22]="$SRCDIR/zvbi-${LIBZVBI}.tar.bz2" +SOURCE[22]="$SRCDIR/sources/zvbi-${LIBZVBI}.tar.bz2" SRCURL[22]="http://downloads.sourceforge.net/zapping/zvbi-${LIBZVBI}.tar.bz2" SRCPAT[22]="NO" @@ -496,15 +498,15 @@ H) \ && tar --exclude .git -${TARCOMP}cf ${2} libvpx-${VPX} rm -rf libvpx-${VPX} ;; - 24) # We clone the git of libmfx at a certain date: - mkdir libmfx-${MFX} \ - && cd libmfx-${MFX} \ + 24) # We clone the git of mfx_dispatch at a certain date: + mkdir mfx_dispatch-${MFX} \ + && cd mfx_dispatch-${MFX} \ && git clone https://github.com/lu-zero/mfx_dispatch.git . \ && git checkout $(git rev-list -n 1 --before="`date -d $MFX`" master) \ && chown -R root:root . \ && cd .. \ - && tar --exclude .git -${TARCOMP}cf ${2} libmfx-${MFX} - rm -rf libmfx-${MFX} + && tar --exclude .git -${TARCOMP}cf ${2} mfx_dispatch-${MFX} + rm -rf mfx_dispatch-${MFX} ;; *) # Do nothing ;; @@ -1203,11 +1205,11 @@ cd - make_mfx() { echo -e "**\n** mfx ...\n**" -cd $TMP/tmp-$PRGNAM/libmfx-$MFX +cd $TMP/tmp-$PRGNAM/mfx_dispatch-$MFX [ ! -x configure ] && autoreconf -vif -# Note: libmfx needs libva. +# Note: mfx_dispatch needs libva. CFLAGS="-I$FFMPEGDEPSDIR/usr/include $SLKCFLAGS" \ CXXFLAGS="-I$FFMPEGDEPSDIR/usr/include $SLKCFLAGS" \ @@ -1365,17 +1367,19 @@ else ARCHOPTS="" fi -# Allow for internal use of the library: -cat $SRCDIR/patches/fribidi.patch | patch -p1 --verbose \ - 2>&1 | tee $OUTPUT/patch-${PRGNAM}_fribidi.log - -# Fix error on Slackware 14.1, no issue on Slackware 14.2... -# configure.ac:49: error: possibly undefined macro: AC_CONFIG_MACRO_DIRS -sed -i -e "s/AC_CONFIG_MACRO_DIRS/AC_CONFIG_MACRO_DIR/" configure.ac +## Allow for internal use of the library: +#cat $SRCDIR/patches/fribidi.patch | patch -p1 --verbose \ +# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_fribidi.log +# +## Fix error on Slackware 14.1, no issue on Slackware 14.2... +## configure.ac:49: error: possibly undefined macro: AC_CONFIG_MACRO_DIRS +#sed -i -e "s/AC_CONFIG_MACRO_DIRS/AC_CONFIG_MACRO_DIR/" configure.ac +# +## And since we patched the Makefile.am we have to bootstrap: +#rm -f configure +#./bootstrap -# And since we patched the Makefile.am we have to bootstrap: -rm -f configure -./bootstrap +[ ! -x configure ] && ./autogen.sh CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -1574,6 +1578,11 @@ cd $TMP/tmp-$PRGNAM/ffmpeg-${VERSION} #cat $SRCDIR/patches/x264_bitdepth.patch | patch -p1 --verbose \ # 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log +# Fix compilation against newer fdk-aac which slightly changed the API +# (this already landed in ffmpeg 4.x): +cat $SRCDIR/patches/fdk-aac_v2.patch | patch -p1 --verbose \ + 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log + if [ "$ARCH" = "x86_64" ]; then ARCHOPTS="--arch=x86_64 --enable-pic" else @@ -1609,6 +1618,7 @@ PATH="$FFMPEGDEPSDIR/usr/bin:$PATH" \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-libopus \ + --enable-libsmbclient \ --enable-libssh \ --enable-libspeex \ --enable-libtheora \ -- cgit v1.2.3