Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2012-10-13 19:47:07 +0400
committerHendrik Leppkes <h.leppkes@gmail.com>2012-10-13 19:47:07 +0400
commit841992284717eb1dfc8e7f055693f2aaaf60019e (patch)
treee3323f47ce7b450ae33a3c496a2b4f46889003b2 /build_ffmpeg.sh
parentf15a0e88232d67ec9b0e747edb3b580fbe13328b (diff)
Rewrite ffmpeg build scripts
Diffstat (limited to 'build_ffmpeg.sh')
-rw-r--r--build_ffmpeg.sh116
1 files changed, 116 insertions, 0 deletions
diff --git a/build_ffmpeg.sh b/build_ffmpeg.sh
new file mode 100644
index 00000000..15023ac5
--- /dev/null
+++ b/build_ffmpeg.sh
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+if [ "${1}" == "x64" ]; then
+ arch=x86_64
+ archdir=x64
+else
+ arch=x86
+ archdir=Win32
+fi
+
+make_dirs() (
+ if [ ! -d bin_${archdir}/lib ]; then
+ mkdir -p bin_${archdir}/lib
+ fi
+
+ if [ ! -d bin_${archdir}d/lib ]; then
+ mkdir -p bin_${archdir}d/lib
+ fi
+)
+
+copy_libs() (
+ cp lib*/*-lav-*.dll ../bin_${archdir}
+ cp lib*/*.lib ../bin_${archdir}/lib
+ cp lib*/*-lav-*.dll ../bin_${archdir}d
+ cp lib*/*.lib ../bin_${archdir}d/lib
+)
+
+clean() (
+ make distclean > /dev/null 2>&1
+)
+
+configure() (
+ OPTIONS="
+ --enable-shared \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-w32threads \
+ --enable-runtime-cpudetect \
+ --enable-demuxers \
+ --disable-demuxer=matroska \
+ --disable-filters \
+ --enable-filter=yadif \
+ --enable-filter=buffer \
+ --enable-filter=buffersink \
+ --enable-filter=scale \
+ --disable-protocols \
+ --enable-protocol=file \
+ --enable-protocol=mmsh \
+ --enable-protocol=mmst \
+ --enable-protocol=rtp \
+ --enable-protocol=http \
+ --disable-muxers \
+ --enable-muxer=spdif \
+ --disable-hwaccels \
+ --enable-hwaccel=h264_dxva2 \
+ --enable-hwaccel=vc1_dxva2 \
+ --enable-hwaccel=wmv3_dxva2 \
+ --enable-hwaccel=mpeg2_dxva2 \
+ --enable-libspeex \
+ --enable-libopencore-amrnb \
+ --enable-libopencore-amrwb \
+ --enable-libopus \
+ --enable-avresample \
+ --disable-avdevice \
+ --disable-postproc \
+ --disable-swresample \
+ --disable-static \
+ --disable-debug \
+ --disable-encoders \
+ --disable-bsfs \
+ --disable-devices \
+ --disable-ffplay \
+ --disable-ffserver \
+ --disable-ffmpeg \
+ --disable-ffprobe \
+ --build-suffix=-lav \
+ --arch=${arch}"
+
+ EXTRA_CFLAGS="-I../thirdparty/include -idirafter../common/includes/dxva2"
+ EXTRA_LDFLAGS=""
+ if [ "${arch}" == "x86_64" ]; then
+ OPTIONS="${OPTIONS} --enable-cross-compile --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32"
+ EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L../thirdparty/lib64"
+ else
+ OPTIONS="${OPTIONS} --cpu=i686"
+ EXTRA_CFLAGS="${EXTRA_CFLAGS} -mmmx -msse -mfpmath=sse"
+ EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L../thirdparty/lib32"
+ fi
+
+ sh configure --extra-ldflags="${EXTRA_LDFLAGS}" --extra-cflags="${EXTRA_CFLAGS}" ${OPTIONS}
+)
+
+build() (
+ make -j8
+)
+
+make_dirs
+
+cd ffmpeg
+
+clean
+
+## run configure, redirect to file because of a msys bug
+configure > config.out 2>&1
+CONFIGRETVAL=$?
+
+## show configure output
+cat config.out
+
+## Only if configure succeeded, actually build
+if [ ${CONFIGRETVAL} -eq 0 ]; then
+ build &&
+ copy_libs
+fi
+
+cd ..