summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libopus/celt/cpu_support.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/cpu_support.h')
-rw-r--r--lib/rbcodec/codecs/libopus/celt/cpu_support.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/cpu_support.h b/lib/rbcodec/codecs/libopus/celt/cpu_support.h
index d68dbe62c5..68fc60678f 100644
--- a/lib/rbcodec/codecs/libopus/celt/cpu_support.h
+++ b/lib/rbcodec/codecs/libopus/celt/cpu_support.h
@@ -31,7 +31,8 @@
31#include "opus_types.h" 31#include "opus_types.h"
32#include "opus_defines.h" 32#include "opus_defines.h"
33 33
34#if defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_ASM) 34#if defined(OPUS_HAVE_RTCD) && \
35 (defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR))
35#include "arm/armcpu.h" 36#include "arm/armcpu.h"
36 37
37/* We currently support 4 ARM variants: 38/* We currently support 4 ARM variants:
@@ -42,6 +43,22 @@
42 */ 43 */
43#define OPUS_ARCHMASK 3 44#define OPUS_ARCHMASK 3
44 45
46#elif (defined(OPUS_X86_MAY_HAVE_SSE) && !defined(OPUS_X86_PRESUME_SSE)) || \
47 (defined(OPUS_X86_MAY_HAVE_SSE2) && !defined(OPUS_X86_PRESUME_SSE2)) || \
48 (defined(OPUS_X86_MAY_HAVE_SSE4_1) && !defined(OPUS_X86_PRESUME_SSE4_1)) || \
49 (defined(OPUS_X86_MAY_HAVE_AVX) && !defined(OPUS_X86_PRESUME_AVX))
50
51#include "x86/x86cpu.h"
52/* We currently support 5 x86 variants:
53 * arch[0] -> non-sse
54 * arch[1] -> sse
55 * arch[2] -> sse2
56 * arch[3] -> sse4.1
57 * arch[4] -> avx
58 */
59#define OPUS_ARCHMASK 7
60int opus_select_arch(void);
61
45#else 62#else
46#define OPUS_ARCHMASK 0 63#define OPUS_ARCHMASK 0
47 64
@@ -50,5 +67,4 @@ static OPUS_INLINE int opus_select_arch(void)
50 return 0; 67 return 0;
51} 68}
52#endif 69#endif
53
54#endif 70#endif