Title: [285928] trunk
Revision
285928
Author
[email protected]
Date
2021-11-17 06:52:21 -0800 (Wed, 17 Nov 2021)

Log Message

Safari 15.1 H264 FullHD video encode/decode fails
https://bugs.webkit.org/show_bug.cgi?id=233036
<rdar://80345048>

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

H264 encoder now checks the profile and fails if frame is too big.
To get back to the past behavior, we are now using auto level for both ARM64 devices as well as devices with Monterey OS.

* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:

LayoutTests:

* platform/mac-wk2/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (285927 => 285928)


--- trunk/LayoutTests/ChangeLog	2021-11-17 14:50:52 UTC (rev 285927)
+++ trunk/LayoutTests/ChangeLog	2021-11-17 14:52:21 UTC (rev 285928)
@@ -1,3 +1,13 @@
+2021-11-17  Youenn Fablet  <[email protected]>
+
+        Safari 15.1 H264 FullHD video encode/decode fails
+        https://bugs.webkit.org/show_bug.cgi?id=233036
+        <rdar://80345048>
+
+        Reviewed by Eric Carlson.
+
+        * platform/mac-wk2/TestExpectations:
+
 2021-11-17  Andres Gonzalez  <[email protected]>
 
         Fix for accessibility/notification-listeners.html in isolated tree mode.

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (285927 => 285928)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-11-17 14:50:52 UTC (rev 285927)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-11-17 14:52:21 UTC (rev 285928)
@@ -1493,9 +1493,6 @@
 
 webkit.org/b/227639 [ BigSur Release ] fast/history/visited-href-mutation.html [ Pass ImageOnlyFailure ]
 
-# rdar://80345048 ([ Monterey wk2 ] webrtc/h264-high.html is a constant timeout)
-[ Monterey ] webrtc/h264-high.html [ Timeout ]
-
 # rdar://80346382 ([ Monterey Release wk2 arm64 ] platform/mac/fast/overflow/overflow-scrollbar-hit-test.html is a flaky crash)
 [ Monterey arm64 ] platform/mac/fast/overflow/overflow-scrollbar-hit-test.html [ Failure Crash ]
 

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (285927 => 285928)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2021-11-17 14:50:52 UTC (rev 285927)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2021-11-17 14:52:21 UTC (rev 285928)
@@ -1,3 +1,17 @@
+2021-11-17  Youenn Fablet  <[email protected]>
+
+        Safari 15.1 H264 FullHD video encode/decode fails
+        https://bugs.webkit.org/show_bug.cgi?id=233036
+        <rdar://80345048>
+
+        Reviewed by Eric Carlson.
+
+        H264 encoder now checks the profile and fails if frame is too big.
+        To get back to the past behavior, we are now using auto level for both ARM64 devices as well as devices with Monterey OS.
+
+        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
+
 2021-11-10  Youenn Fablet  <[email protected]> and Victor M. Jaquez L. <[email protected]>
 
         Update libwebrtc to M96

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h (285927 => 285928)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h	2021-11-17 14:50:52 UTC (rev 285927)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h	2021-11-17 14:52:21 UTC (rev 285928)
@@ -45,6 +45,7 @@
 #define ENABLE_VCP_VTB_ENCODER __MAC_OS_X_VERSION_MIN_REQUIRED < 110000
 #define HAVE_VTB_REQUIREDLOWLATENCY __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000
 #define ENABLE_VCP_FOR_H264_BASELINE __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
+#define ENABLE_H264_HIGHPROFILE_AUTOLEVEL __MAC_OS_X_VERSION_MIN_REQUIRED >= 120000
 #endif
 
 #if !defined(ENABLE_VCP_ENCODER)
@@ -60,6 +61,14 @@
 #define ENABLE_VCP_FOR_H264_BASELINE 0
 #endif
 
+#if !defined(ENABLE_H264_HIGHPROFILE_AUTOLEVEL)
+#if defined(WEBRTC_ARCH_ARM64)
+#define ENABLE_H264_HIGHPROFILE_AUTOLEVEL 1
+#else
+#define ENABLE_H264_HIGHPROFILE_AUTOLEVEL 0
+#endif
+#endif
+
 #if !defined(ALWAYS_INLINE)
 #define ALWAYS_INLINE inline
 #endif

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm (285927 => 285928)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2021-11-17 14:50:52 UTC (rev 285927)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2021-11-17 14:52:21 UTC (rev 285928)
@@ -260,7 +260,7 @@
 
     case webrtc::H264Profile::kProfileConstrainedHigh:
     case webrtc::H264Profile::kProfileHigh:
-#if !defined(WEBRTC_ARCH_ARM64)
+#if !ENABLE_H264_HIGHPROFILE_AUTOLEVEL
       switch (profile_level_id.level) {
         case webrtc::H264Level::kLevel3:
           return kVTProfileLevel_H264_High_3_0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to