Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 58383a97b1c609d4864328be6606b8ee946f6277
      
https://github.com/WebKit/WebKit/commit/58383a97b1c609d4864328be6606b8ee946f6277
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2024-11-07 (Thu, 07 Nov 2024)

  Changed paths:
    A LayoutTests/media/content/test-h264-709-fullrange.mp4
    A LayoutTests/media/content/test-h264-709-videorange.mp4
    A LayoutTests/media/content/test-vp8-709-fullrange.webm
    A LayoutTests/media/content/test-vp9-709-fullrange.webm
    A LayoutTests/media/media-video-fullrange-expected.txt
    A LayoutTests/media/media-video-fullrange.html
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/wpe/TestExpectations
    M Source/WebCore/Headers.cmake
    M Source/WebCore/PlatformGTK.cmake
    M Source/WebCore/PlatformMac.cmake
    M Source/WebCore/PlatformPlayStation.cmake
    M Source/WebCore/PlatformWPE.cmake
    M Source/WebCore/PlatformWin.cmake
    M Source/WebCore/platform/graphics/VP9Utilities.cpp
    M Source/WebCore/platform/graphics/VP9Utilities.h
    M Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm
    M Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.h
    M Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm
    M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp

  Log Message:
  -----------
  WebCodec's VP8/VP9 VideoDecoder ignore video/full bitrange.
https://bugs.webkit.org/show_bug.cgi?id=267400
rdar://120830372

Reviewed by Youenn Fablet.

Pass the vpcC atom to the VideoDecoder and have LibWebRTCVPXVideoDecoder parse 
the VP's codec configuration.
to determine which CVPixelFormatType to use (FullRange or VideoRange).

If no vpcC is passed to the VideoDecoder at construction, we will retrieve the 
information from the VPx bytestream instead.

Added tests. While the tests do not exercise directly WebCodecs API per say, 
the VideoDecoder is used when
playing vp8 on iOS and we are indirectly testing the code.

* LayoutTests/media/content/test-h264-709-fullrange.mp4: Added.
* LayoutTests/media/content/test-h264-709-videorange.mp4: Added.
* LayoutTests/media/content/test-vp8-709-fullrange.webm: Added.
* LayoutTests/media/content/test-vp9-709-fullrange.webm: Added.
* LayoutTests/media/media-video-fullrange-expected.txt: Added.
* LayoutTests/media/media-video-fullrange.html: Added.
* LayoutTests/platform/mac-wk1/TestExpectations:
* LayoutTests/platform/wpe/TestExpectations: WPE incorrectly renders all values 
as 0
* Source/WebCore/PlatformGTK.cmake: Add video_codes to search path.
* Source/WebCore/PlatformMac.cmake:
* Source/WebCore/PlatformPlayStation.cmake:
* Source/WebCore/PlatformWPE.cmake:
* Source/WebCore/PlatformWin.cmake:
* Source/WebCore/Headers.cmake: Added missing BitReader.h header.
* Source/WebCore/platform/graphics/VP9Utilities.cpp:
(WebCore::parseVPCodecParameters):
(WebCore::createVPCodecConfigurationRecordFromVPCC): Add method to parse VPCC 
box.
(WebCore::vpcCFromVPCodecConfigurationRecord): Extract code in its own method 
as it is needed to return information from the bytestream.
(WebCore::setConfigurationColorSpaceFromVP9ColorSpace):
(WebCore::vpcCFromVPXByteStream):
* Source/WebCore/platform/graphics/VP9Utilities.h:
* Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
(WebCore::createVideoInfoFromVPCodecConfigurationRecord):
(WebCore::createVideoInfoFromVP9HeaderParser):
* Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.h:
* Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::decodeSampleInternal):
(WebCore::WebCoreDecompressionSession::initializeVideoDecoder):
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp:
(WebCore::LibWebRTCVPXInternalVideoDecoder::isVPx const):
(WebCore::LibWebRTCVPXInternalVideoDecoder::decode):
(WebCore::LibWebRTCVPXInternalVideoDecoder::LibWebRTCVPXInternalVideoDecoder):
(WebCore::LibWebRTCVPXInternalVideoDecoder::createPixelBuffer):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to