cleanup svt vs svt-psy build

This commit is contained in:
2025-01-29 09:00:01 -06:00
parent 07f71b84df
commit 16b5c0a6a7

View File

@@ -123,7 +123,7 @@ X264_DIR="$REPOS_DIR/x264"
X265_DIR="$REPOS_DIR/x265" X265_DIR="$REPOS_DIR/x265"
GTEST_DIR="$REPOS_DIR/googletest" GTEST_DIR="$REPOS_DIR/googletest"
VPX_DIR="$REPOS_DIR/vpx" VPX_DIR="$REPOS_DIR/vpx"
mkdir "$REPOS_DIR" test -d "$REPOS_DIR" || mkdir "$REPOS_DIR"
# save options use # save options use
echo "$@" > "$BASE_DIR/.last_opts" echo "$@" > "$BASE_DIR/.last_opts"
@@ -315,6 +315,7 @@ build_svt_av1_psy() {
# svt-av1-psy cannot be cleanly updated # svt-av1-psy cannot be cleanly updated
# due to histories error # due to histories error
local GIT_REPO_URL='https://github.com/gianni-rosato/svt-av1-psy' local GIT_REPO_URL='https://github.com/gianni-rosato/svt-av1-psy'
local CMAKE_BUILD_DIR="$SVT_PSY_DIR/build_svt.user"
git clone --depth "$GIT_DEPTH" "$GIT_REPO_URL" "$SVT_PSY_DIR" || \ git clone --depth "$GIT_DEPTH" "$GIT_REPO_URL" "$SVT_PSY_DIR" || \
{ {
cd "$SVT_PSY_DIR/" || return 1 cd "$SVT_PSY_DIR/" || return 1
@@ -325,15 +326,14 @@ build_svt_av1_psy() {
rm -rf "$SVT_PSY_DIR" rm -rf "$SVT_PSY_DIR"
git clone --depth "$GIT_DEPTH" "$GIT_REPO_URL" "$SVT_PSY_DIR" git clone --depth "$GIT_DEPTH" "$GIT_REPO_URL" "$SVT_PSY_DIR"
else else
return 0; grep -q "$(good_commit_output)" "$GOOD_COMMIT_BUILDS" && \
cd "$CMAKE_BUILD_DIR" && \
sudo make install && \
set_commit_status && \
return 0
fi fi
} }
sudo rm -rf "$CMAKE_BUILD_DIR"
# build in tmp because some artifacts
# are installed with sudo and then cannot
# be removed later
CMAKE_BUILD_DIR="/tmp/$RANDOM"
rm -rf "$CMAKE_BUILD_DIR"
mkdir "$CMAKE_BUILD_DIR" mkdir "$CMAKE_BUILD_DIR"
cd "$CMAKE_BUILD_DIR" || return 1 cd "$CMAKE_BUILD_DIR" || return 1
make clean make clean
@@ -352,18 +352,27 @@ build_svt_av1_psy() {
"$SVT_PSY_DIR" || return 1 "$SVT_PSY_DIR" || return 1
ccache make -j"${THREADS}" || return 1 ccache make -j"${THREADS}" || return 1
sudo make install sudo make install
cd "$SVT_PSY_DIR/" || return 1
set_commit_status set_commit_status
} }
build_svt_av1() { build_svt_av1() {
# build svt-av1 # build svt-av1
local CMAKE_BUILD_DIR="$SVT_DIR/build_svt.user"
git clone --depth "$GIT_DEPTH" https://gitlab.com/AOMediaCodec/SVT-AV1.git "$SVT_DIR" || \ git clone --depth "$GIT_DEPTH" https://gitlab.com/AOMediaCodec/SVT-AV1.git "$SVT_DIR" || \
{ cd "$SVT_DIR/" && check_for_rebuild && return 0 ; } {
rm -rf build_svt.user cd "$SVT_DIR/" && check_for_rebuild && \
mkdir build_svt.user cd "$CMAKE_BUILD_DIR" && \
cd build_svt.user || return 1 sudo make install && \
set_commit_status && \
return 0 ;
}
sudo rm -rf "$CMAKE_BUILD_DIR"
mkdir "$CMAKE_BUILD_DIR"
cd "$CMAKE_BUILD_DIR" || return 1
make clean make clean
cmake .. -DCMAKE_BUILD_TYPE=Release \ cmake \
-DCMAKE_BUILD_TYPE=Release \
-DSVT_AV1_LTO="${LTO_SWITCH}" \ -DSVT_AV1_LTO="${LTO_SWITCH}" \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DENABLE_AVX512=ON \ -DENABLE_AVX512=ON \
@@ -371,7 +380,8 @@ build_svt_av1() {
-DCOVERAGE=OFF \ -DCOVERAGE=OFF \
-DCMAKE_INSTALL_RPATH="${PREFIX}/lib" \ -DCMAKE_INSTALL_RPATH="${PREFIX}/lib" \
-DCMAKE_C_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" \ -DCMAKE_C_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" \
-DCMAKE_CXX_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" || return 1 -DCMAKE_CXX_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" \
"$SVT_DIR/" || return 1
ccache make -j"${THREADS}" || return 1 ccache make -j"${THREADS}" || return 1
sudo make install || return 1 sudo make install || return 1
set_commit_status set_commit_status