Add ability to toggle EOTF support based on the display characteristics of new VP9 codec string up to MediaSource.isTypeSupported.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9a285ed020220553b8c4f47883094ce8220d4086 commit 9a285ed020220553b8c4f47883094ce8220d4086 Author: chcunningham <chcunningham@chromium.org> Date: Wed Mar 08 21:48:56 2017 WebM support for new multipart VP9 string (behind flag) The new string describes profile, level, bitdepth, color primaries, eotf, matrix coefficients, full-range enable/disable, and chroma subsampling. Example: MediaSource.isTypeSupported( 'video/webm; codecs="vp09.02.01.10.09.01.09.01.01"') Ordering and required feilds are still under discussion, but this reflects the latest proposal. For HDR EOTFs (e.g. SMPTEST2084) canPlayType/isTypeSupported will return ""/false until RenderMediaClient is made aware of whether chrome is running with hdr output enabled. To enable parsing of the new vp9 string in webm, use the flag --enable-new-vp9-codec-string. Alternatively, to enable HDR AND new vp9 string in webm, use --enable-hdr-output To enable parsing (and demuxing) of vp9 in mp4, use the flag --enable-vp9-in-mp4 BUG= 687627 Review-Url: https://codereview.chromium.org/2723833002 Cr-Commit-Position: refs/heads/master@{#455548} [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/chromecast/common/media/cast_media_client.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/chromecast/common/media/cast_media_client.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/content/browser/media/media_canplaytype_browsertest.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/content/renderer/media/render_media_client.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/content/renderer/media/render_media_client.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/content/renderer/media/render_media_client_unittest.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/content/renderer/render_thread_impl.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/key_systems_unittest.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/media.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/media.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/media_client.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/media_switches.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/media_switches.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/mime_util_internal.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/mime_util_internal.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/mime_util_unittest.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/video_codecs.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/video_codecs.h [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/base/video_codecs_unittest.cc [modify] https://crrev.com/9a285ed020220553b8c4f47883094ce8220d4086/media/filters/stream_parser_factory.cc
Over to Hubbe to wire up the signal for when color management is enabled, and allow the appropriate HDR eotfs.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd commit 2fb4f2c9c461551d43fdfa28ef4c960da81a47dd Author: hubbe <hubbe@chromium.org> Date: Mon Mar 13 22:52:53 2017 Gate support for certain EOTFs/primaries/matrices on color management / hdr flags Creates a new class VideoColorSpace specifically for encoding color spaces according to ISO/IEC 23001-8. Plumb this color space through from parsing to validation. BUG= 687627 Review-Url: https://codereview.chromium.org/2742113002 Cr-Commit-Position: refs/heads/master@{#456518} [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/content/renderer/media/render_media_client.cc [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/content/renderer/media/render_media_client_unittest.cc [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/BUILD.gn [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/media_client.h [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/mime_util_internal.cc [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/mime_util_internal.h [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/video_codecs.cc [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/video_codecs.h [modify] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/video_codecs_unittest.cc [add] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/video_color_space.cc [add] https://crrev.com/2fb4f2c9c461551d43fdfa28ef4c960da81a47dd/media/base/video_color_space.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d6bc1395974d40370fdb9ccca384e09ade253d1b commit d6bc1395974d40370fdb9ccca384e09ade253d1b Author: chcunningham <chcunningham@chromium.org> Date: Tue Mar 21 18:44:10 2017 Update new VP9 codec string parsing To reflect latest proposal (move chroma subsampling) and fix a bug in parsing of level (Level 1 is "10", not "01" - multiplied by 10 to accodate notation of fractional levels (1.1 is "11")). BUG= 687627 TEST=fix media_unittests Review-Url: https://codereview.chromium.org/2760893003 Cr-Commit-Position: refs/heads/master@{#458489} [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/chrome/browser/media/encrypted_media_browsertest.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/content/browser/media/media_canplaytype_browsertest.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/media/base/mime_util_unittest.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/media/base/video_codecs.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/media/base/video_codecs_unittest.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/media/filters/chunk_demuxer_unittest.cc [modify] https://crrev.com/d6bc1395974d40370fdb9ccca384e09ade253d1b/media/test/pipeline_integration_test.cc
This issue is closed, but shows as blocked on 667834.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a commit 6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a Author: chcunningham <chcunningham@chromium.org> Date: Thu Apr 06 23:56:52 2017 Add EME support for new VP9 codec string in WebM. Now supporing "video/webm; codecs=vp09...." in calls to EME's requestForMediaKeySystemAccess(). Must run with the following flag: --enable-new-vp9-codec-string. This CL does not modify existing support for "video/mp4". To enable in MP4 run with --enable-vp9-in-mp4. Runtime flags are checked in MimeUtilInternal ParseVp9CodecID(). BUG= 687627 Review-Url: https://codereview.chromium.org/2793163003 Cr-Commit-Position: refs/heads/master@{#462692} [modify] https://crrev.com/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc [modify] https://crrev.com/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a/chrome/renderer/media/chrome_key_systems.cc [modify] https://crrev.com/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a/media/base/eme_constants.h [modify] https://crrev.com/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a/media/base/key_systems.cc [modify] https://crrev.com/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a/media/base/mime_util_internal.cc [modify] https://crrev.com/6cfb384ad0513ed6bdf6c6a5886ef5da0411b70a/media/blink/key_system_config_selector.cc
Comment 1 by mlamouri@chromium.org
, Feb 13 2017