diff options
author | Moonchild <moonchild@palemoon.org> | 2020-11-20 09:47:03 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-11-20 09:47:03 +0000 |
commit | 5165ed02285315cc0bed7977c7bac6d0a90ca43c (patch) | |
tree | 9b761a21eb924915e51c2d803208e6c01b505a45 /media/webrtc | |
parent | e1db27e19989db11fef70f439cf95821316535b3 (diff) | |
parent | ca9abcdf1702c37bf00048dab3f460b2252873a3 (diff) | |
download | UXP-5165ed02285315cc0bed7977c7bac6d0a90ca43c.tar UXP-5165ed02285315cc0bed7977c7bac6d0a90ca43c.tar.gz UXP-5165ed02285315cc0bed7977c7bac6d0a90ca43c.tar.lz UXP-5165ed02285315cc0bed7977c7bac6d0a90ca43c.tar.xz UXP-5165ed02285315cc0bed7977c7bac6d0a90ca43c.zip |
Merge branch 'redwood' into releaseRELBASE_20201124RELBASE_20201120RC_20201120
Diffstat (limited to 'media/webrtc')
-rw-r--r-- | media/webrtc/trunk/webrtc/modules/audio_processing/aec/aec_core.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/media/webrtc/trunk/webrtc/modules/audio_processing/aec/aec_core.c b/media/webrtc/trunk/webrtc/modules/audio_processing/aec/aec_core.c index 470c422db..1722ba82e 100644 --- a/media/webrtc/trunk/webrtc/modules/audio_processing/aec/aec_core.c +++ b/media/webrtc/trunk/webrtc/modules/audio_processing/aec/aec_core.c @@ -23,6 +23,7 @@ #include <stddef.h> // size_t #include <stdlib.h> #include <string.h> +#include <stdbool.h> #include "webrtc/common_audio/ring_buffer.h" #include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" @@ -1573,33 +1574,36 @@ AecCore* WebRtcAec_CreateAec() { #endif aec->extended_filter_enabled = 0; - // Assembly optimization - WebRtcAec_FilterFar = FilterFar; - WebRtcAec_ScaleErrorSignal = ScaleErrorSignal; - WebRtcAec_FilterAdaptation = FilterAdaptation; - WebRtcAec_OverdriveAndSuppress = OverdriveAndSuppress; - WebRtcAec_ComfortNoise = ComfortNoise; - WebRtcAec_SubbandCoherence = SubbandCoherence; + static bool initted = false; + if (!initted) { + initted = true; + // Assembly optimization + WebRtcAec_FilterFar = FilterFar; + WebRtcAec_ScaleErrorSignal = ScaleErrorSignal; + WebRtcAec_FilterAdaptation = FilterAdaptation; + WebRtcAec_OverdriveAndSuppress = OverdriveAndSuppress; + WebRtcAec_ComfortNoise = ComfortNoise; + WebRtcAec_SubbandCoherence = SubbandCoherence; #if defined(WEBRTC_ARCH_X86_FAMILY) - if (WebRtc_GetCPUInfo(kSSE2)) { - WebRtcAec_InitAec_SSE2(); - } + if (WebRtc_GetCPUInfo(kSSE2)) { + WebRtcAec_InitAec_SSE2(); + } #endif #if defined(MIPS_FPU_LE) - WebRtcAec_InitAec_mips(); + WebRtcAec_InitAec_mips(); #endif #if defined(WEBRTC_ARCH_ARM_NEON) - WebRtcAec_InitAec_neon(); -#elif defined(WEBRTC_DETECT_ARM_NEON) - if ((WebRtc_GetCPUFeaturesARM() & kCPUFeatureNEON) != 0) { WebRtcAec_InitAec_neon(); - } +#elif defined(WEBRTC_DETECT_ARM_NEON) + if ((WebRtc_GetCPUFeaturesARM() & kCPUFeatureNEON) != 0) { + WebRtcAec_InitAec_neon(); + } #endif - - aec_rdft_init(); + aec_rdft_init(); + } return aec; } |