diff --git a/scripts/benchmark.sh b/scripts/benchmark.sh index d81c8ec..e267334 100755 --- a/scripts/benchmark.sh +++ b/scripts/benchmark.sh @@ -63,13 +63,17 @@ uname -srmpio >> "$LOG" CPU_PROD=$(sudo lshw | grep "product" | head -1 | cut -d ':' -f2) echo "CPU product:$CPU_PROD with $THREADS threads" >> $LOG -# Find versions of files -cd /usr/local/lib || exit -SVTAV1_VER=$(basename "$(find . -mindepth 1 ! -type l | grep "libSvtAv1Enc.so")") -RAV1E_VER=$(basename "$(find . -mindepth 1 ! -type l | grep "librav1e.so")") -AOM_VER=$(basename "$(find . -mindepth 1 ! -type l | grep "libaom.so")") -VMAF_VER=$(basename "$(find . -mindepth 1 ! -type l | grep "libvmaf.so")") -DAV1D_VER=$(basename "$(find . -mindepth 1 ! -type l | grep "libdav1d.so")") +# Find versions of libs +LDD_TEXT="$BENCHMARK_DIR/ldd.txt" +ldd $(which ffmpeg) > "$LDD_TEXT" +get_version() { + cat "$LDD_TEXT" | grep "$1" | cut -d' ' -f3 | xargs readlink +} +SVTAV1_VER=$(get_version "libSvtAv1Enc") +RAV1E_VER=$(get_version "librav1e") +AOM_VER=$(get_version "libaom") +VMAF_VER=$(get_version "libvmaf") +DAV1D_VER=$(get_version "libdav1d") cd "$BASE_DIR" || exit echo -e "$SVTAV1_VER $RAV1E_VER $AOM_VER $VMAF_VER $DAV1D_VER" >> "$LOG" diff --git a/scripts/build.sh b/scripts/build.sh index 0320373..63b967a 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -96,6 +96,8 @@ mkdir build_svt.user cd build_svt.user || exit make clean cmake .. -DCMAKE_BUILD_TYPE=Release -DSVT_AV1_LTO=ON \ + -DENABLE_AVX512=ON -DBUILD_TESTING=OFF \ + -DCOVERAGE=OFF \ -DCMAKE_C_FLAGS="-O${OPT_LVL} $COMP_FLAGS" \ -DCMAKE_CXX_FLAGS="-O${OPT_LVL} $COMP_FLAGS" || exit make -j "$(nproc)" || exit diff --git a/scripts/install_deps.sh b/scripts/install_deps.sh index 62a102d..fa9268d 100755 --- a/scripts/install_deps.sh +++ b/scripts/install_deps.sh @@ -1,15 +1,36 @@ #!/bin/bash -PKG_MNG="apt-get" +COMMON_DEP_NAMES="autoconf automake cmake libtool pkg-config bc texinfo \ + wget nasm yasm time python3 meson doxygen xxd jq lshw gnuplot curl \ + clang valgrind ccache gawk" -sudo "$PKG_MNG" update -sudo "$PKG_MNG" upgrade -qy +APT_DEP_NAMES="build-essential git-core g++-12 libass-dev libfreetype6-dev \ + libsdl2-dev libva-dev libvdpau-dev gcc-12 libvorbis-dev libxcb1-dev \ + libxcb-shm0-dev libxcb-xfixes0-dev zlib1g-dev libssl-dev ninja-build \ + gobjc++ python3-pip mawk" -sudo "$PKG_MNG" install autoconf automake build-essential cmake git-core g++-12 \ - libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev gcc-12 \ - libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config bc libnuma-dev \ - texinfo wget zlib1g-dev nasm yasm libssl-dev time python3 meson ninja-build gobjc++ \ - doxygen xxd jq lshw gnuplot python3-pip curl clang valgrind ccache gawk mawk -y || exit 1 +PACMAN_DEP_NAMES="base-devel ninja python-pip" + +USING_NALA=$(type nala > /dev/null; echo $?) +USING_APT=$(type apt > /dev/null; echo $?) +USING_PACMAN=$(type pacman > /dev/null; echo $?) + +if [[ "$USING_NALA" == "0" ]]; then + # if nala fails, try apt + USING_APT="1" + echo "Installing with nala" + sudo nala update + sudo nala install -y $COMMON_DEP_NAMES $APT_DEP_NAMES || USING_APT="0" +fi +if [[ "$USING_APT" == "0" ]]; then + echo "Installing with apt" + sudo apt-get update + sudo apt-get install -y $COMMON_DEP_NAMES $APT_DEP_NAMES || exit 1 +fi +if [[ "$USING_PACMAN" == "0" ]]; then + echo "Installing with pacman" + sudo pacman -S $COMMON_DEP_NAMES $PACMAN_DEP_NAMES --noconfirm || exit 1 +fi curl https://sh.rustup.rs -sSf | sh -s -- -y source "$HOME/.cargo/env"