Title: [277176] trunk/Source/ThirdParty/libwebrtc
Revision
277176
Author
[email protected]
Date
2021-05-07 09:21:55 -0700 (Fri, 07 May 2021)

Log Message

Allow libwebrtc to build for Mac Catalyst
https://bugs.webkit.org/show_bug.cgi?id=225505

Reviewed by Youenn Fablet.

This is progress towards rdar://77568774

Changes necessary to get it to build and link were:
1. kCVPixelBufferOpenGLESCompatibilityKey is unavailable on Catalyst, so use kCVPixelBufferOpenGLCompatibilityKey like we do on macOS.
2. SSE4 and AVX seem to be unavailable in the Catalyst SDK like they are in the iOS simulator SDK, so disable them similarly.
3. Link to UIKit and CoreGraphics in debug builds like we do with iOS family builds.
4. Don't use @loader_path/../../../ for DYLIB_INSTALL_NAME_BASE like we do with relocatable Safari builds, similar to an ANGLE change I made in r276318
5. Export the same symbols as iOS for now.  This may need some tweaking when I get it to link with WebCore, but that's why this is only progress.

* Configurations/DebugRelease.xcconfig:
* Configurations/SDKVariant.xcconfig:
* Configurations/libvpx.xcconfig:
* Configurations/libwebrtc.xcconfig:
* Configurations/opus.xcconfig:
* Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(-[RTCVideoDecoderH264 resetDecompressionSession]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(-[RTCVideoDecoderH265 resetDecompressionSession]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm:
(-[RTCVideoEncoderH265 resetCompressionSession]):

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2021-05-07 16:21:55 UTC (rev 277176)
@@ -1,3 +1,38 @@
+2021-05-07  Alex Christensen  <[email protected]>
+
+        Allow libwebrtc to build for Mac Catalyst
+        https://bugs.webkit.org/show_bug.cgi?id=225505
+
+        Reviewed by Youenn Fablet.
+
+        This is progress towards rdar://77568774
+
+        Changes necessary to get it to build and link were:
+        1. kCVPixelBufferOpenGLESCompatibilityKey is unavailable on Catalyst, so use kCVPixelBufferOpenGLCompatibilityKey like we do on macOS.
+        2. SSE4 and AVX seem to be unavailable in the Catalyst SDK like they are in the iOS simulator SDK, so disable them similarly.
+        3. Link to UIKit and CoreGraphics in debug builds like we do with iOS family builds.
+        4. Don't use @loader_path/../../../ for DYLIB_INSTALL_NAME_BASE like we do with relocatable Safari builds, similar to an ANGLE change I made in r276318
+        5. Export the same symbols as iOS for now.  This may need some tweaking when I get it to link with WebCore, but that's why this is only progress.
+
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/SDKVariant.xcconfig:
+        * Configurations/libvpx.xcconfig:
+        * Configurations/libwebrtc.xcconfig:
+        * Configurations/opus.xcconfig:
+        * Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
+        * Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h:
+        * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
+        (-[RTCVideoDecoderH264 resetDecompressionSession]):
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
+        (-[RTCVideoDecoderH265 resetDecompressionSession]):
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
+        (-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
+        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm:
+        (-[RTCVideoEncoderH265 resetCompressionSession]):
+
 2021-05-05  Yury Semikhatsky  <[email protected]>
 
         [LibWebRTC][WPE][GTK] do not use system installed vpx headers when building webrtc

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig	2021-05-07 16:21:55 UTC (rev 277176)
@@ -67,3 +67,5 @@
 OTHER_LDFLAGS[config=Debug][sdk=iphone*] = $(inherited) -framework UIKit -framework CoreGraphics
 OTHER_LDFLAGS[config=Debug][sdk=tv*] = $(inherited) -framework UIKit -framework CoreGraphics
 OTHER_LDFLAGS[config=Debug][sdk=watch*] = $(inherited) -framework UIKit -framework CoreGraphics
+OTHER_LDFLAGS[config=Debug][sdk=macosx*] = $(inherited) $(OTHER_LDFLAGS_$(WK_IS_CATALYST))
+OTHER_LDFLAGS_YES = -framework UIKit -framework CoreGraphics

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig	2021-05-07 16:21:55 UTC (rev 277176)
@@ -37,6 +37,10 @@
 WK_ALTERNATE_PLATFORM_NAME_iosmac = maccatalyst;
 WK_USE_ALTERNATE_PLATFORM_NAME = $(WK_NOT_$(WK_EMPTY_$(WK_ALTERNATE_PLATFORM_NAME)));
 
+WK_CHECK_CATALYST = $(WK_CHECK_CATALYST_$(SDK_VARIANT));
+WK_CHECK_CATALYST_iosmac = YES;
+WK_IS_CATALYST = $(WK_NOT_$(WK_EMPTY_$(WK_CHECK_CATALYST)));
+
 WK_ALTERNATE_WEBKIT_SDK_PATH = $(WK_ALTERNATE_WEBKIT_SDK_PATH_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR));
 WK_ALTERNATE_WEBKIT_SDK_PATH_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/;
 

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig	2021-05-07 16:21:55 UTC (rev 277176)
@@ -14,11 +14,14 @@
 PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/libwebrtc;
 USE_HEADERMAP = NO;
 
-GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WK_DISABLE_HARDWARE_ACCELERATION;
+GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION;
+GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited) $(GCC_PREPROCESSOR_DEFINITIONS_$(WK_IS_CATALYST))
+GCC_PREPROCESSOR_DEFINITIONS_YES = WEBRTC_WEBKIT_MAC_CATALIST
 
 ARM_FILES = *_neon.c arm_cpudetect.c *_arm.c
 X86_FILES = *_sse2.c *_ssse3.c *_sse4.c *_avx2.c *_avx.c *.asm
 
-EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64] = $(ARM_FILES)
+EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64] = $(ARM_FILES) $(EXCLUDED_SOURCE_FILE_NAMES_$(WK_IS_CATALYST));
+EXCLUDED_SOURCE_FILE_NAMES_YES = *_sse4.c *_avx.c;
 EXCLUDED_SOURCE_FILE_NAMES[arch=arm64*] = $(X86_FILES) *_mmx.c
 EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*][arch=x86_64] = $(ARM_FILES) $(X86_FILES)

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig	2021-05-07 16:21:55 UTC (rev 277176)
@@ -25,7 +25,9 @@
 
 PRODUCT_NAME = libwebrtc;
 
-EXPORTED_SYMBOLS_FILE[sdk=macosx*] = Configurations/libwebrtc.mac.exp;
+EXPORTED_SYMBOLS_FILE[sdk=macosx*] = $(EXPORTED_SYMBOLS_FILE_$(WK_IS_CATALYST))
+EXPORTED_SYMBOLS_FILE_NO = Configurations/libwebrtc.mac.exp;
+EXPORTED_SYMBOLS_FILE_YES = Configurations/libwebrtc.iOS.exp;
 EXPORTED_SYMBOLS_FILE[sdk=iphoneos*] = Configurations/libwebrtc.iOS.exp;
 EXPORTED_SYMBOLS_FILE[sdk=iphonesimulator*] = Configurations/libwebrtc.iOSsim.exp;
 
@@ -36,7 +38,7 @@
 
 DYLIB_INSTALL_NAME_BASE[sdk=macosx*] = $(DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
 DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_$(WK_RELOCATABLE_FRAMEWORKS));
-DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = @loader_path/../../../;
+DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(DYLIB_INSTALL_NAME_BASE);
 DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_ = $(DYLIB_INSTALL_NAME_BASE);
 DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_YES = @loader_path/../../../;
 
@@ -51,7 +53,8 @@
 // FIXME: Set WEBRTC_USE_BUILTIN_ISAC_FIX and WEBRTC_USE_BUILTIN_ISAC_FLOAT for iOS and Mac
 GCC_PREPROCESSOR_DEFINITIONS = GTEST_RELATIVE_PATH WEBRTC_OPUS_SUPPORT_120MS_PTIME=0 WEBRTC_POSIX WEBRTC_MAC SSL_USE_OPENSSL FEATURE_ENABLE_SSL HAVE_SRTP HAVE_NETINET_IN_H HAVE_OPENSSL_SSL_H SCTP_PROCESS_LEVEL_LOCKS SCTP_SIMPLE_ALLOCATOR SCTP_USE_OPENSSL_SHA1 __Userspace__ HAVE_SA_LEN HAVE_SCONN_LEN __APPLE_USE_RFC_2292 __Userspace_os_Darwin NON_WINDOWS_DEFINE HAVE_WEBRTC_VIDEO HAVE_WEBRTC_VOICE WEBRTC_INTELLIGIBILITY_ENHANCER=0 WEBRTC_APM_DEBUG_DUMP=0 WEBRTC_NS_FLOAT WEBRTC_USE_BUILTIN_OPUS WEBRTC_CODEC_OPUS WEBRTC_CODEC_ISAC WEBRTC_CODEC_RED HAVE_STDINT_H HAVE_STDLIB_H HAVE_UINT64_T OPENSSL HAVE_CONFIG_H WEBRTC_WEBKIT_BUILD HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE  HAVE_SCTP WEBRTC_CODEC_G711 WEBRTC_CODEC_G722 WEBRTC_OPUS_VARIABLE_COMPLEXITY=0 WEBRTC_USE_BUILTIN_ISAC_FIX=1 WEBRTC_USE_BUILTIN_ISAC_FLOAT=0 USE_BUILTIN_SW_CODECS WEBRTC_WEBKIT_BUILD RTC_ENABLE_VP9 NO_MAIN_THREAD_WRAPPING RTC_DISABLE_TRACE_EVENTS $(inherited);
 
-GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited) WEBRTC_USE_VTB_HARDWARE_ENCODER;
+GCC_PREPROCESSOR_DEFINITIONS[sdk=macosx*] = $(inherited) WEBRTC_USE_VTB_HARDWARE_ENCODER $(GCC_PREPROCESSOR_DEFINITIONS_$(WK_IS_CATALYST));
+GCC_PREPROCESSOR_DEFINITIONS_YES = WEBRTC_MAC_CATALYST WEBRTC_IOS;
 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*] = $(inherited) WEBRTC_IOS;
 GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS;
 

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig	2021-05-07 16:21:55 UTC (rev 277176)
@@ -18,7 +18,10 @@
 GCC_PREPROCESSOR_DEFINITIONS[arch=x86_64] = $(inherited) OPUS_X86_MAY_HAVE_SSE2 OPUS_X86_PRESUME_SSE2 $(SSE4_FLAG);
 
 EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*] = *_sse.c *_sse4_1.c x86_silk_map.c;
+EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(WK_IS_CATALYST));
+EXCLUDED_SOURCE_FILE_NAMES_YES = *_sse4_1.c x86_silk_map.c;
 EXCLUDED_SOURCE_FILE_NAMES[arch=arm64*] = *_sse.c *_sse2.c *_sse4_1.c x86_silk_map.c;
 
-// The iOS Simulator can't use SSE4 intrinsics, but macOS can.
-SSE4_FLAG[sdk=macosx*] = OPUS_X86_MAY_HAVE_SSE4_1;
+// The iOS Simulator and Catalyst can't use SSE4 intrinsics, but macOS can.
+SSE4_FLAG[sdk=macosx*] = $(SSE4_FLAG_$(WK_IS_CATALYST))
+SSE4_FLAG_NO = OPUS_X86_MAY_HAVE_SSE4_1;

Modified: trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h	2021-05-07 16:21:55 UTC (rev 277176)
@@ -1,4 +1,4 @@
-#if WK_DISABLE_HARDWARE_ACCELERATION
+#if WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #include "vp8_rtcd_no_acceleration.h"
 #else
 
@@ -655,11 +655,15 @@
   vp8_full_search_sad = vp8_full_search_sad_c;
   if (flags & HAS_SSE3)
     vp8_full_search_sad = vp8_full_search_sadx3;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vp8_full_search_sad = vp8_full_search_sadx8;
+#endif
   vp8_regular_quantize_b = vp8_regular_quantize_b_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vp8_regular_quantize_b = vp8_regular_quantize_b_sse4_1;
+#endif
   vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_sse2;
   if (flags & HAS_SSSE3)
     vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_ssse3;
@@ -681,4 +685,4 @@
 
 #endif
 
-#endif // WK_DISABLE_HARDWARE_ACCELERATION
+#endif // WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION

Modified: trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h	2021-05-07 16:21:55 UTC (rev 277176)
@@ -79,7 +79,7 @@
                              int increase_denoising,
                              BLOCK_SIZE bs,
                              int motion_magnitude);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_denoiser_filter vp9_denoiser_filter_c
 #else
 #define vp9_denoiser_filter vp9_denoiser_filter_sse2
