RESOLVED FIXED 213837
Allow registering VP9 as a VT decoder
https://bugs.webkit.org/show_bug.cgi?id=213837
Summary Allow registering VP9 as a VT decoder
youenn fablet
Reported 2020-07-01 06:00:27 PDT
Allow registering VP9 as a VT decoder
Attachments
Patch (93.05 KB, patch)
2020-07-01 06:42 PDT, youenn fablet
no flags
Patch (254.47 KB, patch)
2020-07-02 00:31 PDT, youenn fablet
no flags
Patch (256.30 KB, patch)
2020-07-02 02:10 PDT, youenn fablet
no flags
Patch (256.30 KB, patch)
2020-07-02 04:36 PDT, youenn fablet
no flags
Patch for landing (256.71 KB, patch)
2020-07-03 00:42 PDT, youenn fablet
no flags
Patch (256.53 KB, patch)
2020-07-03 05:32 PDT, youenn fablet
no flags
Radar WebKit Bug Importer
Comment 1 2020-07-01 06:26:01 PDT
youenn fablet
Comment 2 2020-07-01 06:42:35 PDT
Eric Carlson
Comment 3 2020-07-01 14:35:44 PDT
Comment on attachment 403286 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=403286&action=review > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:201 > + if (!CMBlockBufferIsRangeContiguous(encodedBuffer, 0, 0)) { > + RTC_LOG(LS_ERROR) << "VP9 decoder: failed to get contiguous buffer"; > + return kVTParameterErr; > + } You can use CMBlockBufferCreateContiguous(...) if you require a contiguous buffer. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:224 > + return noErr; Should this return an empty dictionary? > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:247 > + VTDecoderSessionEmitDecodedFrame(m_session, m_currentFrame, vtError, 0, nullptr); Maybe ASSERT(m_currentFrame) here? > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:279 > + VTDecoderSessionEmitDecodedFrame(m_session, m_currentFrame, pixelBuffer ? noErr : -1, 0, pixelBuffer); Ditto.
youenn fablet
Comment 4 2020-07-02 00:31:57 PDT
youenn fablet
Comment 5 2020-07-02 02:10:02 PDT
youenn fablet
Comment 6 2020-07-02 04:36:15 PDT
Jer Noble
Comment 7 2020-07-02 10:21:22 PDT
Comment on attachment 403361 [details] Patch LGTM; I think we could use some more tests that verify HTMLMediaElement.canPlayType('video/mp4; codecs=vp9') and the same for MediaSource.isTypeSupported('video/mp4; codecs=vp9'), but that can be follow-up work.
youenn fablet
Comment 8 2020-07-02 12:31:28 PDT
(In reply to Jer Noble from comment #7) > Comment on attachment 403361 [details] > Patch > > LGTM; I think we could use some more tests that verify > HTMLMediaElement.canPlayType('video/mp4; codecs=vp9') and the same for > MediaSource.isTypeSupported('video/mp4; codecs=vp9'), but that can be > follow-up work. Will add the tests I am not sure they will pass though, how would WebKit know the codec name is vp9?
youenn fablet
Comment 9 2020-07-03 00:42:43 PDT
Created attachment 403445 [details] Patch for landing
youenn fablet
Comment 10 2020-07-03 05:32:42 PDT
EWS
Comment 11 2020-07-03 07:21:37 PDT
Committed r263894: <https://trac.webkit.org/changeset/263894> All reviewed patches have been landed. Closing bug and clearing flags on attachment 403453 [details].
Note You need to log in before you can comment on or make changes to this bug.