Skip to content

Conversation

@beaufortfrancois
Copy link
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

Copy link

@chcunningham chcunningham left a comment

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!

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

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
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');

}

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 ' +

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.

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
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
Member Author

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

@beaufortfrancois
Copy link
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

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
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
Copy link

wolenetz commented Jun 1, 2017

(@ #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