juberti / draughts

Various Internet-Drafts
3 stars 12 forks source link

Add VP9 profile-id field and profile negotiation #106

Closed uysalere closed 6 years ago

uysalere commented 6 years ago

As a part of the plan to enable VP9 Profile 2(10-bit codec) in WebRTC, I edited the draft to explain profile negotiation. I mostly followed how H.264 is explained in RTC6184. The main reason why we need to distinguish VP9 profiles in advance for encoding and decoding is because we need to configure encoder/decoder implementations in advance, allocate buffers for input/output and make the decision to use HW/SW encoder knowing what we are receiving. In that way profiles should be similar to how H.264 works, minus the levels.

juberti commented 6 years ago

@JonathanLennox, could you take a peek at this?

JonathanLennox commented 6 years ago

Yes, this definitely needs the list of possible values, and their semantics, to be specified. Presumably the reference should be to section 7.2 of the VP9 bitstream specification.

I agree with Justin also that the default is 0 if the value is not specified.

uysalere commented 6 years ago

I added a section in "6.1. Media Type Definition" for profile-id, listed the supported profiles in a table and specified 0 to be used when the field is absent. PTAL again?

JonathanLennox commented 6 years ago

I'm not sure how useful the table is in its current form, but I guess it can't hurt. (The 7.2 reference is the useful part, imo.)

Do we want to add something summarizing the differences between the profiles, i.e. replicate the table from section 7.2 of the VP9 draft? If so, we should be clear it's informative.

uysalere commented 6 years ago

Sounds good to me. I replicated the table as well. If you think it is all becoming too verbose, I can remove them and directly address sec 7.2 instead.

JonathanLennox commented 6 years ago

I've merged this. Thanks!

I also added you to the new "Acknowledgments" section; let me know if you don't want this or if I spelled your name incorrectly.