qt5-qtwebengine/qt5-qtwebengine-ffmpeg8.patch
Dominik 'Rathann' Mierzejewski a6329afd83 Fixed build with FFmpeg 8
2025-11-05 12:44:41 +01:00

113 lines
4.6 KiB
Diff

diff -up qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc.ffmpeg8 qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc
--- qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc.ffmpeg8 2025-11-02 21:41:06.931797956 +0000
+++ qtwebengine-everywhere-src-5.15.18/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc 2025-11-02 23:06:28.874349338 +0000
@@ -237,22 +237,22 @@ AVCodecID VideoCodecToCodecID(VideoCodec
static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) {
// Clear out the CONSTRAINED & INTRA flags which are strict subsets of the
// corresponding profiles with which they're used.
- profile &= ~FF_PROFILE_H264_CONSTRAINED;
- profile &= ~FF_PROFILE_H264_INTRA;
+ profile &= ~AV_PROFILE_H264_CONSTRAINED;
+ profile &= ~AV_PROFILE_H264_INTRA;
switch (profile) {
- case FF_PROFILE_H264_BASELINE:
+ case AV_PROFILE_H264_BASELINE:
return H264PROFILE_BASELINE;
- case FF_PROFILE_H264_MAIN:
+ case AV_PROFILE_H264_MAIN:
return H264PROFILE_MAIN;
- case FF_PROFILE_H264_EXTENDED:
+ case AV_PROFILE_H264_EXTENDED:
return H264PROFILE_EXTENDED;
- case FF_PROFILE_H264_HIGH:
+ case AV_PROFILE_H264_HIGH:
return H264PROFILE_HIGH;
- case FF_PROFILE_H264_HIGH_10:
+ case AV_PROFILE_H264_HIGH_10:
return H264PROFILE_HIGH10PROFILE;
- case FF_PROFILE_H264_HIGH_422:
+ case AV_PROFILE_H264_HIGH_422:
return H264PROFILE_HIGH422PROFILE;
- case FF_PROFILE_H264_HIGH_444_PREDICTIVE:
+ case AV_PROFILE_H264_HIGH_444_PREDICTIVE:
return H264PROFILE_HIGH444PREDICTIVEPROFILE;
default:
DVLOG(1) << "Unknown profile id: " << profile;
@@ -263,23 +263,23 @@ static VideoCodecProfile ProfileIDToVide
static int VideoCodecProfileToProfileID(VideoCodecProfile profile) {
switch (profile) {
case H264PROFILE_BASELINE:
- return FF_PROFILE_H264_BASELINE;
+ return AV_PROFILE_H264_BASELINE;
case H264PROFILE_MAIN:
- return FF_PROFILE_H264_MAIN;
+ return AV_PROFILE_H264_MAIN;
case H264PROFILE_EXTENDED:
- return FF_PROFILE_H264_EXTENDED;
+ return AV_PROFILE_H264_EXTENDED;
case H264PROFILE_HIGH:
- return FF_PROFILE_H264_HIGH;
+ return AV_PROFILE_H264_HIGH;
case H264PROFILE_HIGH10PROFILE:
- return FF_PROFILE_H264_HIGH_10;
+ return AV_PROFILE_H264_HIGH_10;
case H264PROFILE_HIGH422PROFILE:
- return FF_PROFILE_H264_HIGH_422;
+ return AV_PROFILE_H264_HIGH_422;
case H264PROFILE_HIGH444PREDICTIVEPROFILE:
- return FF_PROFILE_H264_HIGH_444_PREDICTIVE;
+ return AV_PROFILE_H264_HIGH_444_PREDICTIVE;
default:
DVLOG(1) << "Unknown VideoCodecProfile: " << profile;
}
- return FF_PROFILE_UNKNOWN;
+ return AV_PROFILE_UNKNOWN;
}
SampleFormat AVSampleFormatToSampleFormat(AVSampleFormat sample_format,
@@ -415,7 +415,7 @@ bool AVCodecContextToAudioDecoderConfig(
// TODO(dalecurtis): Just use the profile from the codec context if ffmpeg
// ever starts supporting xHE-AAC.
constexpr uint8_t kXHEAAc = 41;
- if (codec == kCodecAAC && codec_context->profile == FF_PROFILE_UNKNOWN ||
+ if (codec == kCodecAAC && codec_context->profile == AV_PROFILE_UNKNOWN ||
codec_context->profile == kXHEAAc) {
// Errors aren't fatal here, so just drop any MediaLog messages.
NullMediaLog media_log;
@@ -537,16 +537,16 @@ bool AVStreamToVideoDecoderConfig(const
break;
case kCodecVP9:
switch (codec_context->profile) {
- case FF_PROFILE_VP9_0:
+ case AV_PROFILE_VP9_0:
profile = VP9PROFILE_PROFILE0;
break;
- case FF_PROFILE_VP9_1:
+ case AV_PROFILE_VP9_1:
profile = VP9PROFILE_PROFILE1;
break;
- case FF_PROFILE_VP9_2:
+ case AV_PROFILE_VP9_2:
profile = VP9PROFILE_PROFILE2;
break;
- case FF_PROFILE_VP9_3:
+ case AV_PROFILE_VP9_3:
profile = VP9PROFILE_PROFILE3;
break;
default:
@@ -645,9 +645,15 @@ bool AVStreamToVideoDecoderConfig(const
coded_size, visible_rect, natural_size, extra_data,
GetEncryptionScheme(stream));
+#if (LIBAVFORMAT_VERSION_MAJOR < 62)
if (stream->nb_side_data) {
for (int i = 0; i < stream->nb_side_data; ++i) {
AVPacketSideData side_data = stream->side_data[i];
+#else
+ if (stream->codecpar->nb_coded_side_data) {
+ for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
+ const auto& side_data = stream->codecpar->coded_side_data[i];
+#endif
if (side_data.type != AV_PKT_DATA_MASTERING_DISPLAY_METADATA)
continue;