WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
217673
Add support for VP9 Profile 2 (10-bit color) in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=217673
Summary
Add support for VP9 Profile 2 (10-bit color) in WebRTC
Justin Uberti
Reported
2020-10-13 15:04:25 PDT
I believe the new iOS14 VideoToolbox support for VP9 includes HDR capabilities. If so, could Safari add another VP9 format (beyond the existing experimental VP9 support) with profile-id=2? e.g., m=video 9 UDP/TLS/RTP/SAVPF 96 97 a=rtpmap:96 VP9/90000 a=fmtp:96 profile-id=0 a=rtpmap:97 VP9/90000 a=fmtp:97 profile-id=2
Attachments
Patch
(28.85 KB, patch)
2020-10-22 06:43 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
Patch
(30.97 KB, patch)
2020-10-22 09:22 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
Patch
(30.47 KB, patch)
2020-10-26 01:27 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-10-14 01:37:47 PDT
<
rdar://problem/70283885
>
youenn fablet
Comment 2
2020-10-14 01:41:16 PDT
First step is probably to make use of VP9 VideoToolbox decoding support when available. Do you know how much profile-id=2 is supported in other browsers (decoders and/or encoders)?
Justin Uberti
Comment 3
2020-10-14 09:37:36 PDT
I agree with the sequencing you propose. The current experimental setting to enable the existing VP9 support has been useful. Regarding higher profiles: - Chromium supports decoding profiles 1 and 2 in MSE and supports decoding profile 2 in WebRTC. I don't think it's fully plumbed for encoding yet though. - Firefox supports decoding profiles 1 and 2 in MSE. MSE support tester:
https://googlechrome.github.io/samples/media/vp9-codec-string.html
youenn fablet
Comment 4
2020-10-22 06:43:46 PDT
Created
attachment 412092
[details]
Patch
youenn fablet
Comment 5
2020-10-22 09:22:19 PDT
Created
attachment 412106
[details]
Patch
Eric Carlson
Comment 6
2020-10-22 11:17:14 PDT
Comment on
attachment 412106
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=412106&action=review
r=me once the bots are happy.
> Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:85 > + NSDictionary<NSString *, NSString *> *profile0 = @{ > + @"profile-id" : @"0", > + }; > + RTCVideoCodecInfo *vp9InfoProfile0 = [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp9Name parameters: profile0];
Nit: can you do this inline? RTCVideoCodecInfo *vp9InfoProfile0 = [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp9Name parameters: @{ @"profile-id" : @"0" }];
> Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:91 > + RTCVideoCodecInfo *vp9InfoProfile2 = [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp9Name parameters: profile2];
Ditto.
> Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:83 > + RTCVideoCodecInfo *vp9InfoProfile0 = [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp9Name parameters: profile0];
Ditto.
> Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:89 > + RTCVideoCodecInfo *vp9InfoProfile2 = [[RTCVideoCodecInfo alloc] initWithName:kRTCVideoCodecVp9Name parameters: profile2];
Ditto.
> LayoutTests/webrtc/vp9-profile2.html:22 > +}, "VP9 profile 2in getCapabilities");
s/profile 2in/profile 2 in/
youenn fablet
Comment 7
2020-10-26 01:27:16 PDT
Created
attachment 412293
[details]
Patch
EWS
Comment 8
2020-10-26 05:50:48 PDT
Committed
r268971
: <
https://trac.webkit.org/changeset/268971
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 412293
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug