diff --git a/.editorconfig b/.editorconfig old mode 100755 new mode 100644 diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md old mode 100755 new mode 100644 diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml old mode 100755 new mode 100644 diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml old mode 100755 new mode 100644 diff --git a/.github/ISSUE_TEMPLATE/issue.feature.yml b/.github/ISSUE_TEMPLATE/issue.feature.yml old mode 100755 new mode 100644 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md old mode 100755 new mode 100644 diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/call_issues_cron.yml b/.github/workflows/call_issues_cron.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml old mode 100755 new mode 100644 index fe6c552..400c517 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -26,7 +26,7 @@ jobs: echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY echo "> External trigger running off of master branch. To disable this trigger, add \`ffmpeg_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY - EXT_RELEASE=$(echo 7.1-cli) + EXT_RELEASE=$(echo 7.1.1-cli) echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY if grep -q "^ffmpeg_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml old mode 100755 new mode 100644 diff --git a/Dockerfile b/Dockerfile index 3c464f8..7b5826a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,49 +14,49 @@ ENV \ # versions ENV \ - AOM=v3.11.0 \ + AOM=v3.12.0 \ FDKAAC=2.0.3 \ - FFMPEG_HARD=7.1 \ - FONTCONFIG=2.15.0 \ + FFMPEG_HARD=7.1.1 \ + FONTCONFIG=2.16.0 \ FREETYPE=2.13.3 \ FRIBIDI=1.0.16 \ - GMMLIB=22.5.2 \ - HARFBUZZ=10.1.0 \ - IHD=24.3.4 \ + GMMLIB=22.5.5 \ + HARFBUZZ=10.4.0 \ + IHD=24.4.4 \ KVAZAAR=2.3.1 \ LAME=3.100 \ LIBASS=0.17.3 \ - LIBDAV1D=1.5.0 \ - LIBDOVI=2.1.2 \ - LIBDRM=2.4.123 \ + LIBDAV1D=1.5.1 \ + LIBDOVI=2.2.0 \ + LIBDRM=2.4.124 \ LIBGL=1.7.0 \ - LIBLC3=1.1.1 \ + LIBLC3=1.1.3 \ LIBMFX=22.5.4 \ LIBPLACEBO=7.349.0 \ - LIBPNG=1.6.44 \ + LIBPNG=1.6.47 \ LIBVA=2.22.0 \ LIBVDPAU=1.5 \ LIBVIDSTAB=1.1.1 \ LIBVMAF=3.0.0 \ - LIBVPL=2.13.0 \ - MESA=24.3.0 \ - NVCODEC=n12.2.72.0 \ + LIBVPL=2.14.0 \ + MESA=25.0.1 \ + NVCODEC=n13.0.19.0 \ OGG=1.3.5 \ OPENCOREAMR=0.1.6 \ - OPENJPEG=2.5.2 \ + OPENJPEG=2.5.3 \ OPUS=1.5.2 \ RAV1E=0.7.1 \ RIST=0.2.11 \ - SHADERC=v2024.3 \ + SHADERC=v2025.1 \ SRT=1.5.4 \ - SVTAV1=2.3.0 \ + SVTAV1=3.0.0 \ THEORA=1.1.1 \ VORBIS=1.3.7 \ - VPLGPURT=24.3.4 \ + VPLGPURT=24.4.4 \ VPX=1.15.0 \ - VULKANSDK=vulkan-sdk-1.3.296.0 \ - VVENC=1.12.1 \ - WEBP=1.4.0 \ + VULKANSDK=vulkan-sdk-1.4.304.1 \ + VVENC=1.13.0 \ + WEBP=1.5.0 \ X265=4.1 \ XVID=1.3.7 \ ZIMG=3.0.5 \ @@ -181,7 +181,7 @@ RUN \ mkdir -p /tmp/ffnvcodec && \ git clone \ --branch ${NVCODEC} \ - --depth 1 https://git.videolan.org/git/ffmpeg/nv-codec-headers.git \ + --depth 1 https://github.com/FFmpeg/nv-codec-headers.git \ /tmp/ffnvcodec RUN \ echo "**** compiling ffnvcodec ****" && \ @@ -206,8 +206,8 @@ RUN \ echo "**** grabbing fontconfig ****" && \ mkdir -p /tmp/fontconfig && \ curl -Lf \ - https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.gz | \ - tar -zx --strip-components=1 -C /tmp/fontconfig + https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.xz | \ + tar -xJ --strip-components=1 -C /tmp/fontconfig RUN \ echo "**** compiling fontconfig ****" && \ cd /tmp/fontconfig && \ @@ -898,10 +898,15 @@ RUN \ curl -Lf \ https://ffmpeg.org/releases/ffmpeg-${FFMPEG}.tar.bz2 | \ tar -jx --strip-components=1 -C /tmp/ffmpeg + +# Apply patch for svt-av1: https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/2249#note_2361478864 +COPY /ffmpeg_n7_fix.patch /tmp/ffmpeg/ + RUN \ echo "**** compiling ffmpeg ****" && \ cd /tmp/ffmpeg && \ - ./configure \ + patch -p1 < ffmpeg_n7_fix.patch && \ + ./configure \ --disable-debug \ --disable-doc \ --disable-ffplay \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 3fbf8af..fcbf58e 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -14,37 +14,37 @@ ENV \ # versions ENV \ - AOM=v3.11.0 \ + AOM=v3.12.0 \ FDKAAC=2.0.3 \ - FFMPEG_HARD=7.1 \ - FONTCONFIG=2.15.0 \ + FFMPEG_HARD=7.1.1 \ + FONTCONFIG=2.16.0 \ FREETYPE=2.13.3 \ FRIBIDI=1.0.16 \ - HARFBUZZ=10.1.0 \ + HARFBUZZ=10.4.0 \ KVAZAAR=2.3.1 \ LAME=3.100 \ LIBASS=0.17.3 \ - LIBDAV1D=1.5.0 \ - LIBLC3=1.1.1 \ - LIBPNG=1.6.44 \ + LIBDAV1D=1.5.1 \ + LIBLC3=1.1.3 \ + LIBPNG=1.6.47 \ LIBVA=2.22.0 \ LIBVDPAU=1.5 \ LIBVIDSTAB=1.1.1 \ LIBVMAF=3.0.0 \ - NVCODEC=n12.1.14.0 \ + NVCODEC=n13.0.19.0 \ OGG=1.3.5 \ OPENCOREAMR=0.1.6 \ - OPENJPEG=2.5.2 \ + OPENJPEG=2.5.3 \ OPUS=1.5.2 \ RAV1E=0.7.1 \ RIST=0.2.11 \ SRT=1.5.4 \ - SVTAV1=2.3.0 \ + SVTAV1=3.0.0 \ THEORA=1.1.1 \ VORBIS=1.3.7 \ VPX=1.15.0 \ - VVENC=1.12.1 \ - WEBP=1.4.0 \ + VVENC=1.13.0 \ + WEBP=1.5.0 \ X265=4.1 \ XVID=1.3.7 \ ZIMG=3.0.5 \ @@ -56,14 +56,13 @@ RUN \ apt-get install -y \ autoconf \ automake \ + build-essential \ bzip2 \ cmake \ clang \ diffutils \ g++ \ - g++-12 \ gcc \ - gcc-12 \ git \ gperf \ libasound2-dev \ @@ -146,7 +145,7 @@ RUN \ mkdir -p /tmp/ffnvcodec && \ git clone \ --branch ${NVCODEC} \ - --depth 1 https://git.videolan.org/git/ffmpeg/nv-codec-headers.git \ + --depth 1 https://github.com/FFmpeg/nv-codec-headers.git \ /tmp/ffnvcodec RUN \ echo "**** compiling ffnvcodec ****" && \ @@ -171,8 +170,8 @@ RUN \ echo "**** grabbing fontconfig ****" && \ mkdir -p /tmp/fontconfig && \ curl -Lf \ - https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.gz | \ - tar -zx --strip-components=1 -C /tmp/fontconfig + https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG}.tar.xz | \ + tar -xJ --strip-components=1 -C /tmp/fontconfig RUN \ echo "**** compiling fontconfig ****" && \ cd /tmp/fontconfig && \ @@ -209,7 +208,7 @@ RUN \ cd /tmp/harfbuzz && \ meson build && \ ninja -C build install && \ - strip -d /usr/local/lib/libharfbuzz*.so + strip -d /usr/local/lib/aarch64-linux-gnu/libharfbuzz*.so RUN \ echo "**** grabbing kvazaar ****" && \ mkdir -p /tmp/kvazaar && \ @@ -380,7 +379,7 @@ RUN \ echo "**** compiling rav1e ****" && \ cd /tmp/rav1e && \ cargo cinstall --release && \ - strip -d /usr/local/lib/librav1e.so + strip -d /usr/local/lib/aarch64-linux-gnu/librav1e.so RUN \ echo "**** grabbing rist ****" && \ mkdir -p /tmp/rist && \ @@ -514,7 +513,7 @@ RUN \ RUN \ echo "**** compiling vvenc ****" && \ cd /tmp/vvenc && \ - CC=/usr/bin/gcc-12 CXX=/usr/bin/g++-12 make install install-prefix=/usr/local && \ + make install install-prefix=/usr/local && \ strip -d /usr/local/lib/libvvenc.so RUN \ echo "**** grabbing webp ****" && \ @@ -616,10 +615,15 @@ RUN \ curl -Lf \ https://ffmpeg.org/releases/ffmpeg-${FFMPEG}.tar.bz2 | \ tar -jx --strip-components=1 -C /tmp/ffmpeg -RUN \ - echo "**** compiling ffmpeg ****" && \ - cd /tmp/ffmpeg && \ - ./configure \ + + # Apply patch for svt-av1: https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/2249#note_2361478864 + COPY /ffmpeg_n7_fix.patch /tmp/ffmpeg/ + + RUN \ + echo "**** compiling ffmpeg ****" && \ + cd /tmp/ffmpeg && \ + patch -p1 < ffmpeg_n7_fix.patch && \ + ./configure \ --disable-debug \ --disable-doc \ --disable-ffplay \ @@ -678,7 +682,7 @@ RUN \ mkdir -p \ /buildout/usr/local/bin \ /buildout/usr/local/etc/fonts \ - /buildout/usr/local/lib \ + /buildout/usr/local/lib/aarch64-linux-gnu \ /buildout/usr/share/fonts && \ cp \ /tmp/ffmpeg/ffmpeg \ @@ -692,6 +696,9 @@ RUN \ cp -a \ /usr/local/lib/lib*so* \ /buildout/usr/local/lib/ && \ + cp -a \ + /usr/local/lib/aarch64-linux-gnu/lib*so* \ + /buildout/usr/local/lib/aarch64-linux-gnu/ && \ cp -a \ /usr/share/fonts/* \ /buildout/usr/share/fonts/ diff --git a/Jenkinsfile b/Jenkinsfile index 3e40d08..795600c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -136,7 +136,7 @@ pipeline { steps{ script{ env.EXT_RELEASE = sh( - script: ''' echo 7.1-cli ''', + script: ''' echo 7.1.1-cli ''', returnStdout: true).trim() env.RELEASE_LINK = 'custom_command' } diff --git a/README.md b/README.md index 21633f6..3bd0662 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **07.03.25:** - Bump ffmpeg to 7.1.1, Bump aom, fontconfig, Intel drivers and libs, harfbuzz, libdav1d, libdovi, libdrm, liblc3, libpng, mesa, openjpeg, shaderc, svt-av1, vulkan-sdk, vvenc and webp. * **26.11.24:** - Bump libaom, mesa, rist, srt and libx265. * **07.11.24:** - Bump harfbuzz, Intel drivers and libs, libdav1d, mesa, svtav1, vpx, vulkan sdk and vvenc. * **05.10.24:** - Add support for libvvenc on aarch64. Bump mesa. diff --git a/ffmpeg_n7_fix.patch b/ffmpeg_n7_fix.patch new file mode 100644 index 0000000..1c876a5 --- /dev/null +++ b/ffmpeg_n7_fix.patch @@ -0,0 +1,13 @@ +diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c +index 8fa42d590b..e99c656c5d 100644 +--- a/libavcodec/libsvtav1.c ++++ b/libavcodec/libsvtav1.c +@@ -430,7 +430,7 @@ static av_cold int eb_enc_init(AVCodecContext *avctx) + + svt_enc->eos_flag = EOS_NOT_REACHED; + +- svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, svt_enc, &svt_enc->enc_params); ++ svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, &svt_enc->enc_params); + if (svt_ret != EB_ErrorNone) { + return svt_print_error(avctx, svt_ret, "Error initializing encoder handle"); + } diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 44e59c2..73f1fff 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -3,7 +3,7 @@ # jenkins variables project_name: docker-ffmpeg external_type: na -custom_version_command: "echo 7.1-cli" +custom_version_command: "echo 7.1.1-cli" release_type: stable release_tag: latest ls_branch: master diff --git a/readme-vars.yml b/readme-vars.yml index c1e7ad0..b99968b 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -190,6 +190,7 @@ full_custom_readme: | ## Versions + * **07.03.25:** - Bump ffmpeg to 7.1.1, Bump aom, fontconfig, Intel drivers and libs, harfbuzz, libdav1d, libdovi, libdrm, liblc3, libpng, mesa, openjpeg, shaderc, svt-av1, vulkan-sdk, vvenc and webp. * **26.11.24:** - Bump libaom, mesa, rist, srt and libx265. * **07.11.24:** - Bump harfbuzz, Intel drivers and libs, libdav1d, mesa, svtav1, vpx, vulkan sdk and vvenc. * **05.10.24:** - Add support for libvvenc on aarch64. Bump mesa.