[wpt-sync] Sync PR 27343 - Add support for constructing WebCodecs VideoFrames from planes.
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox87 fixed)
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 27343 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/27343
Details from upstream follow.
b'Dale Curtis <dalecurtis@chromium.org>' wrote:
Add support for constructing WebCodecs VideoFrames from planes.
This allows for JS/WASM created VideoFrames to be fed into the
WebCodecs encoder. Passed in ArrayBuffers always have their
ownership transferred to the constructed VideoFrame.Bug: 1120817
Test: New web tests.
Change-Id: Iefb3118ecac567c0cc4cb0187330194d69ce8327
Reviewed-on: https://chromium-review.googlesource.com/2616985
WPT-Export-Revision: b46052a85fbd191a6dd4ef9e8e2fe7d66a6310db
Assignee | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Assignee | ||
Comment 3•4 years ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 11 tests and 10 subtests
Status Summary
Firefox
OK : 11
FAIL: 147
Chrome
OK : 11
PASS: 133
FAIL: 14
Safari
OK : 11
FAIL: 147
Links
Details
New Tests That Don't Pass
/webcodecs/audio-decoder.any.html
Test that AudioDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.isConfigSupported() with a valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: FAIL, Safari: FAIL)
Test AudioDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.configure(): FAIL (Chrome: PASS, Safari: FAIL)
Verify closed AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/audio-decoder.any.worker.html
Test that AudioDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Video codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.isConfigSupported() with a valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test that AudioDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: FAIL, Safari: FAIL)
Test AudioDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test AudioDecoder.configure(): FAIL (Chrome: PASS, Safari: FAIL)
Verify closed AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured AudioDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/audio-encoder.any.html
Simple audio encoding: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-decoder.any.worker.html
Test that VideoDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Out of bounds crop size caused by left/top offset: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Way out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Out of bounds crop size caused by left/top offset: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Way out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with minimal valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with valid expanded config: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: FAIL, Safari: FAIL)
Test VideoDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.configure() with various codec strings: FAIL (Chrome: PASS, Safari: FAIL)
Decode VP9: FAIL (Chrome: PASS, Safari: FAIL)
Verify reset() suppresses output and rejects flush: FAIL (Chrome: PASS, Safari: FAIL)
Verify closed VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Decode corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Decode empty VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Close while decoding corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-decoder.any.html
Test that VideoDecoder.isConfigSupported() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Out of bounds crop size caused by left/top offset: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Way out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Emtpy codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Unrecognized codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Audio codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Ambiguous codec: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Codec with MIME type: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Zero coded size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Out of bounds crop size caused by left/top offset: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Way out of bounds crop size: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.configure() rejects invalid config:Invalid display size: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with minimal valid config: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.isConfigSupported() with valid expanded config: FAIL (Chrome: PASS, Safari: FAIL)
Test that VideoDecoder.isConfigSupported() returns a parsed configuration: FAIL (Chrome: FAIL, Safari: FAIL)
Test VideoDecoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoDecoder.configure() with various codec strings: FAIL (Chrome: PASS, Safari: FAIL)
Decode VP9: FAIL (Chrome: PASS, Safari: FAIL)
Verify reset() suppresses output and rejects flush: FAIL (Chrome: PASS, Safari: FAIL)
Verify closed VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured VideoDecoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Decode corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Decode empty VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
Close while decoding corrupt VP9 frame: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-encoder.any.html
Test VideoEncoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoEncoder.configure(): FAIL (Chrome: PASS, Safari: FAIL)
Test successful configure(), encode(), and flush(): FAIL (Chrome: PASS, Safari: FAIL)
Test successful reset() and re-confiugre(): FAIL (Chrome: PASS, Safari: FAIL)
Test successful encode() after re-configure().: FAIL (Chrome: PASS, Safari: FAIL)
Test encoder consumes (closes) frames.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closed VideoEncoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured VideoEncoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify encoding closed frames throws.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-encoder.any.worker.html
Test VideoEncoder construction: FAIL (Chrome: PASS, Safari: FAIL)
Test VideoEncoder.configure(): FAIL (Chrome: PASS, Safari: FAIL)
Test successful configure(), encode(), and flush(): FAIL (Chrome: PASS, Safari: FAIL)
Test successful reset() and re-confiugre(): FAIL (Chrome: PASS, Safari: FAIL)
Test successful encode() after re-configure().: FAIL (Chrome: PASS, Safari: FAIL)
Test encoder consumes (closes) frames.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closed VideoEncoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify unconfigured VideoEncoder operations: FAIL (Chrome: PASS, Safari: FAIL)
Verify encoding closed frames throws.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-frame-serialization.any.html
Test we can clone a VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closing a frame doesn't affect its clones.: FAIL (Chrome: PASS, Safari: FAIL)
Verify cloning a closed frame throws.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closing frames propagates accross contexts.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closing cloned frames doesn't propagate accross contexts.: FAIL (Chrome: PASS, Safari: FAIL)
Verify posting closed frames throws.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-frame-serialization.any.worker.html
Test we can clone a VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closing a frame doesn't affect its clones.: FAIL (Chrome: PASS, Safari: FAIL)
Verify cloning a closed frame throws.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closing frames propagates accross contexts.: FAIL (Chrome: PASS, Safari: FAIL)
Verify closing cloned frames doesn't propagate accross contexts.: FAIL (Chrome: PASS, Safari: FAIL)
Verify posting closed frames throws.: FAIL (Chrome: PASS, Safari: FAIL)
/webcodecs/video-frame.any.html
Test we can construct a VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test we can construct an odd-sized VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test we can read planar data from a VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test we cannot read planar data from a closed VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test constructing VideoFrames from closed ImageBitmap throws.: FAIL (Chrome: PASS, Safari: FAIL)
Test invalid planar constructed VideoFrames: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed I420 VideoFrame: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed I420+Alpha VideoFrame: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed NV12 VideoFrame: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed RGB VideoFrames: FAIL (Chrome: FAIL, Safari: FAIL)
/webcodecs/video-frame.any.worker.html
Test we can construct a VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test we can construct an odd-sized VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test we can read planar data from a VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test we cannot read planar data from a closed VideoFrame.: FAIL (Chrome: PASS, Safari: FAIL)
Test constructing VideoFrames from closed ImageBitmap throws.: FAIL (Chrome: PASS, Safari: FAIL)
Test invalid planar constructed VideoFrames: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed I420 VideoFrame: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed I420+Alpha VideoFrame: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed NV12 VideoFrame: FAIL (Chrome: FAIL, Safari: FAIL)
Test planar constructed RGB VideoFrames: FAIL (Chrome: FAIL, Safari: FAIL)
Comment 5•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/12cb3744dd8b
https://hg.mozilla.org/mozilla-central/rev/5e285232d2f9
Description
•