Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4f5245c3949d20a65be88d92a1ea84e6364e7373
https://github.com/WebKit/WebKit/commit/4f5245c3949d20a65be88d92a1ea84e6364e7373
Author: Youenn Fablet <[email protected]>
Date: 2022-10-27 (Thu, 27 Oct 2022)
Changed paths:
A LayoutTests/http/wpt/webcodecs/videoFrame-colorSpace-expected.txt
A LayoutTests/http/wpt/webcodecs/videoFrame-colorSpace.html
M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp
M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp
M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameData.h
M Source/WebCore/platform/LibWebRTCVPXVideoDecoder.cpp
M Source/WebCore/platform/VideoFrame.cpp
M Source/WebCore/platform/VideoFrame.h
M Source/WebCore/platform/graphics/cv/VideoFrameCV.h
M Source/WebCore/platform/graphics/cv/VideoFrameCV.mm
M Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.cpp
M Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.h
M
Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm
M Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp
M Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.h
Log Message:
-----------
[WebCodecs] Expose decoded video frames colorSpace
https://bugs.webkit.org/show_bug.cgi?id=247060
rdar://problem/101584578
Reviewed by Eric Carlson.
Add colorSpace information to VideoFrame and allow to pass it through IPC in
VideoFrameCV and RemoteVideoFrameProxy.
Compute color space from CVPixelBuffer or from rtc VideoFrame.
For rtc vpx frames, use the default 601 profile if none is provided.
* LayoutTests/http/wpt/webcodecs/videoFrame-colorSpace-expected.txt: Added.
* LayoutTests/http/wpt/webcodecs/videoFrame-colorSpace.html: Added.
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:
(WebCore::WebCodecsVideoFrame::colorSpace const):
* Source/WebCore/platform/LibWebRTCVPXVideoDecoder.cpp:
(WebCore::LibWebRTCVPXInternalVideoDecoder::Decoded):
* Source/WebCore/platform/VideoFrame.cpp:
(WebCore::VideoFrame::VideoFrame):
* Source/WebCore/platform/VideoFrame.h:
(WebCore::VideoFrame::colorSpace const):
(WebCore::VideoFrame::VideoFrame):
* Source/WebCore/platform/graphics/cv/VideoFrameCV.h:
(WebCore::VideoFrameCV::encode const):
(WebCore::VideoFrameCV::decode):
* Source/WebCore/platform/graphics/cv/VideoFrameCV.mm:
(WebCore::computeVideoFrameColorSpace):
(WebCore::VideoFrameCV::VideoFrameCV):
* Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.cpp:
(WebCore::defaultVPXColorSpace):
(WebCore::VideoFrameLibWebRTC::create):
(WebCore::VideoFrameLibWebRTC::colorSpaceFromFrame):
(WebCore::VideoFrameLibWebRTC::VideoFrameLibWebRTC):
* Source/WebCore/platform/mediastream/libwebrtc/VideoFrameLibWebRTC.h:
* Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::toVideoFrame):
* Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
(WebKit::RemoteVideoFrameProxy::RemoteVideoFrameProxy):
* Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.h:
(WebKit::RemoteVideoFrameProxy::Properties::encode const):
(WebKit::RemoteVideoFrameProxy::Properties::decode):
Canonical link: https://commits.webkit.org/256068@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes