[ffmpeg] Update to version 8.0.1 - #48539
Conversation
…usting port-versions accordingly
|
opencv4 probably has a few failing feature/triplet combinations right now. It might be necessary to wait for #48492. |
|
Closes #47042. |
|
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. |
|
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) |
Kai Pastor (dg0yt)
left a comment
There was a problem hiding this comment.
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.)
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>
I renamed the host tool to ffmpeg-bin2c as you suggested. |
Kai Pastor (dg0yt)
left a comment
There was a problem hiding this comment.
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. |
|
Fixed merge conflicts due #49235 |
|
The PR is ready Billy O'Neal (@BillyONeal) |
|
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 I'll prepare a patch. |
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
./vcpkg x-add-version --alland committing the result.