blob: 1521a459b1b9ec7dd4194a97b210726c03542ced [file] [log] [blame]
Ray Essick7a9b0042020-11-29 11:20:26 -08001cc_library_static {
2 name: "libstagefright_amrwbenc",
3 vendor_available: true,
4 min_sdk_version: "29",
5
6 srcs: [
7 "src/autocorr.c",
8 "src/az_isp.c",
9 "src/bits.c",
10 "src/c2t64fx.c",
11 "src/c4t64fx.c",
12 "src/convolve.c",
13 "src/cor_h_x.c",
14 "src/decim54.c",
15 "src/deemph.c",
16 "src/dtx.c",
17 "src/g_pitch.c",
18 "src/gpclip.c",
19 "src/homing.c",
20 "src/hp400.c",
21 "src/hp50.c",
22 "src/hp6k.c",
23 "src/hp_wsp.c",
24 "src/int_lpc.c",
25 "src/isp_az.c",
26 "src/isp_isf.c",
27 "src/lag_wind.c",
28 "src/levinson.c",
29 "src/log2.c",
30 "src/lp_dec2.c",
31 "src/math_op.c",
32 "src/oper_32b.c",
33 "src/p_med_ol.c",
34 "src/pit_shrp.c",
35 "src/pitch_f4.c",
36 "src/pred_lt4.c",
37 "src/preemph.c",
38 "src/q_gain2.c",
39 "src/q_pulse.c",
40 "src/qisf_ns.c",
41 "src/qpisf_2s.c",
42 "src/random.c",
43 "src/residu.c",
44 "src/scale.c",
45 "src/stream.c",
46 "src/syn_filt.c",
47 "src/updt_tar.c",
48 "src/util.c",
49 "src/voAMRWBEnc.c",
50 "src/voicefac.c",
51 "src/wb_vad.c",
52 "src/weight_a.c",
53 "src/mem_align.c",
54 ],
55
56 arch: {
57 arm: {
58 srcs: [
59 "src/asm/ARMV5E/convolve_opt.s",
60 "src/asm/ARMV5E/cor_h_vec_opt.s",
61 "src/asm/ARMV5E/Deemph_32_opt.s",
62 "src/asm/ARMV5E/Dot_p_opt.s",
63 "src/asm/ARMV5E/Filt_6k_7k_opt.s",
64 "src/asm/ARMV5E/Norm_Corr_opt.s",
65 "src/asm/ARMV5E/pred_lt4_1_opt.s",
66 "src/asm/ARMV5E/residu_asm_opt.s",
67 "src/asm/ARMV5E/scale_sig_opt.s",
68 "src/asm/ARMV5E/Syn_filt_32_opt.s",
69 "src/asm/ARMV5E/syn_filt_opt.s",
70 ],
71
72 cflags: [
73 "-DARM",
74 "-DASM_OPT",
75 ],
76 local_include_dirs: ["src/asm/ARMV5E"],
77
78 instruction_set: "arm",
79
80 neon: {
81 exclude_srcs: [
82 "src/asm/ARMV5E/convolve_opt.s",
83 "src/asm/ARMV5E/cor_h_vec_opt.s",
84 "src/asm/ARMV5E/Deemph_32_opt.s",
85 "src/asm/ARMV5E/Dot_p_opt.s",
86 "src/asm/ARMV5E/Filt_6k_7k_opt.s",
87 "src/asm/ARMV5E/Norm_Corr_opt.s",
88 "src/asm/ARMV5E/pred_lt4_1_opt.s",
89 "src/asm/ARMV5E/residu_asm_opt.s",
90 "src/asm/ARMV5E/scale_sig_opt.s",
91 "src/asm/ARMV5E/Syn_filt_32_opt.s",
92 "src/asm/ARMV5E/syn_filt_opt.s",
93 ],
94
95 srcs: [
96 "src/asm/ARMV7/convolve_neon.s",
97 "src/asm/ARMV7/cor_h_vec_neon.s",
98 "src/asm/ARMV7/Deemph_32_neon.s",
99 "src/asm/ARMV7/Dot_p_neon.s",
100 "src/asm/ARMV7/Filt_6k_7k_neon.s",
101 "src/asm/ARMV7/Norm_Corr_neon.s",
102 "src/asm/ARMV7/pred_lt4_1_neon.s",
103 "src/asm/ARMV7/residu_asm_neon.s",
104 "src/asm/ARMV7/scale_sig_neon.s",
105 "src/asm/ARMV7/Syn_filt_32_neon.s",
106 "src/asm/ARMV7/syn_filt_neon.s",
107 ],
108
109 // don't actually generate neon instructions, see bug 26932980
110 cflags: [
111 "-DARMV7",
112 "-mfpu=vfpv3",
113 ],
114 local_include_dirs: [
115 "src/asm/ARMV5E",
116 "src/asm/ARMV7",
117 ],
118 },
119
120 },
121 },
122
123 include_dirs: [
124 "frameworks/av/include",
125 "frameworks/av/media/libstagefright/include",
126 ],
127
128 local_include_dirs: ["src"],
129 export_include_dirs: ["inc"],
130
131 shared_libs: [
132 "libstagefright_enc_common",
133 "liblog",
134 ],
135
136 cflags: ["-Werror"],
137 sanitize: {
138 cfi: true,
139 },
140
141 host_supported: true,
142 target: {
143 darwin: {
144 enabled: false,
145 },
146 },
147}
148
149