Skip to content

[ffmpeg] Update to version 8.0.1 - #48539

Merged
Victor Romero (vicroms) merged 40 commits into
microsoft:masterfrom
kadirlua:update_ffmpeg
Jan 7, 2026
Merged

[ffmpeg] Update to version 8.0.1#48539
Victor Romero (vicroms) merged 40 commits into
microsoft:masterfrom
kadirlua:update_ffmpeg

Conversation

@kadirlua

Copy link
Copy Markdown
Contributor
  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@dg0yt

Copy link
Copy Markdown
Contributor

opencv4 probably has a few failing feature/triplet combinations right now. It might be necessary to wait for #48492.

@kadirlua

Copy link
Copy Markdown
Contributor Author

Closes #47042.

@BillyONeal

Billy O'Neal (BillyONeal) commented Dec 2, 2025

Copy link
Copy Markdown
Member

The build regressions appear legitimate to me. I manually tested the current x64-windows and arm64-windows anyway and they passed.

@BillyONeal
Billy O'Neal (BillyONeal) marked this pull request as draft December 2, 2025 20:54
@kadirlua

Copy link
Copy Markdown
Contributor Author

The build regressions appear legitimate to me. I manually tested the current x64-windows and arm64-windows anyway and they passed.

I will try to handle the build regressions after other PRs are merged. For example, #48567 should fix Android build failures and adds ffmpeg 8.0 support.

@kadirlua
Kadir (kadirlua) marked this pull request as ready for review December 31, 2025 02:59
@kadirlua

Copy link
Copy Markdown
Contributor Author

This PR introduces a standalone host tool port, ffbuild-bin2c, and patches the ffmpeg port to utilize it. This resolves a long-standing issue where FFmpeg fails to build during cross-compilation because it attempts to compile a host-native utility (bin2c) using the target compiler (e.g., ARM64). It's ready for review Billy O'Neal (@BillyONeal)

@dg0yt Kai Pastor (dg0yt) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disclaimer: Community feedback.

I would prefer port name ffmpeg-bin2c for the tool, i.e. prefix ffmpeg.
(A similar pattern exists with pdal and pdal-dimbuilder.)

Comment thread ports/ffbuild-bin2c/CMakeLists.txt Outdated
Comment thread ports/ffmpeg-bin2c/portfile.cmake
Comment thread ports/ffmpeg-bin2c/portfile.cmake Outdated
Comment thread ports/ffbuild-bin2c/portfile.cmake Outdated
Comment thread ports/ffbuild-bin2c/portfile.cmake Outdated
Comment thread ports/ffbuild-bin2c/vcpkg.json Outdated
Comment thread ports/ffmpeg/0045-use-prebuilt-bin2c.patch
Kadir (kadirlua) and others added 5 commits January 1, 2026 09:38
Co-authored-by: Kai Pastor <dg0yt@darc.de>
Co-authored-by: Kai Pastor <dg0yt@darc.de>
Co-authored-by: Kai Pastor <dg0yt@darc.de>
Co-authored-by: Kai Pastor <dg0yt@darc.de>
@kadirlua

Copy link
Copy Markdown
Contributor Author

Disclaimer: Community feedback.

I would prefer port name ffmpeg-bin2c for the tool, i.e. prefix ffmpeg. (A similar pattern exists with pdal and pdal-dimbuilder.)

I renamed the host tool to ffmpeg-bin2c as you suggested.

@dg0yt Kai Pastor (dg0yt) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really appreciate the host tool...
A few more reflections. And another nitpick: Could you ensure that all files and with a new line (literally an empty line in VS Code)? Here in GH, the end of these files is marked with a small red (-).

Comment thread ports/ffmpeg-bin2c/portfile.cmake Outdated
Comment thread ports/ffmpeg/0045-use-prebuilt-bin2c.patch
Comment thread ports/ffmpeg/portfile.cmake
@kadirlua

Copy link
Copy Markdown
Contributor Author

I really appreciate the host tool... A few more reflections. And another nitpick: Could you ensure that all files and with a new line (literally an empty line in VS Code)? Here in GH, the end of these files is marked with a small red (-).

Thanks for the suggestions. It's done.

@kadirlua

Copy link
Copy Markdown
Contributor Author

Fixed merge conflicts due #49235

@kadirlua

Copy link
Copy Markdown
Contributor Author

The PR is ready Billy O'Neal (@BillyONeal)

@vicroms
Victor Romero (vicroms) merged commit f86152d into microsoft:master Jan 7, 2026
17 checks passed
@kadirlua
Kadir (kadirlua) deleted the update_ffmpeg branch January 7, 2026 11:07
@BillyONeal

Copy link
Copy Markdown
Member

I think this caused:

FAILED: [code=1] src/plugins/multimedia/ffmpeg/CMakeFiles/FFmpegMediaPluginImplPrivate.dir/recordingengine/qffmpegencoderoptions.cpp.o 
/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=x86_64-none-linux-android28 --sysroot=/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_FFMPEGMEDIAPLUGINIMPL_LIB -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_LEAN_HEADERS=1 -DQT_MOC_COMPAT -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_AS_CONST=1 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT=1 -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_FOREACH=1 -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QPAIR=1 -DQT_NO_QSNPRINTF -DQT_NO_STD_FORMAT_SUPPORT -DQT_USE_NODISCARD_FILE_OPEN=1 -DQT_USE_QSTRINGBUILDER -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/src/plugins/multimedia/ffmpeg/FFmpegMediaPluginImplPrivate_autogen/include -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include/QtFFmpegMediaPluginImpl -I/mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/src/plugins/multimedia/ffmpeg -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include/QtFFmpegMediaPluginImpl/6.10.0 -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include/QtFFmpegMediaPluginImpl/6.10.0/QtFFmpegMediaPluginImpl -I/include -I/mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/../android/wrappers/jni -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/src/multimedia -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include/QtMultimedia/6.10.0 -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include/QtMultimedia/6.10.0/QtMultimedia -I/mnt/vcpkg-ci/b/qtmultimedia/x64-android-dbg/include/QtMultimedia -isystem /mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/../../../3rdparty/signalsmith-stretch -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtCore/6.10.0 -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtCore/6.10.0/QtCore -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtCore -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6 -isystem /mnt/vcpkg-ci/installed/x64-android/share/Qt6/mkspecs/android-clang -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtGui/6.10.0 -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtGui/6.10.0/QtGui -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtGui -isystem /mnt/vcpkg-ci/installed/x64-android/include -isystem /mnt/vcpkg-ci/installed/x64-android/include/Qt6/QtNetwork -isystem /mnt/vcpkg-ci/installed/x64-android/include/libxml2 -isystem /mnt/vcpkg-ci/installed/x64-android/debug/lib/pkgconfig/../../../include -isystem /mnt/vcpkg-ci/installed/x64-android/debug/lib/pkgconfig/../../../include/srt -isystem /mnt/vcpkg-ci/installed/x64-android/include/openjpeg-2.5 -isystem /mnt/vcpkg-ci/installed/x64-android/include/webp -isystem /mnt/vcpkg-ci/installed/x64-android/include/opus -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -frtti -fexceptions  -fPIC   -fno-limit-debug-info    -std=gnu++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fPIC -pthread -fcf-protection=full -ftrivial-auto-var-init=pattern -fstack-protector-strong -fno-exceptions -I/mnt/vcpkg-ci/installed/x64-android/debug/lib/pkgconfig/../../../include -MD -MT src/plugins/multimedia/ffmpeg/CMakeFiles/FFmpegMediaPluginImplPrivate.dir/recordingengine/qffmpegencoderoptions.cpp.o -MF src/plugins/multimedia/ffmpeg/CMakeFiles/FFmpegMediaPluginImplPrivate.dir/recordingengine/qffmpegencoderoptions.cpp.o.d -o src/plugins/multimedia/ffmpeg/CMakeFiles/FFmpegMediaPluginImplPrivate.dir/recordingengine/qffmpegencoderoptions.cpp.o -c /mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderoptions.cpp
/mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderoptions.cpp:317:26: error: use of undeclared identifier 'FF_PROFILE_H264_HIGH'
  317 |         codec->profile = FF_PROFILE_H264_HIGH;
      |                          ^
/mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderoptions.cpp:329:26: error: use of undeclared identifier 'FF_PROFILE_HEVC_MAIN'
  329 |         codec->profile = FF_PROFILE_HEVC_MAIN;
      |                          ^
2 errors generated.

... it looks like all the FF_PROFILE_***s got changed to AV_CODEC_***s FFmpeg/FFmpeg@8238bc0

I'll prepare a patch.

Billy O'Neal (BillyONeal) added a commit to BillyONeal/vcpkg that referenced this pull request Jan 30, 2026
Fixes this build error:

```console
/mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderoptions.cpp:317:26: error: use of undeclared identifier 'FF_PROFILE_H264_HIGH'
  317 |         codec->profile = FF_PROFILE_H264_HIGH;
      |                          ^
/mnt/vcpkg-ci/b/qtmultimedia/src/here-src-6-8440b54a87.clean/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoderoptions.cpp:329:26: error: use of undeclared identifier 'FF_PROFILE_HEVC_MAIN'
  329 |         codec->profile = FF_PROFILE_HEVC_MAIN;
      |                          ^
2 errors generated.
```

FFMPEG appears to have renamed `FF_PROFILE_Xxx` to `AV_PROFILE_Xxx` in FFmpeg/FFmpeg@8238bc0

See also microsoft#48539
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants