diff options
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/cpu_support.h')
-rw-r--r-- | lib/rbcodec/codecs/libopus/celt/cpu_support.h | 20 |
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 | ||
60 | int 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 |