Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b45ae084ce9d0f82c5fd7a395c44ac2e81f051dc
https://github.com/WebKit/WebKit/commit/b45ae084ce9d0f82c5fd7a395c44ac2e81f051dc
Author: Youenn Fablet <[email protected]>
Date: 2023-06-13 (Tue, 13 Jun 2023)
Changed paths:
A LayoutTests/http/wpt/webcodecs/I420A-and-canvas-expected.txt
A LayoutTests/http/wpt/webcodecs/I420A-and-canvas.html
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any.worker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any.worker-expected.txt
M LayoutTests/platform/glib/TestExpectations
M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp
M Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.h
M Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.mm
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameAlgorithms.cpp
M Source/WebCore/platform/VideoFrame.cpp
M Source/WebCore/platform/VideoFrame.h
M Source/WebCore/platform/cocoa/SharedVideoFrameInfo.h
M Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm
M Source/WebCore/platform/graphics/cv/VideoFrameCV.mm
M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp
Log Message:
-----------
Add support for I420A VideoFrames
https://bugs.webkit.org/show_bug.cgi?id=257863
rdar://110484519
Reviewed by Eric Carlson.
We add support for creation of I420A video frames and add support for copyTo.
We update SharedVideoFrameInfo to be able to send these frames to GPUProcess.
We validate canvas drawing of these frames correctly handle alpha information.
* LayoutTests/http/wpt/webcodecs/I420A-and-canvas-expected.txt: Added.
* LayoutTests/http/wpt/webcodecs/I420A-and-canvas.html: Added.
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any.worker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-copyTo.any.worker-expected.txt:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::pixelBufferFromI420ABuffer):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:
(WebCore::validateI420Sizes):
(WebCore::WebCodecsVideoFrame::create):
(WebCore::computeVideoPixelFormat):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameAlgorithms.cpp:
(WebCore::videoPixelFormatToPlaneCount):
(WebCore::videoPixelFormatToSubSampling):
* Source/WebCore/platform/VideoFrame.cpp:
(WebCore::VideoFrame::createI420A):
* Source/WebCore/platform/VideoFrame.h:
* Source/WebCore/platform/cocoa/SharedVideoFrameInfo.h:
(WebCore::SharedVideoFrameInfo::SharedVideoFrameInfo):
* Source/WebCore/platform/cocoa/SharedVideoFrameInfo.mm:
(WebCore::SharedVideoFrameInfo::fromCVPixelBuffer):
(WebCore::SharedVideoFrameInfo::isReadWriteSupported const):
(WebCore::SharedVideoFrameInfo::storageSize const):
(WebCore::SharedVideoFrameInfo::encode):
(WebCore::SharedVideoFrameInfo::decode):
(WebCore::SharedVideoFrameInfo::createPixelBufferFromMemory):
(WebCore::SharedVideoFrameInfo::writePixelBuffer):
* Source/WebCore/platform/graphics/cv/VideoFrameCV.mm:
(WebCore::VideoFrame::createI420A):
(WebCore::copyI420OrI420A):
(WebCore::VideoFrame::copyTo):
(WebCore::copyI420): Deleted.
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrame::createI420A):
Canonical link: https://commits.webkit.org/265115@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes