From 34c340be4e3832346c22dc8f7b9790428ad5c652 Mon Sep 17 00:00:00 2001 From: 21pages Date: Mon, 14 Sep 2026 10:43:59 +0800 Subject: [PATCH] Upgrade FFmpeg to 7.1.1 to fix HEVC WPP deadlocks (#16169) FFmpeg 7.1 can deadlock during software HEVC decoding with WPP slice threading, as reproduced on Linux and macOS. Version 7.1.1 includes the upstream progress2 fix (79c47dfd25f101b6842bbec8c6ffef8d5077c3ae). Update the overlay version and archive checksum, reset the port revision, and document the fix. Existing FFmpeg patches and build options are unchanged, and decoding can retain its existing thread-count policy. Validation on macOS arm64: - Built the overlay successfully with all 23 existing patches. - HEVC four-thread replay: 1,000 rounds / 71,000 frames without a stall; resolution changes: 6,816 frames; H.264 replay: 4,100 frames. - VideoToolbox H.264/HEVC encoding with software and hardware decoding: all six cases matched the FFmpeg 7.1 baseline. - git diff --check and manifest/archive checksum validation passed. --- res/vcpkg/ffmpeg/portfile.cmake | 4 +++- res/vcpkg/ffmpeg/vcpkg.json | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/res/vcpkg/ffmpeg/portfile.cmake b/res/vcpkg/ffmpeg/portfile.cmake index 95f6b22ce..c0856480b 100644 --- a/res/vcpkg/ffmpeg/portfile.cmake +++ b/res/vcpkg/ffmpeg/portfile.cmake @@ -1,8 +1,10 @@ +# FFmpeg 7.1.1 includes the HEVC WPP slice-thread deadlock fix: +# https://github.com/FFmpeg/FFmpeg/commit/79c47dfd25f101b6842bbec8c6ffef8d5077c3ae vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ffmpeg/ffmpeg REF "n${VERSION}" - SHA512 3b273769ef1a1b63aed0691eef317a760f8c83b1d0e1c232b67bbee26db60b4864aafbc88df0e86d6bebf07185bbd057f33e2d5258fde6d97763b9994cd48b6f + SHA512 6b9a5ee501be41d6abc7579a106263b31f787321cbc45dedee97abf992bf8236cdb2394571dd256a74154f4a20018d429ae7e7f0409611ddc4d6f529d924d175 HEAD_REF master PATCHES 0001-create-lib-libraries.patch diff --git a/res/vcpkg/ffmpeg/vcpkg.json b/res/vcpkg/ffmpeg/vcpkg.json index 0346bb585..00b2f5458 100644 --- a/res/vcpkg/ffmpeg/vcpkg.json +++ b/res/vcpkg/ffmpeg/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ffmpeg", - "version": "7.1", - "port-version": 1, + "version": "7.1.1", "description": [ "a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.", "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations."