# Skript Installation libdvbcsa
function install_libdvbcsa_from_source () {
echo -e "\nInstalling libdvbcsa from source...\n"
FLAGS="$(cat /proc/cpuinfo | grep -im1 flags | awk -F':' '{print $2}')"
FLAGS+="$(cat /proc/cpuinfo | grep -im1 features | awk -F':' '{print $2}')"
#autodetect optimization
echo "$FLAGS" | grep -qiw 'altivec' && optimization="--enable-altivec"
[ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "avx2" && optimization="--enable-avx2"
[ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "ssse3" && optimization="--enable-ssse3"
[ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "sse2" && optimization="--enable-sse2"
[ -z "$optimization" ] && echo "$FLAGS" | grep -qiw "mmx" && optimization="--enable-mmx"
if [ -z "$optimization" ]; then
if [ "$ENDUNG" == "aarch64" ]; then
optimization="--enable-uint64"
elif [ -n "$(find "/usr/lib" -name "arm_neon.h" -type f -print -quit)" ]; then
echo "$FLAGS" | grep -qiw "neon\|simd" && optimization="--enable-neon"
fi
fi
[ -z "$optimization" ] && optimization="--enable-uint32"
#gettings sources
cd /tmp && rm -rf /tmp/libdvbcsa
git clone https://github.com/oe-mirrors/libdvbcsa.git /tmp/libdvbcsa
cd /tmp/libdvbcsa
echo -e "\nlibdvbcsa optimization autodetection: $optimization\n"
sleep 5
#compile & install
./bootstrap && \
./configure $optimization
make -j$(nproc)
make install
#update library cache
ldconfig
#cleanup
cd /tmp && rm -rf /tmp/libdvbcsa
}