Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f9e9fc8f8b1b89d88194a1fc76dd13031749b87f
https://github.com/WebKit/WebKit/commit/f9e9fc8f8b1b89d88194a1fc76dd13031749b87f
Author: Youenn Fablet <[email protected]>
Date: 2023-06-07 (Wed, 07 Jun 2023)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h264_annexb-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h264_avc-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h264_annexb-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h264_avc-expected.txt
M Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/base/RTCVideoEncoder.h
M
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/VideoEncoder.h
A Source/WebCore/platform/VideoEncoderActiveConfiguration.h
M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp
M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h
M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in
Log Message:
-----------
[Cocoa] Expose colorSpace in HW encoders VideoDecoderConfig
https://bugs.webkit.org/show_bug.cgi?id=257742
rdar://problem/110310512
Reviewed by Eric Carlson.
We were setting colorSpace for libvpx encoders but not for remote encoders.
Add support for this in LibWebRTCCodecsProxy.
We make changes to RTCVideoEncoderH264 to trigger the description callback in
the annexB case too so that we can send the color space.
In the future, RTCVideoEncoderH264 and others might send themselves their color
space.
Update WebProcess side to create the VideoEncoderActiveConfiguration with
colorSpace in LibWebRTCCodecs.
We separate VideoEncoderActiveConfiguration in its own file to reduce header
and it might be useful in
the future to directly send VideoEncoderActiveConfiguration from GPUProcess to
WebProcess.
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h264_annexb-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h264_avc-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h264_annexb-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h264_avc-expected.txt:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/base/RTCVideoEncoder.h:
*
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 setUseAnnexB:]):
(-[RTCVideoEncoderH264
frameWasEncoded:flags:sampleBuffer:codecSpecificInfo:width:height:renderTimeMs:timestamp:rotation:isKeyFrameRequired:]):
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/VideoEncoder.h:
* Source/WebCore/platform/VideoEncoderActiveConfiguration.h: Added.
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::createEncoder):
* Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp:
(WebKit::RemoteVideoEncoder::RemoteVideoEncoder):
(WebKit::RemoteVideoEncoderCallbacks::notifyEncoderDescription):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::setEncodingConfiguration):
(WebKit::LibWebRTCCodecs::setEncodingDescription): Deleted.
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in:
Canonical link: https://commits.webkit.org/264933@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes