-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathffmpeg.sh
executable file
·63 lines (54 loc) · 1.34 KB
/
ffmpeg.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash -eu
source ./common.sh clang
source ../common/clone-ffmpeg.sh
if [[ -f $INSTALL_PREFIX/ffmpeg/bin/ffprobe ]]; then
exit 0
fi
mkdir -p ffmpeg-build
cd ffmpeg-build
declare -a FFMPEG_COMMON_FLAGS=(
--cpu=$GCC_CPU
--enable-pic
--enable-gpl
--enable-version3
--disable-doc
--disable-ffmpeg
--disable-ffplay
--disable-debug
--disable-autodetect # not present on aarch64
--disable-openssl
--disable-securetransport
--disable-network
--disable-iconv
--disable-libxcb
--disable-libxcb-shm
--disable-libxcb-xfixes
--disable-alsa
--enable-protocols
--disable-lzma
--extra-cflags="$CFLAGS -fPIC"
--cc="$CC"
--cxx="$CXX"
--prefix=$INSTALL_PREFIX/ffmpeg
)
# FIXME apply librelec patches:
# https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/package.mk
declare -a FFMPEG_AARCH64_FLAGS=(
--arch=aarch64
--enable-libv4l2
--enable-v4l2-m2m
--enable-sand
--enable-v4l2-request
--enable-libdrm
--enable-libudev
)
declare -a FFMPEG_X86_64_FLAGS=(
--arch=x86-64-v3
--disable-libv4l2
--enable-indev=v4l2
)
declare -n FFMPEG_ARCH_FLAGS=FFMPEG_${ARCH_VARNAME}_FLAGS
# --enable-opencl --enable-libmfx --enable-nvenc --enable-cuda --enable-vaapi --enable-vdpau \
../ffmpeg-$FFMPEG_VERSION/configure "${FFMPEG_COMMON_FLAGS[@]}" "${FFMPEG_ARCH_FLAGS[@]}"
make -j$NPROC
make install