Compare commits

..

2 Commits

Author SHA1 Message Date
9d7c85b250 switch to ffmpeg 8.0 2025-08-23 13:03:24 -05:00
fbfb7c224d rename variables 2025-08-23 12:54:05 -05:00
4 changed files with 19 additions and 17 deletions

6
Jenkinsfile vendored
View File

@@ -53,9 +53,9 @@ pipeline {
}
axis {
name 'OPT_AND_LTO'
values 'OPT_LVL=0 LTO=false',
'OPT_LVL=2 LTO=false',
'OPT_LVL=3 LTO=true'
values 'OPT=0 LTO=false',
'OPT=2 LTO=false',
'OPT=3 LTO=true'
}
}
stages {

View File

@@ -71,13 +71,13 @@ set_compile_opts() {
CARGO_CINSTALL_FLAGS+=("--${CARGO_BUILD_TYPE}")
# setting optimization level
if [[ ${OPT_LVL} == '' ]]; then
OPT_LVL='0'
if [[ ${OPT} == '' ]]; then
OPT='0'
fi
C_FLAGS+=("-O${OPT_LVL}")
RUSTFLAGS+=("-C opt-level=${OPT_LVL}")
MESON_FLAGS+=("--optimization=${OPT_LVL}")
echo_info "building with optimization: ${OPT_LVL}"
C_FLAGS+=("-O${OPT}")
RUSTFLAGS+=("-C opt-level=${OPT}")
MESON_FLAGS+=("--optimization=${OPT}")
echo_info "building with optimization: ${OPT}"
# static/shared linking
unset PKG_CFG_FLAGS LIB_SUFF
@@ -184,7 +184,7 @@ int main() { puts(gnu_get_libc_version()); return 0; }' >"${srcTest}.c"
# name version file-extension url dep1,dep2
# shellcheck disable=SC2016
local BUILDS_CONF='
ffmpeg 7cd1edeaa410d977a9f1ff8436f480cb45b80178 git https://github.com/FFmpeg/FFmpeg/
ffmpeg 8.0 tar.gz https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n${ver}.${ext}
hdr10plus_tool 1.7.1 tar.gz https://github.com/quietvoid/hdr10plus_tool/archive/refs/tags/${ver}.${ext}
dovi_tool 2.3.0 tar.gz https://github.com/quietvoid/dovi_tool/archive/refs/tags/${ver}.${ext}
libsvtav1 3.0.2 tar.gz https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${ver}/SVT-AV1-v${ver}.${ext}
@@ -351,10 +351,12 @@ build() {
# embed this project's enables/versions
# into ffmpeg with this variable
FFMPEG_BUILDER_INFO=("ffmpeg-builder=$(cd "${REPO_DIR}" && git rev-parse HEAD)")
for build in ${FFMPEG_ENABLES}; do
for build in ${ENABLE}; do
do_build "${build}" || return 1
done
do_build "ffmpeg" || return 1
# run ffmpeg to show completion
"${PREFIX}/bin/ffmpeg"
# suggestion for path
hash -r
@@ -484,7 +486,7 @@ build_libopus() {
build_libdav1d() {
local enableAsm='true'
# arm64 will fail the build at 0 optimization
if [[ "${HOSTTYPE}:${OPT_LVL}" == "aarch64:0" ]]; then
if [[ "${HOSTTYPE}:${OPT}" == "aarch64:0" ]]; then
enableAsm="false"
fi
meson \
@@ -608,7 +610,7 @@ add_project_versioning_to_ffmpeg() {
return 0
}
build_ffmpeg() {
for enable in ${FFMPEG_ENABLES}; do
for enable in ${ENABLE}; do
test "${enable}" == 'libsvtav1_psy' && enable='libsvtav1'
CONFIGURE_FLAGS+=("--enable-${enable}")
done

View File

@@ -10,7 +10,7 @@ DEFAULT_CLEAN=true
# enable link time optimization
DEFAULT_LTO=true
# optimization level (0-3)
DEFAULT_OPT_LVL=3
DEFAULT_OPT=3
# static or shared build
DEFAULT_STATIC=true
# CPU type (amd64/v{1,2,3}...)
@@ -20,7 +20,7 @@ DEFAULT_ARCH=native
# prefix to install to, default is local install
DEFAULT_PREFIX='local'
# configure what ffmpeg enables
DEFAULT_FFMPEG_ENABLES="\
DEFAULT_ENABLE="\
libsvtav1_psy \
libopus \
libdav1d \
@@ -31,7 +31,7 @@ libvmaf \
# user-overridable compile option variable names
FB_COMP_OPTS=(
CLEAN LTO OPT_LVL STATIC CPU ARCH PREFIX FFMPEG_ENABLES
CLEAN LTO OPT STATIC CPU ARCH PREFIX ENABLE
)
# sets FB_COMP_OPTS to allow for user-overriding

View File

@@ -19,7 +19,7 @@ set_docker_run_flags() {
for opt in "${FB_COMP_OPTS[@]}"; do
declare -n defOptVal="DEFAULT_${opt}"
declare -n optVal="${opt}"
if [[ -n ${optVal} && ${optVal} != "${defOptVal}" ]]; then
if [[ -v optVal && ${optVal} != "${defOptVal}" ]]; then
DOCKER_RUN_FLAGS+=("-e" "${opt}=${optVal}")
fi
done