This commit is contained in:
2024-12-20 15:14:39 -06:00
parent a316625d9f
commit 68516b7eb4
2 changed files with 77 additions and 37 deletions

View File

@@ -223,8 +223,9 @@ then
make clean make clean
cmake .. -DCMAKE_BUILD_TYPE=Release \ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DCMAKE_INSTALL_RPATH="${PREFIX}/lib" \
-DBUILD_SHARED_LIBS=ON \ -DBUILD_SHARED_LIBS=ON \
-DBUILD_TEST=OFF -DCMAKE_INSTALL_RPATH="${PREFIX}/lib" \ -DBUILD_TEST=OFF \
-DCMAKE_C_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" \ -DCMAKE_C_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" \
-DCMAKE_CXX_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" || exit -DCMAKE_CXX_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
@@ -236,10 +237,16 @@ then
update_git update_git
rm -rf rga_build.user rm -rf rga_build.user
mkdir rga_build.user mkdir rga_build.user
meson setup . rga_build.user --buildtype release -Db_lto=true \ meson setup . rga_build.user \
--default-library=shared -Dlibdrm=false -Dlibrga_demo=false \ --buildtype release \
--prefix "${PREFIX}" --optimization="$OPT_LVL" \ --prefix "${PREFIX}" \
-Dc_args="${COMP_FLAGS}" -Dcpp_args="-fpermissive ${COMP_FLAGS}" || exit --default-library=shared \
-Db_lto=true \
-Dlibdrm=false \
-Dlibrga_demo=false \
--optimization="$OPT_LVL" \
-Dc_args="${COMP_FLAGS}" \
-Dcpp_args="-fpermissive ${COMP_FLAGS}" || exit
ccache ninja -vC rga_build.user || exit ccache ninja -vC rga_build.user || exit
sudo ninja -vC rga_build.user install || exit sudo ninja -vC rga_build.user install || exit
fi fi
@@ -259,7 +266,7 @@ then
# build libdovi # build libdovi
cd dolby_vision || exit cd dolby_vision || exit
RUSTFLAGS="-C target-cpu=native" ccache cargo cbuild --release RUSTFLAGS="-C target-cpu=native" ccache cargo cbuild --release
sudo cargo cinstall --prefix="${PREFIX}" --release sudo -E bash -lc "cargo cinstall --prefix=${PREFIX} --release" || exit
# build hdr10plus_tool # build hdr10plus_tool
git clone --depth "$GIT_DEPTH" https://github.com/quietvoid/hdr10plus_tool "$HDR10_DIR" git clone --depth "$GIT_DEPTH" https://github.com/quietvoid/hdr10plus_tool "$HDR10_DIR"
@@ -274,7 +281,7 @@ then
# build libhdr10plus # build libhdr10plus
cd hdr10plus || exit cd hdr10plus || exit
RUSTFLAGS="-C target-cpu=native" ccache cargo cbuild --release RUSTFLAGS="-C target-cpu=native" ccache cargo cbuild --release
sudo cargo cinstall --prefix="${PREFIX}" --release sudo -E bash -lc "cargo cinstall --prefix=${PREFIX} --release" || exit
# build svt-avt-psy # build svt-avt-psy
# clear svt because of unrelated histories error # clear svt because of unrelated histories error
@@ -286,10 +293,13 @@ then
mkdir build_svt.user mkdir build_svt.user
cd build_svt.user || exit cd build_svt.user || exit
make clean make clean
cmake .. -DCMAKE_BUILD_TYPE=Release -DSVT_AV1_LTO="${LTO_SWITCH}" \ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DSVT_AV1_LTO="${LTO_SWITCH}" \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DENABLE_AVX512=ON -DBUILD_TESTING=OFF \ -DENABLE_AVX512=ON \
-DCOVERAGE=OFF -DLIBDOVI_FOUND=1 \ -DBUILD_TESTING=OFF \
-DCOVERAGE=OFF \
-DLIBDOVI_FOUND=1 \
-DLIBHDR10PLUS_RS_FOUND=1 \ -DLIBHDR10PLUS_RS_FOUND=1 \
-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}" \
@@ -305,10 +315,13 @@ else
mkdir build_svt.user mkdir build_svt.user
cd build_svt.user || exit cd build_svt.user || exit
make clean make clean
cmake .. -DCMAKE_BUILD_TYPE=Release -DSVT_AV1_LTO="${LTO_SWITCH}" \ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DSVT_AV1_LTO="${LTO_SWITCH}" \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DENABLE_AVX512=ON -DBUILD_TESTING=OFF \ -DENABLE_AVX512=ON \
-DCOVERAGE=OFF -DCMAKE_INSTALL_RPATH="${PREFIX}/lib" \ -DBUILD_TESTING=OFF \
-DCOVERAGE=OFF \
-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}" || exit -DCMAKE_CXX_FLAGS="-O${OPT_LVL} ${COMP_FLAGS}" || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
@@ -324,7 +337,7 @@ if [[ "$BUILD_ALL_AV1" == "Y" ]]; then
source "$HOME/.cargo/env" # for good measure source "$HOME/.cargo/env" # for good measure
cargo clean cargo clean
RUSTFLAGS="-C target-cpu=native" ccache cargo cbuild --release RUSTFLAGS="-C target-cpu=native" ccache cargo cbuild --release
sudo cargo cinstall --prefix="${PREFIX}" --release sudo -E bash -lc "cargo cinstall --prefix=${PREFIX} --release" || exit
# build aom # build aom
git clone --depth "$GIT_DEPTH" https://aomedia.googlesource.com/aom "$AOM_DIR" git clone --depth "$GIT_DEPTH" https://aomedia.googlesource.com/aom "$AOM_DIR"
@@ -334,8 +347,10 @@ if [[ "$BUILD_ALL_AV1" == "Y" ]]; then
mkdir build_aom.user mkdir build_aom.user
cd build_aom.user || exit cd build_aom.user || exit
make clean make clean
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON \ cmake .. -DCMAKE_BUILD_TYPE=Release \
-DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -DBUILD_SHARED_LIBS=ON \
-DENABLE_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DCMAKE_C_FLAGS="${LTO_FLAG} -O${OPT_LVL} ${COMP_FLAGS}" \ -DCMAKE_C_FLAGS="${LTO_FLAG} -O${OPT_LVL} ${COMP_FLAGS}" \
-DCMAKE_CXX_FLAGS="${LTO_FLAG} -O${OPT_LVL} ${COMP_FLAGS}" || exit -DCMAKE_CXX_FLAGS="${LTO_FLAG} -O${OPT_LVL} ${COMP_FLAGS}" || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
@@ -353,9 +368,14 @@ if [[ "$BUILD_VMAF" == "Y" ]]; then
rm -rf build.user rm -rf build.user
mkdir build.user mkdir build.user
pip install meson pip install meson
meson setup . build.user --buildtype release -Denable_float=true \ meson setup . build.user \
-Db_lto="${LTO_BOOL}" --optimization="$OPT_LVL" -Dc_args="${COMP_FLAGS}" \ --buildtype release \
--prefix "${PREFIX}" -Dcpp_args="${COMP_FLAGS}" || exit --prefix "${PREFIX}" \
-Denable_float=true \
-Db_lto="${LTO_BOOL}" \
--optimization="$OPT_LVL" \
-Dc_args="${COMP_FLAGS}" \
-Dcpp_args="${COMP_FLAGS}" || exit
ccache ninja -vC build.user || exit ccache ninja -vC build.user || exit
sudo ninja -vC build.user install || exit sudo ninja -vC build.user install || exit
) )
@@ -367,8 +387,13 @@ cd "$DAV1D_DIR" || exit
update_git update_git
rm -rf build.user rm -rf build.user
mkdir build.user mkdir build.user
meson setup . build.user --buildtype release -Db_lto="${LTO_BOOL}" --prefix "${PREFIX}" \ meson setup . build.user \
--optimization="$OPT_LVL" -Dc_args="${COMP_FLAGS}" -Dcpp_args="${COMP_FLAGS}" || exit --buildtype release \
-Db_lto="${LTO_BOOL}" \
--prefix "${PREFIX}" \
--optimization="$OPT_LVL" \
-Dc_args="${COMP_FLAGS}" \
-Dcpp_args="${COMP_FLAGS}" || exit
ccache ninja -vC build.user || exit ccache ninja -vC build.user || exit
sudo ninja -vC build.user install || exit sudo ninja -vC build.user install || exit
@@ -378,6 +403,7 @@ cd "$OPUS_DIR" || exit
update_git update_git
./autogen.sh || exit ./autogen.sh || exit
CFLAGS="-O${OPT_LVL} ${LTO_FLAG} ${COMP_FLAGS}" CFLAGS="-O${OPT_LVL} ${LTO_FLAG} ${COMP_FLAGS}"
export CFLAGS
make clean make clean
./configure --prefix="${PREFIX}" || exit ./configure --prefix="${PREFIX}" || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
@@ -390,8 +416,10 @@ if [[ "$BUILD_OTHERS" == "Y" ]]; then
cd "$X264_DIR" || exit cd "$X264_DIR" || exit
update_git update_git
make clean make clean
./configure --enable-static --enable-pic \ ./configure --enable-static \
--enable-shared "${LTO_CONFIGURE}" --prefix="${PREFIX}" \ --enable-pic \
--enable-shared "${LTO_CONFIGURE}" \
--prefix="${PREFIX}" \
--extra-cflags="-O${OPT_LVL} ${COMP_FLAGS}" || exit --extra-cflags="-O${OPT_LVL} ${COMP_FLAGS}" || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
sudo make install || exit sudo make install || exit
@@ -409,10 +437,14 @@ if [[ "$BUILD_OTHERS" == "Y" ]]; then
rm -rf build.user rm -rf build.user
mkdir build.user mkdir build.user
cd build.user || exit cd build.user || exit
cmake ../source -DCMAKE_BUILD_TYPE=Release -DNATIVE_BUILD=ON \ cmake ../source -DCMAKE_BUILD_TYPE=Release \
-G "Unix Makefiles" -DHIGH_BIT_DEPTH=ON \ -DNATIVE_BUILD=ON \
-DENABLE_HDR10_PLUS=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ -G "Unix Makefiles" \
-DEXPORT_C_API=ON -DENABLE_SHARED=ON \ -DHIGH_BIT_DEPTH=ON \
-DENABLE_HDR10_PLUS=ON \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DEXPORT_C_API=ON \
-DENABLE_SHARED=ON \
-DCMAKE_C_FLAGS="${LTO_CONFIGURE} -O${OPT_LVL} ${COMP_FLAGS}" \ -DCMAKE_C_FLAGS="${LTO_CONFIGURE} -O${OPT_LVL} ${COMP_FLAGS}" \
-DCMAKE_CXX_FLAGS="${LTO_CONFIGURE} -O${OPT_LVL} ${COMP_FLAGS}" || exit -DCMAKE_CXX_FLAGS="${LTO_CONFIGURE} -O${OPT_LVL} ${COMP_FLAGS}" || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
@@ -445,10 +477,13 @@ if [[ "$BUILD_OTHERS" == "Y" ]]; then
./configure --prefix="${PREFIX}" \ ./configure --prefix="${PREFIX}" \
--extra-cflags="-O${OPT_LVL} $VP_COMP_FLAGS" \ --extra-cflags="-O${OPT_LVL} $VP_COMP_FLAGS" \
--extra-cxxflags="-O${OPT_LVL} $VP_COMP_FLAGS" \ --extra-cxxflags="-O${OPT_LVL} $VP_COMP_FLAGS" \
--disable-examples --disable-docs \ --disable-examples \
--disable-docs \
--enable-better-hw-compatibility \ --enable-better-hw-compatibility \
--enable-shared --enable-ccache \ --enable-shared \
--enable-vp8 --enable-vp9 \ --enable-ccache \
--enable-vp8 \
--enable-vp9 \
--enable-vp9-highbitdepth --enable-vp9-highbitdepth
ccache make -j"${THREADS}" || { env ; exit ; } ccache make -j"${THREADS}" || { env ; exit ; }
sudo make install || exit sudo make install || exit
@@ -467,18 +502,23 @@ cd "$FFMPEG_DIR/" || exit
update_git update_git
export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH" export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH"
make clean make clean
./configure --enable-libsvtav1 --prefix="${PREFIX}" \ ./configure --enable-libsvtav1 \
--enable-libdav1d --enable-libopus \ --prefix="${PREFIX}" \
--enable-libdav1d \
--enable-libopus \
$FFMPEG_CONFIGURE_OPT \ $FFMPEG_CONFIGURE_OPT \
--arch="$ARCH" --cpu=native \ --arch="$ARCH" \
--cpu=native \
--enable-gpl \ --enable-gpl \
--extra-cflags="-O${OPT_LVL} ${COMP_FLAGS}" \ --extra-cflags="-O${OPT_LVL} ${COMP_FLAGS}" \
--extra-cxxflags="-O${OPT_LVL} ${COMP_FLAGS}" \ --extra-cxxflags="-O${OPT_LVL} ${COMP_FLAGS}" \
--disable-doc --disable-htmlpages \ --disable-doc \
--disable-podpages --disable-txtpages || exit --disable-htmlpages \
--disable-podpages \
--disable-txtpages || exit
ccache make -j"${THREADS}" || exit ccache make -j"${THREADS}" || exit
sudo make install || exit sudo make install || exit
sudo cp ff*_g ${PREFIX}/bin/ sudo cp ff*_g "${PREFIX}/bin/"
# validate encoders # validate encoders
hash -r hash -r

View File

@@ -83,7 +83,7 @@ audio_enc_version() {
elif command -v otool > /dev/null ; then elif command -v otool > /dev/null ; then
AUDIO_ENC_VERSION="$(otool -L $(which ffmpeg) | grep libopus | tr -d ')' | awk -F' ' '{print $NF}')" AUDIO_ENC_VERSION="$(otool -L $(which ffmpeg) | grep libopus | tr -d ')' | awk -F' ' '{print $NF}')"
fi fi
local AUDIO_ENC_GIT="$(cd "$BUILDER_DIR/opus" && git rev-parse --short HEAD)" local AUDIO_ENC_GIT="$(cd "$BUILDER_DIR/repos/opus" && git rev-parse --short HEAD)"
test "$AUDIO_ENC_GIT" != '' && AUDIO_ENC_VERSION+="-g${AUDIO_ENC_GIT}" test "$AUDIO_ENC_GIT" != '' && AUDIO_ENC_VERSION+="-g${AUDIO_ENC_GIT}"
echo "$AUDIO_ENC_VERSION" echo "$AUDIO_ENC_VERSION"