From 21ada2c73b21f13533c5686bafe45a7d2e16f8ab Mon Sep 17 00:00:00 2001 From: Levon Date: Wed, 3 Apr 2024 08:03:56 -0500 Subject: [PATCH 1/6] support pacman --- scripts/install_deps.sh | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/scripts/install_deps.sh b/scripts/install_deps.sh index d58fefa..70b8065 100755 --- a/scripts/install_deps.sh +++ b/scripts/install_deps.sh @@ -1,15 +1,31 @@ #!/bin/bash -PKG_MNG="apt-get" - -sudo "$PKG_MNG" update -sudo "$PKG_MNG" upgrade -qy - -sudo "$PKG_MNG" install autoconf automake build-essential cmake git-core g++-12 \ +DEPENDENCY_LIST="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 \ 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 + doxygen xxd jq lshw gnuplot python3-pip curl clang valgrind ccache gawk mawk" + +USING_NALA=$(which nala > /dev/null; echo $?) +USING_APT=$(which apt > /dev/null; echo $?) +USING_PACMAN=$(which 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 $DEPENDENCY_LIST || USING_APT="0" +fi +if [[ "$USING_APT" == "0" ]]; then + echo "Installing with apt" + sudo apt-get update + sudo apt-get install -y $DEPENDENCY_LIST || exit 1 +fi +if [[ "$USING_PACMAN" == "0" ]]; then + echo "Installing with pacman" + sudo pacman -S $DEPENDENCY_LIST --no-confirm || exit 1 +fi curl https://sh.rustup.rs -sSf | sh -s -- -y source "$HOME/.cargo/env" From 66beaa247fd2aa2d2aebe342d7d083f79877a599 Mon Sep 17 00:00:00 2001 From: Levon Date: Wed, 3 Apr 2024 08:07:27 -0500 Subject: [PATCH 2/6] use type --- scripts/install_deps.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install_deps.sh b/scripts/install_deps.sh index 70b8065..50508ac 100755 --- a/scripts/install_deps.sh +++ b/scripts/install_deps.sh @@ -6,9 +6,9 @@ DEPENDENCY_LIST="autoconf automake build-essential cmake git-core g++-12 \ 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" -USING_NALA=$(which nala > /dev/null; echo $?) -USING_APT=$(which apt > /dev/null; echo $?) -USING_PACMAN=$(which pacman > /dev/null; echo $?) +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 From 8b96d6ac10ee4303a9b312ffa99b378b64cb065c Mon Sep 17 00:00:00 2001 From: Levon Date: Wed, 3 Apr 2024 08:19:34 -0500 Subject: [PATCH 3/6] split names --- scripts/install_deps.sh | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/scripts/install_deps.sh b/scripts/install_deps.sh index 50508ac..bf79336 100755 --- a/scripts/install_deps.sh +++ b/scripts/install_deps.sh @@ -1,10 +1,15 @@ #!/bin/bash -DEPENDENCY_LIST="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 \ - 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" +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" + +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" + +PACMAN_DEP_NAMES="base-devel ninja pacman-pip" USING_NALA=$(type nala > /dev/null; echo $?) USING_APT=$(type apt > /dev/null; echo $?) @@ -15,16 +20,16 @@ if [[ "$USING_NALA" == "0" ]]; then USING_APT="1" echo "Installing with nala" sudo nala update - sudo nala install -y $DEPENDENCY_LIST || USING_APT="0" + 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 $DEPENDENCY_LIST || exit 1 + 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 $DEPENDENCY_LIST --no-confirm || exit 1 + sudo pacman -S $COMMON_DEP_NAMES $PACMAN_DEP_NAMES --noconfirm || exit 1 fi curl https://sh.rustup.rs -sSf | sh -s -- -y From 00fae387a338f3dd7a2132cd88c898519f4889c0 Mon Sep 17 00:00:00 2001 From: Levon Date: Wed, 3 Apr 2024 08:33:37 -0500 Subject: [PATCH 4/6] success pacman build --- scripts/install_deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install_deps.sh b/scripts/install_deps.sh index bf79336..fa9268d 100755 --- a/scripts/install_deps.sh +++ b/scripts/install_deps.sh @@ -9,7 +9,7 @@ APT_DEP_NAMES="build-essential git-core g++-12 libass-dev libfreetype6-dev \ libxcb-shm0-dev libxcb-xfixes0-dev zlib1g-dev libssl-dev ninja-build \ gobjc++ python3-pip mawk" -PACMAN_DEP_NAMES="base-devel ninja pacman-pip" +PACMAN_DEP_NAMES="base-devel ninja python-pip" USING_NALA=$(type nala > /dev/null; echo $?) USING_APT=$(type apt > /dev/null; echo $?) From 614baea53e170f8fb936743602592c000d1fd473 Mon Sep 17 00:00:00 2001 From: Levon Date: Wed, 3 Apr 2024 10:33:00 -0500 Subject: [PATCH 5/6] fix getversion --- scripts/benchmark.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) 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" From c6053b903f2f4fdbf4015a74c8093da8ee92ce7b Mon Sep 17 00:00:00 2001 From: Levon Date: Sat, 6 Apr 2024 16:47:49 -0500 Subject: [PATCH 6/6] svt options --- scripts/build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build.sh b/scripts/build.sh index f94be2a..eed0f16 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -87,6 +87,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="-O3 $COMP_FLAGS" \ -DCMAKE_CXX_FLAGS="-O3 $COMP_FLAGS" || exit make -j "$(nproc)" || exit