diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f1848461..cc82036f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: ${{ matrix.cmake-gen }}> runs-on: ubuntu-latest container: - image: olivevideoeditor/ci-olive:2022.2 + image: olivevideoeditor/ci-olive:2022.3 steps: - name: Checkout Source Code diff --git a/docker/ci-ffmpeg/Dockerfile b/docker/ci-ffmpeg/Dockerfile index bbfc50c34..1a9a145ff 100644 --- a/docker/ci-ffmpeg/Dockerfile +++ b/docker/ci-ffmpeg/Dockerfile @@ -9,7 +9,7 @@ ARG CI_COMMON_VERSION=2 ARG FFMPEG_VERSION=5.0 ARG NASM_VERSION=2.15.05 ARG YASM_VERSION=1.3.0 -ARG AOM_VERSION=v3.3.0 +ARG SVTAV1_VERSION=v1.1.0 ARG X265_VERSION=3.5 ARG OGG_VERSION=1.3.5 ARG OPUS_VERSION=1.3.1 @@ -22,7 +22,6 @@ ARG XVID_VERSION=1.3.7 ARG OPENJPEG_VERSION=2.4.0 ARG LIBPNG_VERSION=1.6.37 # TODO: Make version of x264 selectable? -ARG NUM_JOBS=2 FROM ${OLIVE_ORG}/ci-common:${CI_COMMON_VERSION} as ci-ffmpeg @@ -31,7 +30,7 @@ ARG CI_COMMON_VERSION ARG FFMPEG_VERSION ARG NASM_VERSION ARG YASM_VERSION -ARG AOM_VERSION +ARG SVTAV1_VERSION ARG X265_VERSION ARG OGG_VERSION ARG OPUS_VERSION @@ -43,7 +42,6 @@ ARG LAME_VERSION ARG XVID_VERSION ARG OPENJPEG_VERSION ARG LIBPNG_VERSION -ARG NUM_JOBS LABEL maintainer="olivevideoeditor@gmail.com" LABEL org.opencontainers.image.name="$OLIVE_ORG/ci-ffmpeg" @@ -62,7 +60,7 @@ ENV OLIVE_ORG=${OLIVE_ORG} \ FFMPEG_VERSION=${FFMPEG_VERSION} \ NASM_VERSION=${NASM_VERSION} \ YASM_VERSION=${YASM_VERSION} \ - AOM_VERSION=${AOM_VERSION} \ + SVTAV1_VERSION=${SVTAV1_VERSION} \ X265_VERSION=${X265_VERSION} \ OGG_VERSION=${OGG_VERSION} \ OPUS_VERSION=${OPUS_VERSION} \ @@ -74,7 +72,6 @@ ENV OLIVE_ORG=${OLIVE_ORG} \ XVID_VERSION=${XVID_VERSION} \ OPENJPEG_VERSION=${OPENJPEG_VERSION} \ LIBPNG_VERSION=${LIBPNG_VERSION} \ - NUM_JOBS=${NUM_JOBS} \ OLIVE_INSTALL_PREFIX=/usr/local RUN /tmp/before_build.sh && \ diff --git a/docker/scripts/build_ffmpeg.sh b/docker/scripts/build_ffmpeg.sh index 1d59504ad..dc2e5db87 100644 --- a/docker/scripts/build_ffmpeg.sh +++ b/docker/scripts/build_ffmpeg.sh @@ -20,8 +20,8 @@ set -ex cd nasm* ./autogen.sh ./configure \ - --prefix="${OLIVE_INSTALL_PREFIX}" - make -j${NUM_JOBS} + --prefix="/usr" + make -j$(nproc) make install cd .. rm -rf nasm* @@ -34,8 +34,8 @@ set -ex rm -f yasm.tar.gz cd yasm* ./configure \ - --prefix="${OLIVE_INSTALL_PREFIX}" - make -j${NUM_JOBS} + --prefix="/usr" + make -j$(nproc) make install cd .. rm -rf yasm* @@ -44,19 +44,19 @@ set -ex # join jobs, some libs depend on NASM/YASM wait -# Set up libaom +# Set up libsvtav1 { - git clone --depth 1 --branch "${AOM_VERSION}" "https://aomedia.googlesource.com/aom" - cd aom - mkdir _build - cd _build + git clone --depth 1 --branch "${SVTAV1_VERSION}" "https://gitlab.com/AOMediaCodec/SVT-AV1.git" + cd SVT-AV1/Build cmake .. \ + -G "Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX="${OLIVE_INSTALL_PREFIX}" \ - -DBUILD_SHARED_LIBS=1 + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_APPS=OFF cmake --build . cmake --install . cd ../.. - rm -rf aom + rm -rf SVT-AV1 } & # Set up libx264 @@ -269,7 +269,7 @@ PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:$PKG_CONFIG --enable-gpl \ --enable-version3 \ --enable-shared \ - --enable-libaom \ + --enable-libsvtav1 \ --enable-libfreetype \ --enable-libx264 \ --enable-libx265 \ @@ -286,7 +286,7 @@ PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:$PKG_CONFIG --extra-libs=-lm \ --extra-cflags="-I${OLIVE_INSTALL_PREFIX}/include" \ --extra-ldflags="-L${OLIVE_INSTALL_PREFIX}/lib" -make -j${NUM_JOBS} +make -j$(nproc) make install cd .. rm -rf ffmpeg*