#!/bin/bash
# Copyright (c) 2000-2020 Synology Inc. All rights reserved.

case ${MakeClean} in
	[Yy][Ee][Ss])
		if [ -f ffbuild/config.mak ]; then
			make distclean
		fi
		;;
esac

case ${CleanOnly} in
	[Yy][Ee][Ss])
		return
		;;
esac

CONFIGURE="./configure"
case "$PLATFORM_FAMILY" in
	SYNOPLAT_F_I686|SYNOPLAT_F_X86_64)
		arch="i686"
		;;
	SYNOPLAT_F_ARMV7)
		arch="armv7"
		;;
	SYNOPLAT_F_ARMV8)
		arch="arm64"
		;;
	*)
		SkipThisProject
		return
		;;
esac

CFLAGS="${CFLAGS} -DSYNO_DSM"

PTHREAD_OPTION="--enable-pthreads"
if checkPlatformFunction SYNO_FEA_FFMPEG_DISABLE_PTHREAD; then
	PTHREAD_OPTION="--disable-pthreads"
fi

COMMON_CONFIG="
	--prefix=/usr
	--incdir=\${prefix}/include/ffmpeg
	--arch=${arch}
	--target-os=linux
	--cross-prefix=${ToolChainPrefix}
	--enable-cross-compile
	--enable-optimizations
	--enable-pic
	--enable-shared
	--disable-static
	--disable-stripping
	--enable-version3
	${PTHREAD_OPTION}
	--disable-protocols
	--disable-protocol=rtp
	--enable-protocol=file
	--enable-protocol=pipe
	--disable-muxer=image2 --disable-muxer=image2pipe
	--disable-swscale-alpha
	--disable-ffplay
	--disable-ffprobe
	--disable-doc
	--disable-devices
	--disable-bzlib
	--disable-altivec
	--enable-libopencore-amrnb
	--enable-libopencore-amrwb
	--enable-libmp3lame
	--disable-v4l2-m2m
	--disable-vaapi
	--disable-cuvid
	--disable-nvenc
	--disable-decoder=aac
	--disable-decoder=aac_fixed
	--disable-encoder=aac
	--disable-decoder=amrnb
	--disable-decoder=ac3
	--disable-decoder=ac3_fixed
	--disable-encoder=zmbv
	--disable-encoder=dca
	--disable-decoder=dca
	--disable-encoder=ac3
	--disable-encoder=ac3_fixed
	--disable-encoder=eac3
	--disable-decoder=eac3
	--disable-encoder=truehd
	--disable-decoder=truehd
	--disable-encoder=hevc_vaapi
	--disable-decoder=hevc
	--disable-muxer=hevc
	--disable-demuxer=hevc
	--disable-parser=hevc
	--disable-bsf=hevc_metadata
	--disable-bsf=hevc_mp4toannexb
	--disable-encoder=h264_v4l2m2m
	--disable-decoder=h264
	--disable-decoder=h264_v4l2m2m
	--disable-muxer=h264
	--disable-demuxer=h264
	--disable-parser=h264
	--disable-bsf=h264_metadata
	--disable-bsf=h264_mp4toannexb
	--disable-bsf=h264_redundant_pps
	--disable-decoder=vc1
	--disable-decoder=vc1_v4l2m2m
	--disable-muxer=vc1
	--disable-demuxer=vc1
	--disable-parser=vc1
	--x86asmexe=yasm
	--cc=${CC}
	"

if checkPlatformFunction SYNO_PLAT_NEON_LIBSWSCALE; then
	# for alpine neon libswscale patch
	export EXPORT_BUILD_TARGET="ALPINE"
fi

env CC=${CC} \
	CFLAGS="${CFLAGS}" \
	LDFLAGS="${LDFLAGS}" \
	${CONFIGURE} \
		${COMMON_CONFIG}

make ${MAKE_FLAGS}
make tools/qt-faststart ${MAKE_FLAGS}

# vim:ft=sh
