summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2019-03-30 19:00:22 +0000
committer Eric Hameleers <alien@slackware.com>2019-03-30 19:00:22 +0000
commitb0369a9764e0d0dd5da447915c7c5ad2a0c8e89f (patch)
tree96764e050eb8f5c407123d109798e3866008d9b6
parentcb254f1a885f1851f9de68fad26a1ce8f71af1bc (diff)
downloadasb-b0369a9764e0d0dd5da447915c7c5ad2a0c8e89f.tar.gz
asb-b0369a9764e0d0dd5da447915c7c5ad2a0c8e89f.tar.xz
ffmpeg: updated to 3.4.6
-rwxr-xr-xffmpeg/build/ffmpeg.SlackBuild136
1 files changed, 73 insertions, 63 deletions
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 <alien@slackware.com>
# * Rebuilt for slackware-current.
+# 3.4.6-1: 30/mar/2019 by Eric Hameleers <alien@slackware.com>
+# * 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 \