@@ -122,7 +122,7 @@
                        tran_low_t* output,
                        int stride,
                        int tx_type);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_fht16x16 vp9_fht16x16_c
 #else
 #define vp9_fht16x16 vp9_fht16x16_sse2
@@ -136,7 +136,7 @@
                      tran_low_t* output,
                      int stride,
                      int tx_type);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_fht4x4 vp9_fht4x4_c
 #else
 #define vp9_fht4x4 vp9_fht4x4_sse2
@@ -150,7 +150,7 @@
                      tran_low_t* output,
                      int stride,
                      int tx_type);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_fht8x8 vp9_fht8x8_c
 #else
 #define vp9_fht8x8 vp9_fht8x8_sse2
@@ -166,7 +166,7 @@
                                     uint8_t* dst,
                                     int dst_stride,
                                     int src_weight);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
 #else
 #define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_sse2
@@ -182,7 +182,7 @@
                                   uint8_t* dst,
                                   int dst_stride,
                                   int src_weight);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
 #else
 #define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_sse2
@@ -190,7 +190,7 @@
 
 void vp9_fwht4x4_c(const int16_t* input, tran_low_t* output, int stride);
 void vp9_fwht4x4_sse2(const int16_t* input, tran_low_t* output, int stride);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_fwht4x4 vp9_fwht4x4_c
 #else
 #define vp9_fwht4x4 vp9_fwht4x4_sse2
@@ -206,7 +206,7 @@
                                     intptr_t block_size,
                                     int64_t* ssz,
                                     int bd);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_highbd_block_error vp9_highbd_block_error_c
 #else
 #define vp9_highbd_block_error vp9_highbd_block_error_sse2
@@ -351,7 +351,7 @@
                                uint8_t* dest,
                                int stride,
                                int tx_type);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
 #else
 #define vp9_iht16x16_256_add vp9_iht16x16_256_add_sse2
@@ -365,7 +365,7 @@
                             uint8_t* dest,
                             int stride,
                             int tx_type);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_iht4x4_16_add vp9_iht4x4_16_add_c
 #else
 #define vp9_iht4x4_16_add vp9_iht4x4_16_add_sse2
@@ -379,7 +379,7 @@
                             uint8_t* dest,
                             int stride,
                             int tx_type);
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #define vp9_iht8x8_64_add vp9_iht8x8_64_add_c
 #else
 #define vp9_iht8x8_64_add vp9_iht8x8_64_add_sse2
@@ -507,7 +507,7 @@
 
   (void)flags;
 
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
   vp9_block_error = vp9_block_error_c;
   vp9_block_error_fp = vp9_block_error_fp_c;
 #else
@@ -515,26 +515,26 @@
   vp9_block_error_fp = vp9_block_error_fp_sse2;
 #endif
   vp9_diamond_search_sad = vp9_diamond_search_sad_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#if !defined(WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION) && !defined(WEBRTC_WEBKIT_MAC_CATALIST)
   if (flags & HAS_AVX)
     vp9_diamond_search_sad = vp9_diamond_search_sad_avx;
 #endif
   vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#if !defined(WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION) && !defined(WEBRTC_WEBKIT_MAC_CATALIST)
   if (flags & HAS_SSE4_1)
     vp9_highbd_iht16x16_256_add = vp9_highbd_iht16x16_256_add_sse4_1;
 #endif
   vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#if !defined(WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION) && !defined(WEBRTC_WEBKIT_MAC_CATALIST)
   if (flags & HAS_SSE4_1)
     vp9_highbd_iht4x4_16_add = vp9_highbd_iht4x4_16_add_sse4_1;
 #endif
   vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#if !defined(WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION) && !defined(WEBRTC_WEBKIT_MAC_CATALIST)
   if (flags & HAS_SSE4_1)
     vp9_highbd_iht8x8_64_add = vp9_highbd_iht8x8_64_add_sse4_1;
 #endif
-#ifdef WK_DISABLE_HARDWARE_ACCELERATION
+#ifdef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
   vp9_quantize_fp = vp9_quantize_fp_c;
 #else
   vp9_quantize_fp = vp9_quantize_fp_sse2;
