OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/arm.gni") | 5 import("//build/config/arm.gni") |
6 | 6 |
7 declare_args() { | 7 declare_args() { |
8 # Override this value to build with small float FFT tables | 8 # Override this value to build with small float FFT tables |
9 openmax_big_float_fft = true | 9 openmax_big_float_fft = true |
10 } | 10 } |
11 | 11 |
12 config("dl_config") { | 12 config("dl_config") { |
13 include_dirs = [ ".." ] | 13 include_dirs = [ ".." ] |
14 if (cpu_arch == "arm") { | 14 if (cpu_arch == "arm") { |
15 if (arm_use_neon) { | 15 if (arm_use_neon) { |
16 # Enable build-time NEON selection. | 16 # Enable build-time NEON selection. |
17 defines = [ "DL_ARM_NEON" ] | 17 defines = [ "DL_ARM_NEON" ] |
18 } else if (is_android) { | 18 } else if (is_android) { |
19 # Enable run-time NEON selection. | 19 # Enable run-time NEON selection. |
20 defines = [ "DL_ARM_NEON_OPTIONAL" ] | 20 defines = [ "DL_ARM_NEON_OPTIONAL" ] |
21 } | 21 } |
22 } | 22 } else if (cpu_arch == "arm64") { |
23 else if (cpu_arch == "arm64") { | |
24 # Enable build-time NEON selection. | 23 # Enable build-time NEON selection. |
25 defines = [ "DL_ARM_NEON" ] | 24 defines = [ "DL_ARM_NEON" ] |
26 } | 25 } |
27 } | 26 } |
28 | 27 |
29 # GYP: third_party/openmax_dl/dl/dl.gyp:openmax_dl | 28 # GYP: third_party/openmax_dl/dl/dl.gyp:openmax_dl |
30 source_set("dl") { | 29 source_set("dl") { |
31 public_configs = [ ":dl_config" ] | 30 public_configs = [ ":dl_config" ] |
32 sources = [ | 31 sources = [ |
33 "api/omxtypes.h", | 32 "api/omxtypes.h", |
34 "sp/api/omxSP.h", | 33 "sp/api/omxSP.h", |
35 "sp/src/armSP_FFT_F32TwiddleTable.c", | 34 "sp/src/armSP_FFT_F32TwiddleTable.c", |
36 ] | 35 ] |
37 | 36 |
38 cflags = [] | 37 cflags = [] |
39 deps = [] | 38 deps = [] |
40 defines = [] | 39 defines = [] |
41 | 40 |
42 if (openmax_big_float_fft) { | 41 if (openmax_big_float_fft) { |
43 defines += [ | 42 defines += [ "BIG_FFT_TABLE" ] |
44 "BIG_FFT_TABLE", | |
45 ] | |
46 } | 43 } |
47 | 44 |
48 if (cpu_arch == "arm" || cpu_arch == "arm64") { | 45 if (cpu_arch == "arm" || cpu_arch == "arm64") { |
49 sources += [ | 46 sources += [ |
50 # Common files that are used by both arm and arm64 code. | 47 # Common files that are used by both arm and arm64 code. |
51 "api/arm/armOMX.h", | 48 "api/arm/armOMX.h", |
52 "api/arm/omxtypes_s.h", | 49 "api/arm/omxtypes_s.h", |
53 "sp/api/armSP.h", | 50 "sp/api/armSP.h", |
54 "sp/src/arm/armSP_FFT_S32TwiddleTable.c", | 51 "sp/src/arm/armSP_FFT_S32TwiddleTable.c", |
55 "sp/src/arm/omxSP_FFTGetBufSize_C_FC32.c", | 52 "sp/src/arm/omxSP_FFTGetBufSize_C_FC32.c", |
56 "sp/src/arm/omxSP_FFTGetBufSize_C_SC32.c", | 53 "sp/src/arm/omxSP_FFTGetBufSize_C_SC32.c", |
57 "sp/src/arm/omxSP_FFTGetBufSize_R_F32.c", | 54 "sp/src/arm/omxSP_FFTGetBufSize_R_F32.c", |
58 "sp/src/arm/omxSP_FFTGetBufSize_R_S32.c", | 55 "sp/src/arm/omxSP_FFTGetBufSize_R_S32.c", |
59 "sp/src/arm/omxSP_FFTInit_C_FC32.c", | 56 "sp/src/arm/omxSP_FFTInit_C_FC32.c", |
60 "sp/src/arm/omxSP_FFTInit_R_F32.c", | 57 "sp/src/arm/omxSP_FFTInit_R_F32.c", |
61 ] | 58 ] |
62 } | 59 } |
63 | 60 |
64 if (cpu_arch == "arm") { | 61 if (cpu_arch == "arm") { |
65 if (arm_use_neon || is_android) { | 62 if (arm_use_neon || is_android) { |
66 deps += [ | 63 deps += [ ":openmax_dl_armv7" ] |
67 ":openmax_dl_armv7" | |
68 ] | |
69 } | 64 } |
70 configs -= [ "//build/config/compiler:compiler_arm_fpu" ] | 65 configs -= [ "//build/config/compiler:compiler_arm_fpu" ] |
71 cflags += [ | 66 cflags += [ "-mfpu=neon" ] |
72 "-mfpu=neon" | |
73 ] | |
74 | 67 |
75 if (arm_use_neon || is_android) { | 68 if (arm_use_neon || is_android) { |
76 sources += [ | 69 sources += [ |
77 # Common files that are used by both the NEON and non-NEON code. | 70 # Common files that are used by both the NEON and non-NEON code. |
78 "api/armCOMM_s.h", | 71 "api/armCOMM_s.h", |
79 "sp/src/arm/omxSP_FFTGetBufSize_C_SC16.c", | 72 "sp/src/arm/omxSP_FFTGetBufSize_C_SC16.c", |
80 "sp/src/arm/omxSP_FFTGetBufSize_R_S16.c", | 73 "sp/src/arm/omxSP_FFTGetBufSize_R_S16.c", |
81 "sp/src/arm/omxSP_FFTGetBufSize_R_S16S32.c", | 74 "sp/src/arm/omxSP_FFTGetBufSize_R_S16S32.c", |
82 "sp/src/arm/omxSP_FFTInit_C_SC16.c", | 75 "sp/src/arm/omxSP_FFTInit_C_SC16.c", |
83 "sp/src/arm/omxSP_FFTInit_C_SC32.c", | 76 "sp/src/arm/omxSP_FFTInit_C_SC32.c", |
84 "sp/src/arm/omxSP_FFTInit_R_S16.c", | 77 "sp/src/arm/omxSP_FFTInit_R_S16.c", |
85 "sp/src/arm/omxSP_FFTInit_R_S16S32.c", | 78 "sp/src/arm/omxSP_FFTInit_R_S16S32.c", |
86 "sp/src/arm/omxSP_FFTInit_R_S32.c", | 79 "sp/src/arm/omxSP_FFTInit_R_S32.c", |
87 | 80 |
88 # Complex 32-bit fixed-point FFT. | 81 # Complex 32-bit fixed-point FFT. |
89 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_fs_unsafe_s.S", | 82 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_fs_unsafe_s.S", |
90 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_ls_unsafe_s.S", | 83 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_ls_unsafe_s.S", |
91 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_unsafe_s.S", | 84 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix2_unsafe_s.S", |
92 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_fs_unsafe_s.S", | 85 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_fs_unsafe_s.S", |
93 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_ls_unsafe_s.S", | 86 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_ls_unsafe_s.S", |
94 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_unsafe_s.S", | 87 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix4_unsafe_s.S", |
95 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix8_fs_unsafe_s.S", | 88 "sp/src/arm/neon/armSP_FFT_CToC_SC32_Radix8_fs_unsafe_s.S", |
96 "sp/src/arm/neon/omxSP_FFTFwd_CToC_SC32_Sfs_s.S", | 89 "sp/src/arm/neon/omxSP_FFTFwd_CToC_SC32_Sfs_s.S", |
97 "sp/src/arm/neon/omxSP_FFTInv_CToC_SC32_Sfs_s.S", | 90 "sp/src/arm/neon/omxSP_FFTInv_CToC_SC32_Sfs_s.S", |
| 91 |
98 # Real 32-bit fixed-point FFT | 92 # Real 32-bit fixed-point FFT |
99 "sp/src/arm/neon/armSP_FFTInv_CCSToR_S32_preTwiddleRadix2_unsafe_s.S", | 93 "sp/src/arm/neon/armSP_FFTInv_CCSToR_S32_preTwiddleRadix2_unsafe_s.S", |
100 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S32_Sfs_s.S", | 94 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S32_Sfs_s.S", |
101 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S32_Sfs_s.S", | 95 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S32_Sfs_s.S", |
| 96 |
102 # Complex 16-bit fixed-point FFT | 97 # Complex 16-bit fixed-point FFT |
103 "sp/src/arm/neon/armSP_FFTInv_CCSToR_S16_preTwiddleRadix2_unsafe_s.S", | 98 "sp/src/arm/neon/armSP_FFTInv_CCSToR_S16_preTwiddleRadix2_unsafe_s.S", |
104 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_fs_unsafe_s.S", | 99 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_fs_unsafe_s.S", |
105 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_ls_unsafe_s.S", | 100 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_ls_unsafe_s.S", |
106 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_ps_unsafe_s.S", | 101 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_ps_unsafe_s.S", |
107 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_unsafe_s.S", | 102 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix2_unsafe_s.S", |
108 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_fs_unsafe_s.S", | 103 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_fs_unsafe_s.S", |
109 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_ls_unsafe_s.S", | 104 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_ls_unsafe_s.S", |
110 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_unsafe_s.S", | 105 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix4_unsafe_s.S", |
111 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix8_fs_unsafe_s.S", | 106 "sp/src/arm/neon/armSP_FFT_CToC_SC16_Radix8_fs_unsafe_s.S", |
112 "sp/src/arm/neon/omxSP_FFTFwd_CToC_SC16_Sfs_s.S", | 107 "sp/src/arm/neon/omxSP_FFTFwd_CToC_SC16_Sfs_s.S", |
113 "sp/src/arm/neon/omxSP_FFTInv_CToC_SC16_Sfs_s.S", | 108 "sp/src/arm/neon/omxSP_FFTInv_CToC_SC16_Sfs_s.S", |
| 109 |
114 # Real 16-bit fixed-point FFT | 110 # Real 16-bit fixed-point FFT |
115 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16_Sfs_s.S", | 111 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16_Sfs_s.S", |
116 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S16_Sfs_s.S", | 112 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S16_Sfs_s.S", |
117 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16S32_Sfs_s.S", | 113 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_S16S32_Sfs_s.S", |
118 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S32S16_Sfs_s.S", | 114 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_S32S16_Sfs_s.S", |
| 115 |
119 # Complex floating-point FFT | 116 # Complex floating-point FFT |
120 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_fs_unsafe_s.S", | 117 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_fs_unsafe_s.S", |
121 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_ls_unsafe_s.S", | 118 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_ls_unsafe_s.S", |
122 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_unsafe_s.S", | 119 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix2_unsafe_s.S", |
123 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S", | 120 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S", |
124 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S", | 121 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S", |
125 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S", | 122 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S", |
126 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S", | 123 "sp/src/arm/neon/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S", |
127 "sp/src/arm/neon/omxSP_FFTFwd_CToC_FC32_Sfs_s.S", | 124 "sp/src/arm/neon/omxSP_FFTFwd_CToC_FC32_Sfs_s.S", |
128 "sp/src/arm/neon/omxSP_FFTInv_CToC_FC32_Sfs_s.S", | 125 "sp/src/arm/neon/omxSP_FFTInv_CToC_FC32_Sfs_s.S", |
| 126 |
129 # Real floating-point FFT | 127 # Real floating-point FFT |
130 "sp/src/arm/neon/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S", | 128 "sp/src/arm/neon/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S", |
131 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S", | 129 "sp/src/arm/neon/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S", |
132 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_F32_Sfs_s.S", | 130 "sp/src/arm/neon/omxSP_FFTInv_CCSToR_F32_Sfs_s.S", |
133 ] | 131 ] |
134 } | 132 } |
135 } | 133 } |
136 | 134 |
137 if (cpu_arch == "ia32" || cpu_arch == "x64") { | 135 if (cpu_arch == "ia32" || cpu_arch == "x64") { |
138 cflags += [ | 136 cflags += [ "-msse2" ] |
139 "-msse2" | |
140 ] | |
141 | 137 |
142 sources += [ | 138 sources += [ |
143 # Real 32-bit floating-point FFT. | 139 # Real 32-bit floating-point FFT. |
144 "sp/api/x86SP.h", | 140 "sp/api/x86SP.h", |
145 "sp/src/x86/omxSP_FFTFwd_RToCCS_F32_Sfs.c", | 141 "sp/src/x86/omxSP_FFTFwd_RToCCS_F32_Sfs.c", |
146 "sp/src/x86/omxSP_FFTGetBufSize_R_F32.c", | 142 "sp/src/x86/omxSP_FFTGetBufSize_R_F32.c", |
147 "sp/src/x86/omxSP_FFTInit_R_F32.c", | 143 "sp/src/x86/omxSP_FFTInit_R_F32.c", |
148 "sp/src/x86/omxSP_FFTInv_CCSToR_F32_Sfs.c", | 144 "sp/src/x86/omxSP_FFTInv_CCSToR_F32_Sfs.c", |
149 "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_fs.c", | 145 "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_fs.c", |
150 "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_ls.c", | 146 "sp/src/x86/x86SP_FFT_CToC_FC32_Fwd_Radix2_ls.c", |
(...skipping 27 matching lines...) Expand all Loading... |
178 # Complex floating-point FFT | 174 # Complex floating-point FFT |
179 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_fs_s.S", | 175 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_fs_s.S", |
180 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_ls_s.S", | 176 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_ls_s.S", |
181 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_s.S", | 177 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_s.S", |
182 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_fs_s.S", | 178 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_fs_s.S", |
183 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_ls_s.S", | 179 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_ls_s.S", |
184 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_s.S", | 180 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_s.S", |
185 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix8_fs_s.S", | 181 "sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix8_fs_s.S", |
186 "sp/src/arm/arm64/omxSP_FFTInv_CToC_FC32.c", | 182 "sp/src/arm/arm64/omxSP_FFTInv_CToC_FC32.c", |
187 "sp/src/arm/arm64/omxSP_FFTFwd_CToC_FC32.c", | 183 "sp/src/arm/arm64/omxSP_FFTFwd_CToC_FC32.c", |
| 184 |
188 # Real floating-point FFT | 185 # Real floating-point FFT |
189 "sp/src/arm/arm64/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_s.S", | 186 "sp/src/arm/arm64/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_s.S", |
190 "sp/src/arm/arm64/omxSP_FFTFwd_RToCCS_F32.c", | 187 "sp/src/arm/arm64/omxSP_FFTFwd_RToCCS_F32.c", |
191 "sp/src/arm/arm64/ComplexToRealFixup.S", | 188 "sp/src/arm/arm64/ComplexToRealFixup.S", |
192 "sp/src/arm/arm64/omxSP_FFTInv_CCSToR_F32.c", | 189 "sp/src/arm/arm64/omxSP_FFTInv_CCSToR_F32.c", |
193 ] | 190 ] |
194 } | 191 } |
195 if (cpu_arch == "mipsel") { | 192 if (cpu_arch == "mipsel") { |
196 cflags += [ | 193 cflags += [ "-std=c99" ] |
197 "-std=c99", | 194 sources -= [ "sp/src/armSP_FFT_F32TwiddleTable.c" ] |
198 ] | |
199 sources -= [ | |
200 "sp/src/armSP_FFT_F32TwiddleTable.c", | |
201 ] | |
202 | 195 |
203 sources += [ | 196 sources += [ |
204 "sp/api/mipsSP.h", | 197 "sp/api/mipsSP.h", |
205 "sp/src/mips/mips_FFTFwd_RToCCS_F32_complex.c", | 198 "sp/src/mips/mips_FFTFwd_RToCCS_F32_complex.c", |
206 "sp/src/mips/mips_FFTFwd_RToCCS_F32_real.c", | 199 "sp/src/mips/mips_FFTFwd_RToCCS_F32_real.c", |
207 "sp/src/mips/mips_FFTInv_CCSToR_F32_complex.c", | 200 "sp/src/mips/mips_FFTInv_CCSToR_F32_complex.c", |
208 "sp/src/mips/mips_FFTInv_CCSToR_F32_real.c", | 201 "sp/src/mips/mips_FFTInv_CCSToR_F32_real.c", |
209 "sp/src/mips/omxSP_FFT_F32TwiddleTable.c", | 202 "sp/src/mips/omxSP_FFT_F32TwiddleTable.c", |
210 "sp/src/mips/omxSP_FFTFwd_RToCCS_F32_Sfs.c", | 203 "sp/src/mips/omxSP_FFTFwd_RToCCS_F32_Sfs.c", |
211 "sp/src/mips/omxSP_FFTGetBufSize_R_F32.c", | 204 "sp/src/mips/omxSP_FFTGetBufSize_R_F32.c", |
(...skipping 17 matching lines...) Expand all Loading... |
229 #], | 222 #], |
230 | 223 |
231 sources = [ | 224 sources = [ |
232 # Complex floating-point FFT | 225 # Complex floating-point FFT |
233 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix2_fs_unsafe_s.S", | 226 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix2_fs_unsafe_s.S", |
234 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S", | 227 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S", |
235 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S", | 228 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S", |
236 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S", | 229 "sp/src/arm/armv7/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S", |
237 "sp/src/arm/armv7/omxSP_FFTInv_CToC_FC32_Sfs_s.S", | 230 "sp/src/arm/armv7/omxSP_FFTInv_CToC_FC32_Sfs_s.S", |
238 "sp/src/arm/armv7/omxSP_FFTFwd_CToC_FC32_Sfs_s.S", | 231 "sp/src/arm/armv7/omxSP_FFTFwd_CToC_FC32_Sfs_s.S", |
| 232 |
239 # Real floating-point FFT | 233 # Real floating-point FFT |
240 "sp/src/arm/armv7/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S", | 234 "sp/src/arm/armv7/armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S", |
241 "sp/src/arm/armv7/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S", | 235 "sp/src/arm/armv7/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S", |
242 "sp/src/arm/armv7/omxSP_FFTInv_CCSToR_F32_Sfs_s.S", | 236 "sp/src/arm/armv7/omxSP_FFTInv_CCSToR_F32_Sfs_s.S", |
243 ] | 237 ] |
244 if (is_android) { | 238 if (is_android) { |
245 # We only do run-time NEON detection on Android. | 239 # We only do run-time NEON detection on Android. |
246 deps = [ "//third_party/android_tools:cpu_features" ] | 240 deps = [ |
| 241 "//third_party/android_tools:cpu_features", |
| 242 ] |
247 libs = [ "log" ] | 243 libs = [ "log" ] |
| 244 |
248 # Detection routine | 245 # Detection routine |
249 sources += [ "sp/src/arm/detect.c" ] | 246 sources += [ "sp/src/arm/detect.c" ] |
250 } | 247 } |
251 } | 248 } |
252 } | 249 } |
OLD | NEW |