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