New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 687627 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 667834

Blocking:
issue 703798



Sign in to add a comment

Add ability to toggle EOTF support in VP9

Project Member Reported by faniel@google.com, Feb 1 2017

Issue description

Add ability to toggle EOTF support based on the display characteristics of new VP9 codec string up to MediaSource.isTypeSupported.
 
Components: -Blink>Media>Video Internals>Media>Codecs
Cc: hbengali@chromium.org
Status: Assigned (was: Untriaged)
Owner: chcunningham@chromium.org
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 8 2017

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

Owner: hubbe@chromium.org
Over to Hubbe to wire up the signal for when color management is enabled, and allow the appropriate HDR eotfs. 
Project Member

Comment 7 by bugdroid1@chromium.org, Mar 13 2017

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

Comment 8 by hubbe@chromium.org, Mar 14 2017

Status: Fixed (was: Assigned)
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 21 2017

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

Blocking: 703798
This issue is closed, but shows as blocked on 667834.
Labels: -Type-Bug Type-Feature
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 6 2017

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

Sign in to add a comment