diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-05-20 09:47:09 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-07 11:15:42 +0000 |
commit | 189d4fd8fad9e3c776873be51938cd31a42b6177 (patch) | |
tree | 6497caeff5e383937996768766ab3bb2081a40b2 /chromium/media/ffmpeg | |
parent | 8bc75099d364490b22f43a7ce366b366c08f4164 (diff) | |
download | qtwebengine-chromium-189d4fd8fad9e3c776873be51938cd31a42b6177.tar.gz |
BASELINE: Update Chromium to 90.0.4430.221
Change-Id: Iff4d9d18d2fcf1a576f3b1f453010f744a232920
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/media/ffmpeg')
-rw-r--r-- | chromium/media/ffmpeg/ffmpeg_common.cc | 8 | ||||
-rw-r--r-- | chromium/media/ffmpeg/ffmpeg_regression_tests.cc | 14 |
2 files changed, 15 insertions, 7 deletions
diff --git a/chromium/media/ffmpeg/ffmpeg_common.cc b/chromium/media/ffmpeg/ffmpeg_common.cc index 336edbb492f..a67f5f3fff4 100644 --- a/chromium/media/ffmpeg/ffmpeg_common.cc +++ b/chromium/media/ffmpeg/ffmpeg_common.cc @@ -619,6 +619,14 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream, color_space = (natural_size.height() < 720) ? VideoColorSpace::REC601() : VideoColorSpace::REC709(); } + } else if (codec_context->codec_id == AV_CODEC_ID_H264 && + codec_context->colorspace == AVCOL_SPC_RGB && + AVPixelFormatToVideoPixelFormat(codec_context->pix_fmt) == + PIXEL_FORMAT_I420) { + // Some H.264 videos contain a VUI that specifies a color matrix of GBR, + // when they are actually ordinary YUV. Only 4:2:0 formats are checked, + // because GBR is reasonable for 4:4:4 content. See crbug.com/1067377. + color_space = VideoColorSpace::REC709(); } // AVCodecContext occasionally has invalid extra data. See diff --git a/chromium/media/ffmpeg/ffmpeg_regression_tests.cc b/chromium/media/ffmpeg/ffmpeg_regression_tests.cc index ebd1babb4d3..a450eb827f1 100644 --- a/chromium/media/ffmpeg/ffmpeg_regression_tests.cc +++ b/chromium/media/ffmpeg/ffmpeg_regression_tests.cc @@ -84,7 +84,10 @@ class FlakyFFmpegRegressionTest FFMPEG_TEST_CASE(Cr47325, "security/47325.mp4", PIPELINE_OK, PIPELINE_OK); FFMPEG_TEST_CASE(Cr47761, "crbug47761.ogg", PIPELINE_OK, PIPELINE_OK); FFMPEG_TEST_CASE(Cr50045, "crbug50045.mp4", PIPELINE_OK, PIPELINE_OK); -FFMPEG_TEST_CASE(Cr62127, "crbug62127.webm", PIPELINE_OK, PIPELINE_OK); +FFMPEG_TEST_CASE(Cr62127, + "crbug62127.webm", + PIPELINE_ERROR_DECODE, + PIPELINE_ERROR_DECODE); FFMPEG_TEST_CASE(Cr93620, "security/93620.ogg", PIPELINE_OK, PIPELINE_OK); FFMPEG_TEST_CASE(Cr100492, "security/100492.webm", @@ -195,10 +198,7 @@ FFMPEG_TEST_CASE(Cr635422, "security/635422.ogg", DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN); -FFMPEG_TEST_CASE(Cr637428, - "security/637428.ogg", - PIPELINE_ERROR_DECODE, - PIPELINE_ERROR_DECODE); +FFMPEG_TEST_CASE(Cr637428, "security/637428.ogg", PIPELINE_OK, PIPELINE_OK); FFMPEG_TEST_CASE(Cr639961, "security/639961.flac", PIPELINE_ERROR_INITIALIZATION_FAILED, @@ -335,8 +335,8 @@ FFMPEG_TEST_CASE(OGV_16, DECODER_ERROR_NOT_SUPPORTED); FFMPEG_TEST_CASE(OGV_17, "security/vorbis.482086.ogv", - PIPELINE_OK, - PIPELINE_OK); + DEMUXER_ERROR_COULD_NOT_OPEN, + DEMUXER_ERROR_COULD_NOT_OPEN); FFMPEG_TEST_CASE(OGV_18, "security/wav.711.ogv", DECODER_ERROR_NOT_SUPPORTED, |