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

Reply via email to