From 27e99a0e8f1c0fc4b0937396e13b0de7191eae2d Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Thu, 16 Sep 2021 20:22:42 +0700 Subject: add AOM dep for libavif (#771) * add AOM dep for libavif * add ninja build * add nasm * sudo ninja install * we have it installed already on aws/ubuntu graviton * we have it installed already on aws/ubuntu graviton, at the right step * install libuv and libavif * missing dav1d and update step names * 20.04 does not have dav1d * dav1d sudo ninja install * We need shared lib for all codecs * Enable AVIF in gd and enable deps on Graviton * attempt to fix prefix install for dav1d and ensure it can be loaded * ensure AOM codec is installed in /usr * ensure YUV is installed in /usr * AWS/Graviton has YUV already * aom,yuv,avif has been removed from the graviton setup, installing it like on other flows. Keep same version. * let keep AOM as it is used and installed using HEIF repo, with latest version too --- .github/workflows/ci_ubuntu.yml | 53 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_ubuntu.yml b/.github/workflows/ci_ubuntu.yml index ba72d02..ead85ad 100644 --- a/.github/workflows/ci_ubuntu.yml +++ b/.github/workflows/ci_ubuntu.yml @@ -60,7 +60,52 @@ jobs: - name: install dependencies env: DEBIAN_FRONTEND: noninteractive - run: sudo -E apt-get install --fix-missing -qq -o Acquire::Retries=3 cmake clang-12 gcc build-essential libjpeg-turbo8-dev libimagequant-dev libde265-dev libpng-dev libwebp-dev libtiff5-dev libx265-dev libheif-dev libfreetype-dev libheif-dev libavifile-0.7-dev libxpm-dev libraqm-dev dh-autoreconf + run: sudo -E apt-get install --fix-missing -qq -o Acquire::Retries=3 cmake clang-12 gcc build-essential libjpeg-turbo8-dev libimagequant-dev libde265-dev libpng-dev libwebp-dev libtiff5-dev libx265-dev libheif-dev libfreetype-dev libheif-dev libavifile-0.7-dev libxpm-dev libraqm-dev dh-autoreconf ninja-build nasm meson + + - name: install AOM codec for libavif + if: "!contains(matrix.config.name,'Ubuntu Graviton GCC')" + run: | + cd ${{github.temp }} + git clone -b v3.1.2 --depth 1 https://aomedia.googlesource.com/aom + cd aom + mkdir build.libavif + cd build.libavif + cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX:PATH=/usr .. + ninja + sudo ninja install + + - name: install dav1d codec for libavif + run: | + git clone -b 0.9.2 --depth 1 https://code.videolan.org/videolan/dav1d.git + cd dav1d + mkdir build + cd build + meson --buildtype release -Dprefix=/usr .. + ninja + sudo ninja install + + - name: install libyuv + run: | + cd ${{github.temp }} + git clone https://chromium.googlesource.com/libyuv/libyuv/ + cd libyuv + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. .. + make + sudo make install + + - name: install libavif + run: | + cd ${{github.temp }} + git clone https://github.com/AOMediaCodec/libavif.git + cd libavif + git checkout tags/v0.9.2 + mkdir build + cd build + cmake -DBUILD_SHARED_LIBS=1 -DAVIF_CODEC_AOM=1 -DAVIF_CODEC_DAV1D=1 -DAVIF_CODEC_LIBGAV1=0 -DAVIF_CODEC_RAV1E=0 -DAVIF_CODEC_SVT=0 -B. .. + make + sudo make install - name: Debug CC Env env: @@ -80,7 +125,7 @@ jobs: CFLAGS: ${{ matrix.config.cflags }} run: cmake -G "Unix Makefiles" -DENABLE_PNG=1 -DENABLE_FREETYPE=1 -DENABLE_JPEG=1 -DENABLE_WEBP=1 - -DENABLE_TIFF=1 -DENABLE_XPM=1 -DENABLE_GD_FORMATS=1 -DENABLE_HEIF=1 -DENABLE_RAQM=1 + -DENABLE_TIFF=1 -DENABLE_XPM=1 -DENABLE_GD_FORMATS=1 -DENABLE_HEIF=1 -DENABLE_RAQM=1 -DENABLE_AVIF=1 -DBUILD_TEST=1 -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/cmake/modules/linux-clang.cmake @@ -92,7 +137,7 @@ jobs: CFLAGS: ${{ matrix.config.cflags }} run: cmake -DENABLE_PNG=1 -DENABLE_FREETYPE=1 -DENABLE_JPEG=1 -DENABLE_WEBP=1 - -DENABLE_TIFF=1 -DENABLE_XPM=1 -DENABLE_GD_FORMATS=1 -DENABLE_HEIF=1 -DENABLE_RAQM=1 + -DENABLE_TIFF=1 -DENABLE_XPM=1 -DENABLE_GD_FORMATS=1 -DENABLE_HEIF=1 -DENABLE_RAQM=1 -DENABLE_AVIF=1 -DBUILD_TEST=1 -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build @@ -119,7 +164,7 @@ jobs: if: contains(matrix.config.cc, 'gcc') run: cmake -DENABLE_PNG=1 -DENABLE_FREETYPE=1 -DENABLE_JPEG=1 -DENABLE_WEBP=1 - -DENABLE_TIFF=1 -DENABLE_XPM=1 -DENABLE_GD_FORMATS=1 -DENABLE_HEIF=1 + -DENABLE_TIFF=1 -DENABLE_XPM=1 -DENABLE_GD_FORMATS=1 -DENABLE_HEIF=1 -DENABLE_AVIF=1 -DBUILD_TEST=1 -B ${{github.workspace}}/buildasan -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build ASAN -- cgit v1.2.1