diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2012-10-13 19:47:07 +0400 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2012-10-13 19:47:07 +0400 |
commit | 841992284717eb1dfc8e7f055693f2aaaf60019e (patch) | |
tree | e3323f47ce7b450ae33a3c496a2b4f46889003b2 /build_ffmpeg.sh | |
parent | f15a0e88232d67ec9b0e747edb3b580fbe13328b (diff) |
Rewrite ffmpeg build scripts
Diffstat (limited to 'build_ffmpeg.sh')
-rw-r--r-- | build_ffmpeg.sh | 116 |
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 .. |