diff options
author | Eric Hameleers <alien@slackware.com> | 2014-11-15 15:35:58 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2014-11-15 15:35:58 +0000 |
commit | 3fdd879e3f3d1a7c070202638c7548240779df3d (patch) | |
tree | 13081975c40ea82b661ccfbb0160f4dbc6c6def5 | |
parent | a515e046c35150514079f42d4c3188273251eda4 (diff) | |
download | asb-3fdd879e3f3d1a7c070202638c7548240779df3d.tar.gz asb-3fdd879e3f3d1a7c070202638c7548240779df3d.tar.xz |
Update to 2.4.3, with dfk-aac and x265 codecs added
Diffstat (limited to '')
-rwxr-xr-x | ffmpeg/build/ffmpeg.SlackBuild | 111 |
1 files changed, 99 insertions, 12 deletions
diff --git a/ffmpeg/build/ffmpeg.SlackBuild b/ffmpeg/build/ffmpeg.SlackBuild index 0355812d..11701a02 100755 --- a/ffmpeg/build/ffmpeg.SlackBuild +++ b/ffmpeg/build/ffmpeg.SlackBuild @@ -133,6 +133,9 @@ # * Update. # 2.2.1-1: 02/may/2014 by Eric Hameleers <alien@slackware.com> # * Update. Add teletext subtitle support. +# 2.4.3-1: 12/nov/2014 by Eric Hameleers <alien@slackware.com> +# * Update. Added fdk-aac codec by Android Open Source Project, +# and X.265 (HEVC) codec by Videolan project.. # # Run 'sh ffmpeg.SlackBuild' to build a Slackware package. # The package (.txz) plus descriptive .txt file are created in /tmp . @@ -157,7 +160,7 @@ USE_PATENTS=${USE_PATENTS:-"YES"} USE_PATENTS=$(echo $USE_PATENTS | tr 'a-z' 'A-Z') PRGNAM=ffmpeg -VERSION=${VERSION:-2.2.1} +VERSION=${VERSION:-2.4.3} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:--j7} TAG=${TAG:-"alien"} @@ -173,6 +176,7 @@ DOCS_AVC1394="AUTHORS COPYING ChangeLog INSTALL NEWS README" DOCS_DC1394="AUTHORS COPYING ChangeLog INSTALL NEWS README" DOCS_FAAC="AUTHORS COPYING* ChangeLog NEWS README* TODO" DOCS_FAAD2="AUTHORS COPYING* ChangeLog NEWS README* TODO" +DOCS_FDKAAC="ChangeLog NOTICE" DOCS_FRIBIDI="AUTHORS COPYING ChangeLog NEWS README THANKS TODO" DOCS_GSM="COPYRIGHT ChangeLog* INSTALL MACHINES MANIFEST README" DOCS_LAME="API COPYING ChangeLog HACKING LICENSE README STYLEGUIDE TODO USAGE" @@ -188,6 +192,7 @@ DOCS_V4L2="COPYING* ChangeLog README* TODO" DOCS_VDPAU="AUTHORS COPYING ChangeLog NEWS README" DOCS_VPX="AUTHORS CHANGELOG LICENSE README" DOCS_X264="AUTHORS COPYING" +DOCS_X265="AUTHORS COPYING" # Support libraries: AACENC=0.1.3 @@ -199,10 +204,11 @@ AVC1394=0.5.4 DC1394=2.1.2 FAAC=1.28 FAAD2=2.7 +FDKAAC=0.1.3 FRIBIDI=0.19.6 GSM=1.0.13 LAME=3.99.5 -LIBVA=1.3.0 +LIBVA=1.4.1 LIBZVBI=0.2.35 OPUS=1.1 ORC=0.4.18 @@ -210,10 +216,11 @@ RAW1394=2.0.5 RTMP=2.3 SCHROEDINGER=1.0.11 SPEEX=1.2rc1 -V4L=1.0.1 -VDPAU=0.7 +V4L=1.6.0 +VDPAU=0.8 VPX=v1.3.0 -X264=20140501-2245 +X264=20141111-2245 +X265=1.4 # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) @@ -377,6 +384,16 @@ SOURCE[23]="$SRCDIR/zvbi-${LIBZVBI}.tar.bz2" SRCURL[23]="http://downloads.sourceforge.net/zapping/zvbi-${LIBZVBI}.tar.bz2" SRCPAT[23]="NO" +# fdk-aac en/decoder from the Android Open Source Project (opencore-amr): +SOURCE[24]="$SRCDIR/fdk-aac-${FDKAAC}.tar.gz" +SRCURL[24]="http://downloads.sourceforge.net/opencore-amr/fdk-aac-${FDKAAC}.tar.gz" +SRCPAT[24]="YES" + +# Videolan's HEVC (x265) codec: +SOURCE[25]="$SRCDIR/x265-${X265}.tar.gz" +SRCURL[25]="http://github.com/videolan/x265/archive/${X265}.tar.gz" +SRCPAT[25]="NO" + ## HE-AAC+ v2 shared library: #SOURCE[XX]="$SRCDIR/libaacplus-$AACPLUS.tar.gz" #SRCURL[XX]="http://tipok.ath.cx/downloads/media/aac+/libaacplus/libaacplus-${AACPLUS}.tar.gz" @@ -709,6 +726,68 @@ cp -a $DOCS_AACENC $FFMPEGDEPSDIR/doc/aacenc || true cd - } +# ----------------------------------------------------------------------------- +# Compile fdk-aac library +# The ffmpeg will use these +# ----------------------------------------------------------------------------- +make_fdkaac() +{ +echo -e "**\n** fdkaac ...\n**" +cd $TMP/tmp-$PRGNAM/fdk-aac-${FDKAAC} + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +LDFLAGS="$SLKLDFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --enable-static \ + --disable-shared \ + --program-prefix= \ + --program-suffix= \ + --build=$TARGET \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_fdkaac.log +make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_fdkaac.log +# Install fdkaac into a temp location so ffmpeg can pickup the library +make install DESTDIR=$FFMPEGDEPSDIR \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_fdkaac.log +# Add DOCS to the ffmpegdeps to have it added to ffmpeg package later: +mkdir -p $FFMPEGDEPSDIR/doc/fdkaac +cp -a $DOCS_AACENC $FFMPEGDEPSDIR/doc/fdkaac || true +cd - +} + + +# ----------------------------------------------------------------------------- +# Compile x265 library +# The ffmpeg will use these +# ----------------------------------------------------------------------------- +make_x265() +{ +echo -e "**\n** x265 ...\n**" +PREVDIR=$(pwd) +cd $TMP/tmp-$PRGNAM/x265-${X265} + +mkdir -p build_x265 +cd build_x265 + cmake ../source \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_LDFLAGS:STRING="$SLKLDFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_INSTALL_DIR=lib${LIBDIRSUFFIX} \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}_x265.log + make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_x265.log + # Install x265 into a temp location so ffmpeg can pickup the library + make install DESTDIR=$FFMPEGDEPSDIR \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x265.log +cd - +# Add DOCS to the ffmpegdeps to have it added to ffmpeg package later: +mkdir -p $FFMPEGDEPSDIR/doc/x265 +cp -a $DOCS_AACENC $FFMPEGDEPSDIR/doc/x265 || true +cd $PREVDIR +} + # ----------------------------------------------------------------------------- # Compile aacplus library @@ -1235,9 +1314,12 @@ cd $TMP/tmp-$PRGNAM/libva-$LIBVA #for DPATCH in $(ls debian/patches/*.patch) ; do # cat $DPATCH |patch -p1 --verbose #done 2>&1 | tee $OUTPUT/patch-${PRGNAM}_libva.log -# -## Slackware uses a newer aclocal: -#autoreconf -vif + +# Fix the issue with the pre-generated configure script which will boneheadedly +# require wayland_scanner. Create 'm4' directory first to prevent another error: +mkdir m4 +autoreconf -vif \ + 2>&1 | tee $OUTPUT/autoreconf-${PRGNAM}_libva.log CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -1245,7 +1327,7 @@ LDFLAGS="$SLKLDFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ - --disable-wayland \ + --enable-wayland=no \ --enable-static \ --enable-shared \ --enable-glx \ @@ -1254,6 +1336,7 @@ LDFLAGS="$SLKLDFLAGS" \ --program-suffix= \ --build=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_libva.log + #--disable-wayland \ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_libva.log # Strip the static lib to prevent linking errors in 64-bit, find . -name "*.a" | xargs strip --strip-unneeded @@ -1478,6 +1561,7 @@ if [ "${USE_PATENTS}" == "YES" ]; then USE_PATENTED="--enable-libmp3lame \ --enable-libfaac \ --enable-libvo-aacenc \ + --enable-libfdk-aac \ --enable-nonfree" # to be added once I get it to work: --enable-libaacplus \ else @@ -1503,7 +1587,7 @@ sed -i -e "s/pkg_config --libs/pkg_config --static --libs/" \ TMPDIR="$TMP" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ -LDFLAGS="-L$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS -lXext" \ +LDFLAGS="-L$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS -lpng -lXext" \ PKG_CONFIG_PATH="$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \ PATH="$FFMPEGDEPSDIR/usr/bin:$PATH" \ ./configure \ @@ -1530,6 +1614,7 @@ PATH="$FFMPEGDEPSDIR/usr/bin:$PATH" \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ + --enable-libx265 \ --enable-libzvbi \ --enable-postproc \ --enable-runtime-cpudetect \ @@ -1569,6 +1654,7 @@ if [ "${USE_PATENTS}" = "YES" ]; then make_faac #make_aacplus make_aacenc + make_fdkaac fi make_amr @@ -1582,6 +1668,7 @@ make_gsm make_orc make_schroedinger make_x264 +make_x265 make_vpx make_libva make_vdpau @@ -1614,11 +1701,11 @@ for PCFILE in $(ls $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc) ; do -e 's/-lspeex//g' -e 's/-lgsm//g' -e 's/-lrtmp//g' \ -e 's/-lopencore-amrnb//g' -e 's/-lopencore-amrwb//g' \ -e 's/-lfaac//g' -e 's/-lfaad//g' \ - -e 's/-lvo-amrwbenc//g' -e 's/-lvo-aacenc//g' \ + -e 's/-lvo-amrwbenc//g' -e 's/-lvo-aacenc//g' -e 's/-lfdk-aac//g' \ -e 's/-lmp3lame//g' \ -e 's/-lopus//g' \ -e 's/-lschroedinger-[^ ]*//g' -e 's/-lorc-[^ ]*//g' \ - -e 's/-lx264//g' -e 's/-lvpx//g' -e 's/-lzvbi//g' \ + -e 's/-lx264//g' -e 's/-lx265//g' -e 's/-lvpx//g' -e 's/-lzvbi//g' \ -e "s#-L/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/lib${LIBDIRSUFFIX}##" \ $PCFILE done |