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