@@ -542,22 +542,22 @@
     vp9_quantize_fp = vp9_quantize_fp_ssse3;
 #endif
   vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#ifndef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
   if (flags & HAS_SSSE3)
     vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_ssse3;
 #endif
   vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#ifndef WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
   if (flags & HAS_SSSE3)
     vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_ssse3;
 #endif
   vp9_apply_temporal_filter = vp9_apply_temporal_filter_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#if !defined(WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION) && !defined(WEBRTC_WEBKIT_MAC_CATALIST)
   if (flags & HAS_SSE4_1)
     vp9_apply_temporal_filter = vp9_apply_temporal_filter_sse4_1;
 #endif
   vp9_highbd_apply_temporal_filter = vp9_highbd_apply_temporal_filter_c;
-#ifndef WK_DISABLE_HARDWARE_ACCELERATION
+#if !defined(WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION) && !defined(WEBRTC_WEBKIT_MAC_CATALIST)
   if (flags & HAS_SSE4_1)
     vp9_highbd_apply_temporal_filter = vp9_highbd_apply_temporal_filter_sse4_1;
 #endif

Modified: trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h	2021-05-07 16:21:55 UTC (rev 277176)
@@ -1,4 +1,4 @@
-#if WK_DISABLE_HARDWARE_ACCELERATION
+#if WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION
 #include "vpx_dsp_rtcd_no_acceleration.h"
 #else
 
@@ -7812,32 +7812,50 @@
   vpx_highbd_hadamard_32x32 = vpx_highbd_hadamard_32x32_c;
   vpx_highbd_hadamard_8x8 = vpx_highbd_hadamard_8x8_c;
   vpx_highbd_idct16x16_10_add = vpx_highbd_idct16x16_10_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct16x16_10_add = vpx_highbd_idct16x16_10_add_sse4_1;
+#endif
   vpx_highbd_idct16x16_256_add = vpx_highbd_idct16x16_256_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct16x16_256_add = vpx_highbd_idct16x16_256_add_sse4_1;
+#endif
   vpx_highbd_idct16x16_38_add = vpx_highbd_idct16x16_38_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct16x16_38_add = vpx_highbd_idct16x16_38_add_sse4_1;
+#endif
   vpx_highbd_idct32x32_1024_add = vpx_highbd_idct32x32_1024_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct32x32_1024_add = vpx_highbd_idct32x32_1024_add_sse4_1;
+#endif
   vpx_highbd_idct32x32_135_add = vpx_highbd_idct32x32_135_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct32x32_135_add = vpx_highbd_idct32x32_135_add_sse4_1;
+#endif
   vpx_highbd_idct32x32_34_add = vpx_highbd_idct32x32_34_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct32x32_34_add = vpx_highbd_idct32x32_34_add_sse4_1;
+#endif
   vpx_highbd_idct4x4_16_add = vpx_highbd_idct4x4_16_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct4x4_16_add = vpx_highbd_idct4x4_16_add_sse4_1;
+#endif
   vpx_highbd_idct8x8_12_add = vpx_highbd_idct8x8_12_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct8x8_12_add = vpx_highbd_idct8x8_12_add_sse4_1;
+#endif
   vpx_highbd_idct8x8_64_add = vpx_highbd_idct8x8_64_add_sse2;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_highbd_idct8x8_64_add = vpx_highbd_idct8x8_64_add_sse4_1;
+#endif
   vpx_highbd_satd = vpx_highbd_satd_c;
   vpx_idct32x32_135_add = vpx_idct32x32_135_add_sse2;
   if (flags & HAS_SSSE3)
@@ -7864,8 +7882,10 @@
   if (flags & HAS_SSSE3)
     vpx_sad16x16x3 = vpx_sad16x16x3_ssse3;
   vpx_sad16x16x8 = vpx_sad16x16x8_c;
+#ifndef WEBRTC_WEBKIT_MAC_CATALIST
   if (flags & HAS_SSE4_1)
     vpx_sad16x16x8 = vpx_sad16x16x8_sse4_1;
+#endif
   vpx_sad16x8x3 = vpx_sad16x8x3_c;
   if (flags & HAS_SSE3)
     vpx_sad16x8x3 = vpx_sad16x8x3_sse3;
@@ -8004,4 +8024,4 @@
 
 #endif
 
-#endif // WK_DISABLE_HARDWARE_ACCELERATION
+#endif // WEBRTC_WEBKIT_DISABLE_HARDWARE_ACCELERATION

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm	2021-05-07 16:21:55 UTC (rev 277176)
@@ -208,10 +208,10 @@
   // we can pass CVPixelBuffers as native handles in decoder output.
   static size_t const attributesSize = 3;
   CFTypeRef keys[attributesSize] = {
-#if defined(WEBRTC_IOS)
+#if defined(WEBRTC_MAC) || defined(WEBRTC_MAC_CATALYST)
+    kCVPixelBufferOpenGLCompatibilityKey,
+#elif defined(WEBRTC_IOS)
     kCVPixelBufferOpenGLESCompatibilityKey,
-#elif defined(WEBRTC_MAC)
-    kCVPixelBufferOpenGLCompatibilityKey,
 #endif
     kCVPixelBufferIOSurfacePropertiesKey,
     kCVPixelBufferPixelFormatTypeKey

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm	2021-05-07 16:21:55 UTC (rev 277176)
@@ -205,10 +205,10 @@
   // we can pass CVPixelBuffers as native handles in decoder output.
   static size_t const attributesSize = 3;
   CFTypeRef keys[attributesSize] = {
-#if defined(WEBRTC_IOS)
+#if defined(WEBRTC_MAC) || defined(WEBRTC_MAC_CATALYST)
+    kCVPixelBufferOpenGLCompatibilityKey,
+#elif defined(WEBRTC_IOS)
     kCVPixelBufferOpenGLESCompatibilityKey,
-#elif defined(WEBRTC_MAC)
-    kCVPixelBufferOpenGLCompatibilityKey,
 #endif
     kCVPixelBufferIOSurfacePropertiesKey,
     kCVPixelBufferPixelFormatTypeKey

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm	2021-05-07 16:21:55 UTC (rev 277176)
@@ -305,10 +305,10 @@
   // we can pass CVPixelBuffers as native handles in decoder output.
   static size_t const attributesSize = 3;
   CFTypeRef keys[attributesSize] = {
-#if defined(WEBRTC_IOS)
+#if defined(WEBRTC_MAC) || defined(WEBRTC_MAC_CATALYST)
+    kCVPixelBufferOpenGLCompatibilityKey,
+#elif defined(WEBRTC_IOS)
     kCVPixelBufferOpenGLESCompatibilityKey,
-#elif defined(WEBRTC_MAC)
-    kCVPixelBufferOpenGLCompatibilityKey,
 #endif
     kCVPixelBufferIOSurfacePropertiesKey,
     kCVPixelBufferPixelFormatTypeKey

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


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2021-05-07 16:21:55 UTC (rev 277176)
@@ -658,10 +658,10 @@
   // buffers retrieved from the encoder's pixel buffer pool.
   const size_t attributesSize = 3;
   CFTypeRef keys[attributesSize] = {
-#if defined(WEBRTC_IOS)
+#if defined(WEBRTC_MAC) || defined(WEBRTC_MAC_CATALYST)
+    kCVPixelBufferOpenGLCompatibilityKey,
+#elif defined(WEBRTC_IOS)
     kCVPixelBufferOpenGLESCompatibilityKey,
-#elif defined(WEBRTC_MAC)
-    kCVPixelBufferOpenGLCompatibilityKey,
 #endif
     kCVPixelBufferIOSurfacePropertiesKey,
     kCVPixelBufferPixelFormatTypeKey

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm (277175 => 277176)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm	2021-05-07 15:51:36 UTC (rev 277175)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm	2021-05-07 16:21:55 UTC (rev 277176)
@@ -364,10 +364,10 @@
   // buffers retrieved from the encoder's pixel buffer pool.
   const size_t attributesSize = 3;
   CFTypeRef keys[attributesSize] = {
-#if defined(WEBRTC_IOS)
+#if defined(WEBRTC_MAC) || defined(WEBRTC_MAC_CATALYST)
+    kCVPixelBufferOpenGLCompatibilityKey,
+#elif defined(WEBRTC_IOS)
     kCVPixelBufferOpenGLESCompatibilityKey,
-#elif defined(WEBRTC_MAC)
-    kCVPixelBufferOpenGLCompatibilityKey,
 #endif
     kCVPixelBufferIOSurfacePropertiesKey,
     kCVPixelBufferPixelFormatTypeKey
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to