summaryrefslogtreecommitdiffstats
path: root/ffmpeg/build/ffmpeg.SlackBuild
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2013-02-13 22:11:35 +0000
committer Eric Hameleers <alien@slackware.com>2013-02-13 22:11:35 +0000
commit706f8b92389c5b15ff41a9b67142e3cf52aeaf9b (patch)
tree97ec07670750e6e2980016f74fc079c6f0b9c1c1 /ffmpeg/build/ffmpeg.SlackBuild
parent9d353be49ac003f7a8f7802c4cb27bd2708e614e (diff)
downloadasb-706f8b92389c5b15ff41a9b67142e3cf52aeaf9b.tar.gz
asb-706f8b92389c5b15ff41a9b67142e3cf52aeaf9b.tar.xz
Add opus decoder support
Diffstat (limited to 'ffmpeg/build/ffmpeg.SlackBuild')
-rwxr-xr-xffmpeg/build/ffmpeg.SlackBuild65
1 files changed, 59 insertions, 6 deletions
diff --git a/ffmpeg/build/ffmpeg.SlackBuild b/ffmpeg/build/ffmpeg.SlackBuild
index 03b4e4b1..401c6fc3 100755
--- a/ffmpeg/build/ffmpeg.SlackBuild
+++ b/ffmpeg/build/ffmpeg.SlackBuild
@@ -125,7 +125,8 @@
# 0.11.2-1: 27/sep/2012 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.1.2-1: 13/feb/2013 by Eric Hameleers <alien@slackware.com>
-# * Update.
+# * Update. Also updated many internal libraries.
+# Added ogg opus decoder.
#
# Run 'sh ffmpeg.SlackBuild' to build a Slackware package.
# The package (.txz) plus descriptive .txt file are created in /tmp .
@@ -170,6 +171,7 @@ 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"
DOCS_LIBVA="COPYING"
+DOCS_OPUS="AUTHORS COPYING ChangeLog NEWS README"
DOCS_ORC="COPYING README TODO"
DOCS_RAW1394="AUTHORS COPYING ChangeLog INSTALL NEWS README"
DOCS_RTMP="AUTHORS COPYING ChangeLog README"
@@ -193,6 +195,7 @@ FRIBIDI=0.19.5
GSM=1.0.13
LAME=3.99.5
LIBVA="0.32.0-1+sds2"
+OPUS=1.0.2
ORC=0.4.16
RAW1394=2.0.5
RTMP=2.3
@@ -349,6 +352,11 @@ SOURCE[20]="$SRCDIR/v4l-utils-${V4L}.tar.bz2"
SRCURL[20]="http://linuxtv.org/downloads/v4l-utils/v4l-utils-${V4L}.tar.bz2"
SRCPAT[20]="NO"
+# opus codec:
+SOURCE[21]="$SRCDIR/opus-${OPUS}.tar.gz"
+SRCURL[21]="http://downloads.xiph.org/releases/opus/opus-${OPUS}.tar.gz"
+SRCPAT[21]="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"
@@ -1247,22 +1255,34 @@ make_v4l()
echo -e "**\n** v4l ...\n**"
cd $TMP/tmp-$PRGNAM/v4l-utils-${V4L}
-# Apply patch for proper DESTDIR support:
-cat $SRCDIR/v4l-utils.destdir.patch | patch -p1 --verbose \
- 2>&1 | tee $OUTPUT/patch-${PRGNAM}_v4l.log
mkdir ${FFMPEGDEPSDIR}/etc
export CFLAGS="$SLKCFLAGS"
export CPPFLAGS="$SLKCFLAGS"
export LDFLAGS="$SLKLDFLAGS -ljpeg"
-make ${NUMJOBS} -C lib LINKTYPE=static PREFIX=$FFMPEGDEPSDIR/usr LIBDIR=$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} SYSCONFDIR=$FFMPEGDEPSDIR/etc 2>&1 | tee $OUTPUT/make-${PRGNAM}_v4l.log
+./configure \
+ --prefix=$FFMPEGDEPSDIR/usr \
+ --libdir=$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=$FFMPEGDEPSDIR/etc \
+ --enable-static \
+ --disable-shared \
+ --disable-libdvbv5 \
+ --enable-libv4l \
+ --disable-v4l-utils \
+ --disable-qv4l2 \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_v4l.log
+
+make ${NUMJOBS} LINKTYPE=static 2>&1 | tee $OUTPUT/make-${PRGNAM}_v4l.log
# Strip the static lib to prevent linking errors in 64-bit,
# and fix the pkg-config file (to fix unresolved symbols)
find . -name "*.a" | xargs strip --strip-unneeded
sed -i "/^Libs: /s/$/ -lv4l2 -lv4lconvert -ljpeg/" lib/libv4l1/libv4l1.pc
sed -i "/^Libs: /s/ -lv4l2/ -lv4l2 -lv4lconvert -ljpeg/" lib/libv4l2/libv4l2.pc
# Install libv4l into a temp directory so that ffmpeg can pick it up later:
-make -C lib install LINKTYPE=static PREFIX=$FFMPEGDEPSDIR/usr LIBDIR=$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} SYSCONFDIR=$FFMPEGDEPSDIR/etc 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_v4l.log
+make install LINKTYPE=static 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_v4l.log
# Add DOCS to the ffmpegdeps to have it added to ffmpeg package later:
mkdir -p $FFMPEGDEPSDIR/doc/v4l-utils
cp -a $DOCS_V4L2 $FFMPEGDEPSDIR/doc/v4l-utils/ || true
@@ -1272,6 +1292,36 @@ cd -
# -----------------------------------------------------------------------------
+# Compile ogg opus libraries
+# -----------------------------------------------------------------------------
+make_opus()
+{
+echo -e "**\n** opus ...\n**"
+cd $TMP/tmp-$PRGNAM/opus-${OPUS}
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$FFMPEGDEPSDIR/usr \
+ --libdir=$FFMPEGDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-doc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_opus.log
+# Install opus into a temp location so ffmpeg can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_opus.log
+# Add DOCS to the ffmpegdeps to have it added to ffmpeg package later:
+mkdir -p $FFMPEGDEPSDIR/doc/opus/
+cp $DOCS_OPUS $FFMPEGDEPSDIR/doc/opus/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
# Compile ffmpeg with additional support for -
# LAME (MP3), XVID, AAC (MP4), FAAD2 , SPEEX, X264, GSM, SCHROEDINGER
# -----------------------------------------------------------------------------
@@ -1334,6 +1384,7 @@ PATH="$FFMPEGDEPSDIR/usr/bin:$PATH" \
--enable-libgsm \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
+ --enable-libopus \
--enable-librtmp \
--enable-libschroedinger \
--enable-libspeex \
@@ -1384,6 +1435,7 @@ make_amr
make_amrwbenc
make_1394
make_v4l
+make_opus
make_speex
make_gsm
make_rtmp
@@ -1422,6 +1474,7 @@ for PCFILE in $(ls $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc) ; do
-e 's/-lfaac//g' -e 's/-lfaad//g' \
-e 's/-lvo-amrwbenc//g' -e 's/-lvo-aacenc//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#-L/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/lib${LIBDIRSUFFIX}##" \