mirror of
https://abf.rosa.ru/djam/chromium-browser-stable.git
synced 2025-02-24 07:02:48 +00:00
288 lines
9.5 KiB
Diff
288 lines
9.5 KiB
Diff
--- chromium-52.0.2716.0/media/base/mime_util_internal.cc 2016-04-27 08:42:25.933047659 +0200
|
|
+++ chromium-52.0.2716.0/media/base/mime_util_internal.cc 2016-12-03 22:43:46.182795570 +0100
|
|
@@ -76,7 +76,11 @@
|
|
{"flac", MimeUtil::FLAC},
|
|
{"vp8", MimeUtil::VP8},
|
|
{"vp8.0", MimeUtil::VP8},
|
|
- {"theora", MimeUtil::THEORA}
|
|
+ {"theora", MimeUtil::THEORA},
|
|
+ {"dts", MimeUtil::DTS},
|
|
+ {"mp2", MimeUtil::MP2},
|
|
+ {"mp4v.20.8", MimeUtil::MPEG4_SP},
|
|
+ {"mp4v.20.240", MimeUtil::MPEG4_ASP}
|
|
};
|
|
|
|
return kStringToCodecMap;
|
|
@@ -142,6 +146,9 @@
|
|
return kCodecTheora;
|
|
case MimeUtil::DOLBY_VISION:
|
|
return kCodecDolbyVision;
|
|
+ case MimeUtil::MPEG4_SP:
|
|
+ case MimeUtil::MPEG4_ASP:
|
|
+ return kCodecMPEG4;
|
|
default:
|
|
break;
|
|
}
|
|
@@ -234,6 +241,31 @@
|
|
#endif // !defined(OS_ANDROID)
|
|
CodecSet ogg_codecs(ogg_audio_codecs);
|
|
ogg_codecs.insert(ogg_video_codecs.begin(), ogg_video_codecs.end());
|
|
+
|
|
+ CodecSet matroska_audio_codecs;
|
|
+ matroska_audio_codecs.insert(OPUS);
|
|
+ matroska_audio_codecs.insert(VORBIS);
|
|
+ matroska_audio_codecs.insert(AC3);
|
|
+ matroska_audio_codecs.insert(EAC3);
|
|
+ matroska_audio_codecs.insert(DTS);
|
|
+ matroska_audio_codecs.insert(MP3);
|
|
+ matroska_audio_codecs.insert(MP2);
|
|
+ matroska_audio_codecs.insert(MPEG2_AAC);
|
|
+ matroska_audio_codecs.insert(MPEG4_AAC);
|
|
+ matroska_audio_codecs.insert(PCM);
|
|
+
|
|
+ CodecSet matroska_video_codecs;
|
|
+ matroska_video_codecs.insert(THEORA);
|
|
+ matroska_video_codecs.insert(VP8);
|
|
+ matroska_video_codecs.insert(VP9);
|
|
+ matroska_video_codecs.insert(H264);
|
|
+ matroska_video_codecs.insert(MPEG4_SP);
|
|
+ matroska_video_codecs.insert(MPEG4_ASP);
|
|
+#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
|
|
+ matroska_video_codecs.insert(HEVC);
|
|
+#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
|
|
+ CodecSet matroska_codecs(matroska_audio_codecs);
|
|
+ matroska_codecs.insert(matroska_video_codecs.begin(), matroska_video_codecs.end());
|
|
|
|
CodecSet webm_audio_codecs;
|
|
webm_audio_codecs.insert(OPUS);
|
|
@@ -264,6 +296,8 @@
|
|
|
|
CodecSet mp4_video_codecs;
|
|
mp4_video_codecs.insert(H264);
|
|
+ mp4_video_codecs.insert(MPEG4_SP);
|
|
+ mp4_video_codecs.insert(MPEG4_ASP);
|
|
#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
|
|
mp4_video_codecs.insert(HEVC);
|
|
#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
|
|
@@ -291,6 +325,9 @@
|
|
AddContainerWithCodecs("application/ogg", ogg_codecs, false);
|
|
AddContainerWithCodecs("audio/flac", implicit_codec, false);
|
|
|
|
+ AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs, false);
|
|
+ AddContainerWithCodecs("video/x-matroska", matroska_codecs, false);
|
|
+
|
|
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
|
|
AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3".
|
|
AddContainerWithCodecs("audio/mp3", implicit_codec, true);
|
|
@@ -303,6 +340,7 @@
|
|
// support the codecs needed for compatibility.
|
|
AddContainerWithCodecs("audio/x-m4a", aac, true);
|
|
AddContainerWithCodecs("video/x-m4v", avc_and_aac, true);
|
|
+ AddContainerWithCodecs("video/x-msvideo", matroska_codecs, true);
|
|
|
|
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
|
|
// TODO(ddorwin): Exactly which codecs should be supported?
|
|
@@ -721,9 +759,13 @@
|
|
case H264:
|
|
case HEVC:
|
|
case DOLBY_VISION:
|
|
+ case DTS:
|
|
+ case MPEG4_SP:
|
|
+ case MPEG4_ASP:
|
|
return true;
|
|
|
|
case PCM:
|
|
+ case MP2:
|
|
case VORBIS:
|
|
case OPUS:
|
|
case FLAC:
|
|
--- chromium-52.0.2716.0/media/base/mime_util_internal.h.matroska-avi 2016-04-27 00:02:52.000000000 +0200
|
|
+++ chromium-52.0.2716.0/media/base/mime_util_internal.h 2016-04-27 08:14:04.560330601 +0200
|
|
@@ -42,7 +42,11 @@
|
|
VP9,
|
|
THEORA,
|
|
DOLBY_VISION,
|
|
- LAST_CODEC = DOLBY_VISION
|
|
+ DTS,
|
|
+ MP2,
|
|
+ MPEG4_SP,
|
|
+ MPEG4_ASP,
|
|
+ LAST_CODEC = MPEG4_ASP
|
|
};
|
|
|
|
// Platform configuration structure. Controls which codecs are supported at
|
|
--- chromium-52.0.2716.0/net/base/mime_util.cc.matroska-avi 2016-04-27 00:02:52.000000000 +0200
|
|
+++ chromium-52.0.2716.0/net/base/mime_util.cc 2016-04-27 08:14:04.561330581 +0200
|
|
@@ -78,6 +78,9 @@ static const MimeInfo kPrimaryMappings[]
|
|
{"audio/webm", "webm"},
|
|
{"audio/wav", "wav"},
|
|
{"audio/flac", "flac"},
|
|
+ {"video/x-matroska", "mkv"},
|
|
+ {"audio/x-matroska", "mkv"},
|
|
+ {"video/x-msvideo", "avi"},
|
|
{"application/xhtml+xml", "xhtml,xht,xhtm"},
|
|
{"application/x-chrome-extension", "crx"},
|
|
{"multipart/related", "mhtml,mht"}};
|
|
@@ -425,6 +428,7 @@ static const char* const kStandardAudioT
|
|
"audio/vorbis",
|
|
"audio/wav",
|
|
"audio/webm",
|
|
+ "audio/x-matroska",
|
|
"audio/x-m4a",
|
|
"audio/x-ms-wma",
|
|
"audio/vnd.rn-realaudio",
|
|
@@ -442,8 +446,10 @@ static const char* const kStandardVideoT
|
|
"video/webm",
|
|
"video/x-dv",
|
|
"video/x-m4v",
|
|
+ "video/x-matroska",
|
|
"video/x-mpeg",
|
|
"video/x-ms-asf",
|
|
+ "video/x-msvideo",
|
|
"video/x-ms-wmv"
|
|
};
|
|
|
|
--- chromium-51.0.2687.0/media/base/audio_codecs.cc.ac3-dts 2016-03-22 23:01:01.000000000 +0100
|
|
+++ chromium-51.0.2687.0/media/base/audio_codecs.cc 2016-03-23 18:19:14.903959089 +0100
|
|
@@ -43,6 +43,8 @@ std::string GetCodecName(AudioCodec code
|
|
return "alac";
|
|
case kCodecAC3:
|
|
return "ac3";
|
|
+ case kCodecDTS:
|
|
+ return "dts";
|
|
}
|
|
NOTREACHED();
|
|
return "";
|
|
@@ -72,6 +72,8 @@
|
|
return kCodecVorbis;
|
|
if (base::StartsWith(codec_id, "mp4a.40.", base::CompareCase::SENSITIVE))
|
|
return kCodecAAC;
|
|
+ if (codec_id == "dts")
|
|
+ return kCodecDTS;
|
|
return kUnknownAudioCodec;
|
|
}
|
|
|
|
--- chromium-51.0.2687.0/media/base/audio_codecs.h.ac3-dts 2016-03-22 23:01:01.000000000 +0100
|
|
+++ chromium-51.0.2687.0/media/base/audio_codecs.h 2016-03-23 18:18:33.765701074 +0100
|
|
@@ -32,13 +32,14 @@ enum AudioCodec {
|
|
kCodecPCM_ALAW = 14,
|
|
kCodecALAC = 15,
|
|
kCodecAC3 = 16,
|
|
+ kCodecDTS = 17,
|
|
// DO NOT ADD RANDOM AUDIO CODECS!
|
|
//
|
|
// The only acceptable time to add a new codec is if there is production code
|
|
// that uses said codec in the same CL.
|
|
|
|
// Must always be equal to the largest entry ever logged.
|
|
- kAudioCodecMax = kCodecAC3,
|
|
+ kAudioCodecMax = kCodecDTS,
|
|
};
|
|
|
|
std::string MEDIA_EXPORT GetCodecName(AudioCodec codec);
|
|
--- chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc.ac3-dts 2016-03-22 23:01:01.000000000 +0100
|
|
+++ chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc 2016-03-23 18:13:42.226118362 +0100
|
|
@@ -117,6 +117,8 @@ static AudioCodec CodecIDToAudioCodec(AV
|
|
return kCodecOpus;
|
|
case AV_CODEC_ID_ALAC:
|
|
return kCodecALAC;
|
|
+ case AV_CODEC_ID_DTS:
|
|
+ return kCodecDTS;
|
|
default:
|
|
DVLOG(1) << "Unknown audio CodecID: " << codec_id;
|
|
}
|
|
@@ -168,6 +170,10 @@ AVCodecID AudioCodecToCodecID(AudioCodec
|
|
return AV_CODEC_ID_PCM_MULAW;
|
|
case kCodecOpus:
|
|
return AV_CODEC_ID_OPUS;
|
|
+ case kCodecAC3:
|
|
+ return AV_CODEC_ID_AC3;
|
|
+ case kCodecDTS:
|
|
+ return AV_CODEC_ID_DTS;
|
|
default:
|
|
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
|
|
}
|
|
--- chromium-56.0.2924.10/media/remoting/proto_enum_utils.cc.bak 2016-11-29 21:04:19.000000000 +0100
|
|
+++ chromium-56.0.2924.10/media/remoting/proto_enum_utils.cc 2016-12-01 23:42:15.717317808 +0100
|
|
@@ -57,6 +57,7 @@
|
|
CASE_RETURN_OTHER(kCodecPCM_ALAW);
|
|
CASE_RETURN_OTHER(kCodecALAC);
|
|
CASE_RETURN_OTHER(kCodecAC3);
|
|
+ CASE_RETURN_OTHER(kCodecDTS);
|
|
}
|
|
return base::nullopt; // Not a 'default' to ensure compile-time checks.
|
|
}
|
|
@@ -83,6 +83,7 @@
|
|
CASE_RETURN_OTHER(kCodecPCM_ALAW);
|
|
CASE_RETURN_OTHER(kCodecALAC);
|
|
CASE_RETURN_OTHER(kCodecAC3);
|
|
+ CASE_RETURN_OTHER(kCodecDTS);
|
|
}
|
|
return base::nullopt; // Not a 'default' to ensure compile-time checks.
|
|
}
|
|
--- chromium-56.0.2924.10/media/remoting/rpc.proto.bak 2016-11-29 21:04:19.000000000 +0100
|
|
+++ chromium-56.0.2924.10/media/remoting/rpc.proto 2016-12-02 02:15:05.660562641 +0100
|
|
@@ -64,6 +64,7 @@
|
|
kCodecPCM_ALAW = 14;
|
|
kCodecALAC = 15;
|
|
kCodecAC3 = 16;
|
|
+ kCodecDTS = 17;
|
|
}
|
|
|
|
// Proto version of media::SampleFormat.
|
|
--- chromium-56.0.2924.21/media/filters/ffmpeg_video_decoder.cc.extra_media 2016-12-09 00:02:25.000000000 +0100
|
|
+++ chromium-56.0.2924.21/media/filters/ffmpeg_video_decoder.cc 2016-12-10 20:33:18.005427356 +0100
|
|
@@ -57,7 +57,6 @@
|
|
case kUnknownVideoCodec:
|
|
case kCodecVC1:
|
|
case kCodecMPEG2:
|
|
- case kCodecHEVC:
|
|
case kCodecVP9:
|
|
case kCodecDolbyVision:
|
|
// We do not compile ffmpeg with support for any of these codecs.
|
|
@@ -70,6 +69,7 @@
|
|
case kCodecH264:
|
|
case kCodecMPEG4:
|
|
case kCodecVP8:
|
|
+ case kCodecHEVC:
|
|
// Normalize to three threads for 1080p content, then scale linearly
|
|
// with number of pixels.
|
|
// Examples:
|
|
--- chromium-59.0.3071.86/media/base/decode_capabilities.cc.extra-media 2017-06-05 21:03:08.000000000 +0200
|
|
+++ chromium-59.0.3071.86/media/base/decode_capabilities.cc 2017-06-06 06:40:15.679758574 +0200
|
|
@@ -114,6 +114,9 @@
|
|
case media::kCodecPCM_S24BE:
|
|
case media::kCodecPCM_ALAW:
|
|
case media::kCodecVorbis:
|
|
+ case media::kCodecEAC3:
|
|
+ case media::kCodecAC3:
|
|
+ case media::kCodecDTS:
|
|
return true;
|
|
|
|
case media::kCodecAMR_NB:
|
|
@@ -125,9 +127,7 @@
|
|
return false;
|
|
#endif
|
|
|
|
- case media::kCodecEAC3:
|
|
case media::kCodecALAC:
|
|
- case media::kCodecAC3:
|
|
case media::kUnknownAudioCodec:
|
|
return false;
|
|
}
|
|
@@ -147,13 +147,13 @@
|
|
case media::kCodecH264:
|
|
case media::kCodecVP8:
|
|
case media::kCodecTheora:
|
|
+ case media::kCodecMPEG4:
|
|
+ case media::kCodecHEVC:
|
|
return true;
|
|
|
|
case media::kUnknownVideoCodec:
|
|
case media::kCodecVC1:
|
|
case media::kCodecMPEG2:
|
|
- case media::kCodecMPEG4:
|
|
- case media::kCodecHEVC:
|
|
case media::kCodecDolbyVision:
|
|
return false;
|
|
}
|