From a0a3566977428870b149351686fefd93ab0bd212 Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 16:51:32 -0600
Subject: [PATCH 01/13] externals: update opus to 1.4

---
 externals/opus/CMakeLists.txt | 18 +++++++++---------
 externals/opus/opus           |  2 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/externals/opus/CMakeLists.txt b/externals/opus/CMakeLists.txt
index d9a03423d4..574e2e44b8 100644
--- a/externals/opus/CMakeLists.txt
+++ b/externals/opus/CMakeLists.txt
@@ -11,16 +11,16 @@ option(OPUS_CUSTOM_MODES "Enable non-Opus modes, e.g. 44.1 kHz & 2^n frames" OFF
 option(OPUS_FIXED_POINT "Compile as fixed-point (for machines without a fast enough FPU)" OFF)
 option(OPUS_ENABLE_FLOAT_API "Compile with the floating point API (for machines with float library" ON)
 
-include(opus/opus_functions.cmake)
+include(opus/cmake/OpusFunctions.cmake)
 
 if(OPUS_STACK_PROTECTOR)
-    if(NOT MSVC) # GC on by default on MSVC
-        check_and_set_flag(STACK_PROTECTION_STRONG -fstack-protector-strong)
-    endif()
-else()
-    if(MSVC)
-        check_and_set_flag(BUFFER_SECURITY_CHECK /GS-)
-    endif()
+  if(MSVC)
+    target_compile_options(opus PRIVATE /GS)
+  else()
+    target_compile_options(opus PRIVATE -fstack-protector-strong)
+  endif()
+elseif(STACK_PROTECTOR_DISABLED_SUPPORTED)
+  target_compile_options(opus PRIVATE /GS-)
 endif()
 
 add_library(opus
@@ -233,7 +233,7 @@ endif()
 
 target_compile_definitions(opus
 PUBLIC
-    -DOPUS_VERSION="\\"1.3.1\\""
+    -DOPUS_VERSION="\\"1.4.0\\""
 
 PRIVATE
     # Use C99 intrinsics to speed up float-to-int conversion
diff --git a/externals/opus/opus b/externals/opus/opus
index ad8fe90db7..82ac57d9f1 160000
--- a/externals/opus/opus
+++ b/externals/opus/opus
@@ -1 +1 @@
-Subproject commit ad8fe90db79b7d2a135e3dfd2ed6631b0c5662ab
+Subproject commit 82ac57d9f1aaf575800cf17373348e45b7ce6c0d

From e03f86cc54d3ff293a10192e2194158ccc874b2d Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 16:52:03 -0600
Subject: [PATCH 02/13] externals: update inih to r57

---
 externals/inih/inih | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/inih/inih b/externals/inih/inih
index 1e80a47dff..9cecf0643d 160000
--- a/externals/inih/inih
+++ b/externals/inih/inih
@@ -1 +1 @@
-Subproject commit 1e80a47dffbda813604f0913e2ad68c7054c14e4
+Subproject commit 9cecf0643da0846e77f64d10a126d9f48b9e05e8

From 633d869ff43b5747a99c23c96aaa4cb96b57f04e Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 16:52:23 -0600
Subject: [PATCH 03/13] externals: update libusb to 1.0.26

---
 externals/libusb/libusb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/libusb/libusb b/externals/libusb/libusb
index c6a35c5601..4239bc3a50 160000
--- a/externals/libusb/libusb
+++ b/externals/libusb/libusb
@@ -1 +1 @@
-Subproject commit c6a35c56016ea2ab2f19115d2ea1e85e0edae155
+Subproject commit 4239bc3a50014b8e6a5a2a59df1fff3b7469543b

From c73297e8408e0df79cb5b9b49b1ea5b01a58c97c Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 16:53:28 -0600
Subject: [PATCH 04/13] externals: update cpp-httplib to 0.14.1

---
 externals/cpp-httplib | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/cpp-httplib b/externals/cpp-httplib
index 6d963fbe8d..a609330e4c 160000
--- a/externals/cpp-httplib
+++ b/externals/cpp-httplib
@@ -1 +1 @@
-Subproject commit 6d963fbe8d415399d65e94db7910bbd22fe3741c
+Subproject commit a609330e4c6374f741d3b369269f7848255e1954

From 0460fbacc927f0fb3048b89367aa15d8ed16ccaa Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 16:54:53 -0600
Subject: [PATCH 05/13] externals: update cpp-jwt to
 10ef5735d842b31025f1257ae78899f50a40fb14

---
 externals/cpp-jwt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/cpp-jwt b/externals/cpp-jwt
index e12ef06218..10ef5735d8 160000
--- a/externals/cpp-jwt
+++ b/externals/cpp-jwt
@@ -1 +1 @@
-Subproject commit e12ef06218596b52d9b5d6e1639484866a8e7067
+Subproject commit 10ef5735d842b31025f1257ae78899f50a40fb14

From 9eb70aea1de72dfb93b47da17ded12346f13327f Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 16:56:58 -0600
Subject: [PATCH 06/13] externals: update SDL to 2.28.4

---
 externals/SDL | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/SDL b/externals/SDL
index 031912c4b6..cc016b0046 160000
--- a/externals/SDL
+++ b/externals/SDL
@@ -1 +1 @@
-Subproject commit 031912c4b6c5db80b443f04aa56fec3e4e645153
+Subproject commit cc016b0046d563287f0aa9f09b958b5e70d43696

From 48e82c41388c1c42d798a39e5dbb4da07d106d96 Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 17:00:29 -0600
Subject: [PATCH 07/13] externals: update vcpkg to
 ef2eef17340f3fbd679327d286fad06dd6e838ed

---
 externals/vcpkg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/vcpkg b/externals/vcpkg
index cbf56573a9..ef2eef1734 160000
--- a/externals/vcpkg
+++ b/externals/vcpkg
@@ -1 +1 @@
-Subproject commit cbf56573a987527b39272e88cbdd11389b78c6e4
+Subproject commit ef2eef17340f3fbd679327d286fad06dd6e838ed

From 3558b236cdf0fedf36721560a299854dea198d66 Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 17:01:39 -0600
Subject: [PATCH 08/13] externals: update ffmpeg to
 9c1294eaddb88cb0e044c675ccae059a85fc9c6c

... to fix build with binutils 2.41+
---
 externals/ffmpeg/ffmpeg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/ffmpeg/ffmpeg b/externals/ffmpeg/ffmpeg
index 6b6b9e593d..9c1294eadd 160000
--- a/externals/ffmpeg/ffmpeg
+++ b/externals/ffmpeg/ffmpeg
@@ -1 +1 @@
-Subproject commit 6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb
+Subproject commit 9c1294eaddb88cb0e044c675ccae059a85fc9c6c

From 6cbd4020e8ec0862c0c7803bc22551034fb56c8e Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 17:36:15 -0600
Subject: [PATCH 09/13] externals: update Vulkan-Headers to 1.3.265

---
 externals/Vulkan-Headers | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/Vulkan-Headers b/externals/Vulkan-Headers
index ed857118e2..df60f03168 160000
--- a/externals/Vulkan-Headers
+++ b/externals/Vulkan-Headers
@@ -1 +1 @@
-Subproject commit ed857118e243fdc0f3a100f00ac9919e874cfe63
+Subproject commit df60f0316899460eeaaefa06d2dd7e4e300c1604

From fd9e1571840fa80d7e8cd5e85060749f6b54428a Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Mon, 9 Oct 2023 17:38:32 -0600
Subject: [PATCH 10/13] externals: update VulkanMemoryAllocator to
 2f382df218d7e8516dee3b3caccb819a62b571a2

---
 externals/VulkanMemoryAllocator | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/VulkanMemoryAllocator b/externals/VulkanMemoryAllocator
index 9b0fc3e7b0..2f382df218 160000
--- a/externals/VulkanMemoryAllocator
+++ b/externals/VulkanMemoryAllocator
@@ -1 +1 @@
-Subproject commit 9b0fc3e7b02afe97895eb3e945fe800c3a7485ac
+Subproject commit 2f382df218d7e8516dee3b3caccb819a62b571a2

From a49b146ccc90b96c024fe18953f08a936cf25f1a Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Tue, 10 Oct 2023 01:15:27 -0600
Subject: [PATCH 11/13] externals: update libusb to
 c060e9ce30ac2e3ffb49d94209c4dae77b6642f7 ...

... this fixes an issue when compiling with newer MSVC
---
 externals/libusb/libusb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/externals/libusb/libusb b/externals/libusb/libusb
index 4239bc3a50..c060e9ce30 160000
--- a/externals/libusb/libusb
+++ b/externals/libusb/libusb
@@ -1 +1 @@
-Subproject commit 4239bc3a50014b8e6a5a2a59df1fff3b7469543b
+Subproject commit c060e9ce30ac2e3ffb49d94209c4dae77b6642f7

From d6bd16b2c0ada1d08649b24598f4fd4b8fd65423 Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Sat, 21 Oct 2023 13:58:58 -0600
Subject: [PATCH 12/13] externals/libusb: remove the GUID override workaround
 ...

... on Windows MSVC, it seems to have been fixed
---
 externals/libusb/CMakeLists.txt | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/externals/libusb/CMakeLists.txt b/externals/libusb/CMakeLists.txt
index 6757b59da5..1d50c9f8c8 100644
--- a/externals/libusb/CMakeLists.txt
+++ b/externals/libusb/CMakeLists.txt
@@ -49,11 +49,6 @@ if (MINGW OR (${CMAKE_SYSTEM_NAME} MATCHES "Linux") OR APPLE)
 
     set(LIBUSB_INCLUDE_DIRS "${LIBUSB_SRC_DIR}/libusb" CACHE PATH "libusb headers path" FORCE)
 
-    # MINGW: causes "externals/libusb/libusb/libusb/os/windows_winusb.c:1427:2: error: conversion to non-scalar type requested", so cannot statically link it for now.
-    if (NOT MINGW)
-        set(LIBUSB_CFLAGS "-DGUID_DEVINTERFACE_USB_DEVICE=\\(GUID\\){0xA5DCBF10,0x6530,0x11D2,{0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED}}")
-    endif()
-
     make_directory("${LIBUSB_PREFIX}")
 
     add_custom_command(
@@ -146,8 +141,6 @@ else() # MINGW OR (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
             target_include_directories(usb BEFORE PRIVATE libusb/msvc)
         endif()
 
-        # Works around other libraries providing their own definition of USB GUIDs (e.g. SDL2)
-        target_compile_definitions(usb PRIVATE "-DGUID_DEVINTERFACE_USB_DEVICE=(GUID){ 0xA5DCBF10, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}}")
     else()
         target_include_directories(usb
             # turns out other projects also have "config.h", so make sure the

From a065dcdcd92a9edbf37436199b0f3d062fc972bc Mon Sep 17 00:00:00 2001
From: liushuyu <liushuyu011@gmail.com>
Date: Sun, 22 Oct 2023 14:16:08 -0600
Subject: [PATCH 13/13] externals/opus: use CMakeLists shipped with Opus itself

---
 .gitmodules                   |   2 +-
 externals/CMakeLists.txt      |   4 +
 externals/opus                |   1 +
 externals/opus/CMakeLists.txt | 259 ----------------------------------
 externals/opus/opus           |   1 -
 5 files changed, 6 insertions(+), 261 deletions(-)
 create mode 160000 externals/opus
 delete mode 100644 externals/opus/CMakeLists.txt
 delete mode 160000 externals/opus/opus

diff --git a/.gitmodules b/.gitmodules
index 361f4845bb..3e5b685218 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -32,7 +32,7 @@
 	path = externals/xbyak
 	url = https://github.com/herumi/xbyak.git
 [submodule "opus"]
-	path = externals/opus/opus
+	path = externals/opus
 	url = https://github.com/xiph/opus.git
 [submodule "SDL"]
 	path = externals/SDL
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index b1fd3ac62c..d46fc5bbcd 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -134,6 +134,10 @@ endif()
 
 # Opus
 if (NOT TARGET Opus::opus)
+    set(OPUS_BUILD_TESTING OFF)
+    set(OPUS_BUILD_PROGRAMS OFF)
+    set(OPUS_INSTALL_PKG_CONFIG_MODULE OFF)
+    set(OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF)
     add_subdirectory(opus)
 endif()
 
diff --git a/externals/opus b/externals/opus
new file mode 160000
index 0000000000..101a71e03b
--- /dev/null
+++ b/externals/opus
@@ -0,0 +1 @@
+Subproject commit 101a71e03bbf860aaafb7090a0e440675cb27660
diff --git a/externals/opus/CMakeLists.txt b/externals/opus/CMakeLists.txt
deleted file mode 100644
index 574e2e44b8..0000000000
--- a/externals/opus/CMakeLists.txt
+++ /dev/null
@@ -1,259 +0,0 @@
-# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-cmake_minimum_required(VERSION 3.8)
-
-project(opus)
-
-option(OPUS_STACK_PROTECTOR "Use stack protection" OFF)
-option(OPUS_USE_ALLOCA "Use alloca for stack arrays (on non-C99 compilers)" OFF)
-option(OPUS_CUSTOM_MODES "Enable non-Opus modes, e.g. 44.1 kHz & 2^n frames" OFF)
-option(OPUS_FIXED_POINT "Compile as fixed-point (for machines without a fast enough FPU)" OFF)
-option(OPUS_ENABLE_FLOAT_API "Compile with the floating point API (for machines with float library" ON)
-
-include(opus/cmake/OpusFunctions.cmake)
-
-if(OPUS_STACK_PROTECTOR)
-  if(MSVC)
-    target_compile_options(opus PRIVATE /GS)
-  else()
-    target_compile_options(opus PRIVATE -fstack-protector-strong)
-  endif()
-elseif(STACK_PROTECTOR_DISABLED_SUPPORTED)
-  target_compile_options(opus PRIVATE /GS-)
-endif()
-
-add_library(opus
-    # CELT sources
-    opus/celt/bands.c
-    opus/celt/celt.c
-    opus/celt/celt_decoder.c
-    opus/celt/celt_encoder.c
-    opus/celt/celt_lpc.c
-    opus/celt/cwrs.c
-    opus/celt/entcode.c
-    opus/celt/entdec.c
-    opus/celt/entenc.c
-    opus/celt/kiss_fft.c
-    opus/celt/laplace.c
-    opus/celt/mathops.c
-    opus/celt/mdct.c
-    opus/celt/modes.c
-    opus/celt/pitch.c
-    opus/celt/quant_bands.c
-    opus/celt/rate.c
-    opus/celt/vq.c
-
-    # SILK sources
-    opus/silk/A2NLSF.c
-    opus/silk/CNG.c
-    opus/silk/HP_variable_cutoff.c
-    opus/silk/LPC_analysis_filter.c
-    opus/silk/LPC_fit.c
-    opus/silk/LPC_inv_pred_gain.c
-    opus/silk/LP_variable_cutoff.c
-    opus/silk/NLSF2A.c
-    opus/silk/NLSF_VQ.c
-    opus/silk/NLSF_VQ_weights_laroia.c
-    opus/silk/NLSF_decode.c
-    opus/silk/NLSF_del_dec_quant.c
-    opus/silk/NLSF_encode.c
-    opus/silk/NLSF_stabilize.c
-    opus/silk/NLSF_unpack.c
-    opus/silk/NSQ.c
-    opus/silk/NSQ_del_dec.c
-    opus/silk/PLC.c
-    opus/silk/VAD.c
-    opus/silk/VQ_WMat_EC.c
-    opus/silk/ana_filt_bank_1.c
-    opus/silk/biquad_alt.c
-    opus/silk/bwexpander.c
-    opus/silk/bwexpander_32.c
-    opus/silk/check_control_input.c
-    opus/silk/code_signs.c
-    opus/silk/control_SNR.c
-    opus/silk/control_audio_bandwidth.c
-    opus/silk/control_codec.c
-    opus/silk/dec_API.c
-    opus/silk/decode_core.c
-    opus/silk/decode_frame.c
-    opus/silk/decode_indices.c
-    opus/silk/decode_parameters.c
-    opus/silk/decode_pitch.c
-    opus/silk/decode_pulses.c
-    opus/silk/decoder_set_fs.c
-    opus/silk/enc_API.c
-    opus/silk/encode_indices.c
-    opus/silk/encode_pulses.c
-    opus/silk/gain_quant.c
-    opus/silk/init_decoder.c
-    opus/silk/init_encoder.c
-    opus/silk/inner_prod_aligned.c
-    opus/silk/interpolate.c
-    opus/silk/lin2log.c
-    opus/silk/log2lin.c
-    opus/silk/pitch_est_tables.c
-    opus/silk/process_NLSFs.c
-    opus/silk/quant_LTP_gains.c
-    opus/silk/resampler.c
-    opus/silk/resampler_down2.c
-    opus/silk/resampler_down2_3.c
-    opus/silk/resampler_private_AR2.c
-    opus/silk/resampler_private_IIR_FIR.c
-    opus/silk/resampler_private_down_FIR.c
-    opus/silk/resampler_private_up2_HQ.c
-    opus/silk/resampler_rom.c
-    opus/silk/shell_coder.c
-    opus/silk/sigm_Q15.c
-    opus/silk/sort.c
-    opus/silk/stereo_LR_to_MS.c
-    opus/silk/stereo_MS_to_LR.c
-    opus/silk/stereo_decode_pred.c
-    opus/silk/stereo_encode_pred.c
-    opus/silk/stereo_find_predictor.c
-    opus/silk/stereo_quant_pred.c
-    opus/silk/sum_sqr_shift.c
-    opus/silk/table_LSF_cos.c
-    opus/silk/tables_LTP.c
-    opus/silk/tables_NLSF_CB_NB_MB.c
-    opus/silk/tables_NLSF_CB_WB.c
-    opus/silk/tables_gain.c
-    opus/silk/tables_other.c
-    opus/silk/tables_pitch_lag.c
-    opus/silk/tables_pulses_per_block.c
-
-    # Opus sources
-    opus/src/analysis.c
-    opus/src/mapping_matrix.c
-    opus/src/mlp.c
-    opus/src/mlp_data.c
-    opus/src/opus.c
-    opus/src/opus_decoder.c
-    opus/src/opus_encoder.c
-    opus/src/opus_multistream.c
-    opus/src/opus_multistream_decoder.c
-    opus/src/opus_multistream_encoder.c
-    opus/src/opus_projection_decoder.c
-    opus/src/opus_projection_encoder.c
-    opus/src/repacketizer.c
-)
-
-if (DEBUG)
-    target_sources(opus PRIVATE opus/silk/debug.c)
-endif()
-
-if (OPUS_FIXED_POINT)
-    target_sources(opus PRIVATE
-        opus/silk/fixed/LTP_analysis_filter_FIX.c
-        opus/silk/fixed/LTP_scale_ctrl_FIX.c
-        opus/silk/fixed/apply_sine_window_FIX.c
-        opus/silk/fixed/autocorr_FIX.c
-        opus/silk/fixed/burg_modified_FIX.c
-        opus/silk/fixed/corrMatrix_FIX.c
-        opus/silk/fixed/encode_frame_FIX.c
-        opus/silk/fixed/find_LPC_FIX.c
-        opus/silk/fixed/find_LTP_FIX.c
-        opus/silk/fixed/find_pitch_lags_FIX.c
-        opus/silk/fixed/find_pred_coefs_FIX.c
-        opus/silk/fixed/k2a_FIX.c
-        opus/silk/fixed/k2a_Q16_FIX.c
-        opus/silk/fixed/noise_shape_analysis_FIX.c
-        opus/silk/fixed/pitch_analysis_core_FIX.c
-        opus/silk/fixed/prefilter_FIX.c
-        opus/silk/fixed/process_gains_FIX.c
-        opus/silk/fixed/regularize_correlations_FIX.c
-        opus/silk/fixed/residual_energy16_FIX.c
-        opus/silk/fixed/residual_energy_FIX.c
-        opus/silk/fixed/schur64_FIX.c
-        opus/silk/fixed/schur_FIX.c
-        opus/silk/fixed/solve_LS_FIX.c
-        opus/silk/fixed/vector_ops_FIX.c
-        opus/silk/fixed/warped_autocorrelation_FIX.c
-    )
-else()
-    target_sources(opus PRIVATE
-        opus/silk/float/LPC_analysis_filter_FLP.c
-        opus/silk/float/LPC_inv_pred_gain_FLP.c
-        opus/silk/float/LTP_analysis_filter_FLP.c
-        opus/silk/float/LTP_scale_ctrl_FLP.c
-        opus/silk/float/apply_sine_window_FLP.c
-        opus/silk/float/autocorrelation_FLP.c
-        opus/silk/float/burg_modified_FLP.c
-        opus/silk/float/bwexpander_FLP.c
-        opus/silk/float/corrMatrix_FLP.c
-        opus/silk/float/encode_frame_FLP.c
-        opus/silk/float/energy_FLP.c
-        opus/silk/float/find_LPC_FLP.c
-        opus/silk/float/find_LTP_FLP.c
-        opus/silk/float/find_pitch_lags_FLP.c
-        opus/silk/float/find_pred_coefs_FLP.c
-        opus/silk/float/inner_product_FLP.c
-        opus/silk/float/k2a_FLP.c
-        opus/silk/float/noise_shape_analysis_FLP.c
-        opus/silk/float/pitch_analysis_core_FLP.c
-        opus/silk/float/process_gains_FLP.c
-        opus/silk/float/regularize_correlations_FLP.c
-        opus/silk/float/residual_energy_FLP.c
-        opus/silk/float/scale_copy_vector_FLP.c
-        opus/silk/float/scale_vector_FLP.c
-        opus/silk/float/schur_FLP.c
-        opus/silk/float/sort_FLP.c
-        opus/silk/float/warped_autocorrelation_FLP.c
-        opus/silk/float/wrappers_FLP.c
-    )
-endif()
-
-target_compile_definitions(opus PRIVATE OPUS_BUILD ENABLE_HARDENING)
-
-if(NOT MSVC)
-    if(MINGW)
-        target_compile_definitions(opus PRIVATE _FORTIFY_SOURCE=0)
-    else()
-        target_compile_definitions(opus PRIVATE _FORTIFY_SOURCE=2)
-    endif()
-endif()
-
-# It is strongly recommended to uncomment one of these VAR_ARRAYS: Use C99
-# variable-length arrays for stack allocation USE_ALLOCA: Use alloca() for stack
-# allocation If none is defined, then the fallback is a non-threadsafe global
-# array
-if(OPUS_USE_ALLOCA OR MSVC)
-    target_compile_definitions(opus PRIVATE USE_ALLOCA)
-else()
-    target_compile_definitions(opus PRIVATE VAR_ARRAYS)
-endif()
-
-if(OPUS_CUSTOM_MODES)
-    target_compile_definitions(opus PRIVATE CUSTOM_MODES)
-endif()
-
-if(NOT OPUS_ENABLE_FLOAT_API)
-    target_compile_definitions(opus PRIVATE DISABLE_FLOAT_API)
-endif()
-
-target_compile_definitions(opus
-PUBLIC
-    -DOPUS_VERSION="\\"1.4.0\\""
-
-PRIVATE
-    # Use C99 intrinsics to speed up float-to-int conversion
-    HAVE_LRINTF
-)
-
-if (FIXED_POINT)
-    target_compile_definitions(opus PRIVATE -DFIXED_POINT=1 -DDISABLE_FLOAT_API)
-endif()
-
-target_include_directories(opus
-PUBLIC
-    opus/include
-
-PRIVATE
-    opus/celt
-    opus/silk
-    opus/silk/fixed
-    opus/silk/float
-    opus/src
-)
-
-add_library(Opus::opus ALIAS opus)
diff --git a/externals/opus/opus b/externals/opus/opus
deleted file mode 160000
index 82ac57d9f1..0000000000
--- a/externals/opus/opus
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 82ac57d9f1aaf575800cf17373348e45b7ce6c0d