From 9b5c8e5853fa82c2ba4a11cc4fdad55c07a4e657 Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Tue, 7 Sep 2021 03:42:40 +0800 Subject: [PATCH] add min nasm version check for dav1d --- debian/rules | 8 +++++++- docker-build.sh | 20 ++++++++++++++------ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/debian/rules b/debian/rules index ad7a87b435..62c2fdcfb9 100755 --- a/debian/rules +++ b/debian/rules @@ -35,7 +35,6 @@ CONFIG := --prefix=${TARGET_DIR} \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ - --enable-libdav1d \ --enable-libwebp \ --enable-libvpx \ --enable-libx264 \ @@ -45,6 +44,7 @@ CONFIG := --prefix=${TARGET_DIR} \ CONFIG_ARM_COMMON := --toolchain=hardened \ --enable-cross-compile \ + --enable-libdav1d \ --enable-omx \ --enable-omx-rpi \ @@ -70,8 +70,14 @@ CONFIG_x86 := --arch=amd64 \ --enable-nvdec \ --enable-ffnvcodec \ +CONFIG_DAV1D := --enable-libdav1d \ + HOST_ARCH := $(shell arch) BUILD_ARCH := ${DEB_HOST_MULTIARCH} + +ifeq ($(ENABLE_X86_DAV1D),true) + CONFIG_x86 += $(CONFIG_DAV1D) +endif ifeq ($(BUILD_ARCH),x86_64-linux-gnu) # Native amd64 build CONFIG += $(CONFIG_x86) diff --git a/docker-build.sh b/docker-build.sh index 0152642c9d..f9ad5012a0 100755 --- a/docker-build.sh +++ b/docker-build.sh @@ -39,13 +39,19 @@ prepare_extra_common() { mkdir build pushd build nasmver="$(nasm -v | cut -d ' ' -f3)" + nasmminver="2.13.02" nasmavx512ver="2.14.0" - if [ "$(printf '%s\n' "$nasmavx512ver" "$nasmver" | sort -V | head -n1)" = "$nasmavx512ver" ]; then - avx512=true + if [ "$(printf '%s\n' "$nasmminver" "$nasmver" | sort -V | head -n1)" = "$nasmminver" ]; then + export ENABLE_X86_DAV1D=true + if [ "$(printf '%s\n' "$nasmavx512ver" "$nasmver" | sort -V | head -n1)" = "$nasmavx512ver" ]; then + avx512=true + else + avx512=false + fi else - avx512=false + export ENABLE_X86_DAV1D=false fi - if [ "${ARCH}" = "amd64" ]; then + if [ "${ENABLE_X86_DAV1D}" = "true" ] && [ "${ARCH}" = "amd64" ]; then meson -Denable_asm=true \ -Denable_avx512=$avx512 \ -Denable_tests=false \ @@ -55,7 +61,9 @@ prepare_extra_common() { meson install cp ${TARGET_DIR}/lib/x86_64-linux-gnu/pkgconfig/dav1d.pc /usr/lib/pkgconfig cp ${TARGET_DIR}/lib/x86_64-linux-gnu/*dav1d* ${SOURCE_DIR}/dav1d - else + echo "dav1d/*dav1d* /usr/lib/jellyfin-ffmpeg/lib" >> ${SOURCE_DIR}/debian/jellyfin-ffmpeg.install + fi + if [ "${ARCH}" = "armhf" ] || [ "${ARCH}" = "arm64" ]; then meson -Denable_asm=true \ -Denable_avx512=false \ -Ddefault_library=shared \ @@ -66,8 +74,8 @@ prepare_extra_common() { meson install cp ${TARGET_DIR}/lib/pkgconfig/dav1d.pc /usr/lib/pkgconfig cp ${TARGET_DIR}/lib/*dav1d* ${SOURCE_DIR}/dav1d + echo "dav1d/*dav1d* /usr/lib/jellyfin-ffmpeg/lib" >> ${SOURCE_DIR}/debian/jellyfin-ffmpeg.install fi - echo "dav1d/*dav1d* /usr/lib/jellyfin-ffmpeg/lib" >> ${SOURCE_DIR}/debian/jellyfin-ffmpeg.install popd popd popd