Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d9eaeec65476955a24f5cbb42c512a81c2517d9b
      
https://github.com/WebKit/WebKit/commit/d9eaeec65476955a24f5cbb42c512a81c2517d9b
  Author: Youenn Fablet <[email protected]>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.cpp
    M Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.h
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/graphics/HEVCUtilities.cpp
    M Source/WebCore/platform/graphics/HEVCUtilities.h
    M Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.h
    M Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.mm
    A Source/WebCore/platform/video-codecs/cocoa/GPUVideoDecoderVTBH265.h
    A Source/WebCore/platform/video-codecs/cocoa/GPUVideoDecoderVTBH265.mm
    M Source/WebCore/platform/video-codecs/cocoa/WebRTCVideoDecoder.h
    M Source/WebCore/platform/video-codecs/cocoa/WebRTCVideoDecoder.mm
    M Source/WebCore/platform/video-codecs/cocoa/WebRTCVideoDecoderVTB.h
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm

  Log Message:
  -----------
  Implement a VideoToolbox H265 decoder in WebCore
rdar://187770610
https://bugs.webkit.org/show_bug.cgi?id=324534

Reviewed by Jean-Yves Avenard.

We implement GPUVideoDecoderVTBH265 as a straigthforward replacement to 
libwebrtc RTCVideoDecoderH265.
At some point in the future, RTCVideoDecoderH265 will be retired.
In the meantime, we enable GPUVideoDecoderVTBH265 when WebCore's H265 encoder 
is enabled.

We reimplement libwebrtc parsing/conversion routines that are needed in 
WebCore, using safe cpp guideline.
We keep for now the color space handling similar to libwebrtc (fixed setup), 
this will be fixed as a follow-up.

* 
LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific-orientation.https.any.js:
(promise_test.async t):
* Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.cpp:
* Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.h:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.mm:
(WebCore::createVideoInfoFromHEVCAnnexBStream):
(WebCore::convertHEVCAnnexBToLengthPrefixed):
(WebCore::defaultHEVCPlatformVideoColorSpace):
(WebCore::createVideoInfoFromHVCC):
* Source/WebCore/platform/video-codecs/cocoa/GPUVideoDecoderVTBH265.h: Added.
* Source/WebCore/platform/video-codecs/cocoa/GPUVideoDecoderVTBH265.mm: Added.
(WebCore::GPUVideoDecoderVTBH265::GPUVideoDecoderVTBH265):
(WebCore::GPUVideoDecoderVTBH265::decodeFrame):
(WebCore::GPUVideoDecoderVTBH265::setFormat):
* Source/WebCore/platform/video-codecs/cocoa/WebRTCVideoDecoder.h:
* Source/WebCore/platform/video-codecs/cocoa/WebRTCVideoDecoder.mm:
(WebCore::WebRTCVideoDecoder::create):
* Source/WebCore/platform/video-codecs/cocoa/WebRTCVideoDecoderVTB.h:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::createLocalDecoder):
* Source/WebCore/platform/graphics/HEVCUtilities.cpp:
(WebCore::findHEVCAnnexBMaxNumReorderPics):
(WebCore::findHVCCMaxNumReorderPics):
(WebCore::HEVCBitstreamParser::parseVpsMaxNumReorderPics):
* Source/WebCore/platform/graphics/HEVCUtilities.h:

Canonical link: https://commits.webkit.org/321590@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to