镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Add VP9 codec string sample - #517

Merged
beaufortfrancois merged 2 commits into
gh-pagesfrom
vp9-codec-string
Jun 1, 2017
Merged

beaufortfrancois merged 2 commits into
gh-pagesfrom
vp9-codec-string

Conversation

@beaufortfrancois

Copy link
Copy Markdown
Member

Hello @wolenetz,
This sample describes the upcoming new VP9 codec string and Profile 2 support in Chrome 60.

What do you think?

screenshot 2017-05-29 at 1 04 20 pm - display 1

@chcunningham chcunningham left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making these samples!

Comment thread media/vp9-codec-string.js Outdated
@@ -0,0 +1,25 @@
if (MediaSource.isTypeSupported('video/webm; codecs="vp9"')) {
log('> VP9, Profile 0, level 1 (later fields defaulted)');

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've always thought of the the old string is completely ambiguous for profile/level. I've not been around long enough to say whether it was originally intended to just imply profile 0, but in practice its used (regrettably) for lots of other profiles/levels.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chcunningham What should it say then?

log('Some profile/level of VP9');

Comment thread media/vp9-codec-string.js Outdated
}

if (MediaSource.isTypeSupported('video/webm; codecs="vp09.01.20.08.01"')) {
log('> VP9, Profile 0, level 1, bit depth 8, 4:2:0 chroma subsampling ' +

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log doesn't match the string. String shows profile 1, level 2. Sorry, I made this typo in the web platform tests.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: 4:2:0 chroma subsampling is correct, but could apply to eitehr values of 0 or 1. I realize my test documentation is equally ambiguous. You might help clarify that this is value 4:2:0 variety that includes "colocated with luma (0,0)" ... or similar.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@beaufortfrancois

Copy link
Copy Markdown
Member Author

@chcunningham I've addressed your feedback at 9d0d00e.
Let me know it that looks good to you.

@beaufortfrancois

Copy link
Copy Markdown
Member Author

By the way, I've tried with the --enable-new-vp9-codec-string switch in Chrome OS and I get:

Your browser supports:
> Some VP9 profile
> VP9, Profile 0, level 1, bit depth 8 (later fields defaulted)
> VP9, Profile 1, level 2, bit depth 8, 4:2:0 chroma subsampling colocated with (0,0) luma, (later fields defaulted)
> VP9, Profile 1, level 2, bit depth 8, 4:2:0 chroma subsampling colocated with (0,0) luma, REC709 color/transfer/matrix, luma/chroma encoded in the "legal" range.

Profile 2 is missing. Is that intended?

@chcunningham

Copy link
Copy Markdown

LGTM.

Profile 2 is supported, but your getting "false" because the specified eotf and color primaries are not supported unless chrome is running in "HDR mode". This is still under development, but you can enable HDR mode by running with --enable-hdr.

You can see which color primaries/transfer/matrices require HDR mode (implicitly "color management") here:
https://cs.chromium.org/chromium/src/media/base/decode_capabilities.cc?q=color_management&l=15

If you're hoping for profile 2 to be more reliably supported you can choose a different eotf and color primaries.

@beaufortfrancois

Copy link
Copy Markdown
Member Author

@chcunningham You're right. It works great with --enable-hdr

@beaufortfrancois
beaufortfrancois merged commit cbc1e6b into gh-pages Jun 1, 2017
@beaufortfrancois
beaufortfrancois deleted the vp9-codec-string branch June 1, 2017 12:01
@wolenetz

wolenetz commented Jun 1, 2017

Copy link
Copy Markdown

(@ #517 (comment), @chcunningham is the correct reviewer).
Aside - I also think just "vp9" was ambiguous w.r.t. profile/level/etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants