1package {
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
20cc_library_static {
21    name: "libstagefright_amrwbenc",
22    vendor_available: true,
23    min_sdk_version: "29",
24    apex_available: [
25        "//apex_available:platform",
26        "com.android.media.swcodec",
27    ],
28
29    srcs: [
30        "src/autocorr.c",
31        "src/az_isp.c",
32        "src/bits.c",
33        "src/c2t64fx.c",
34        "src/c4t64fx.c",
35        "src/convolve.c",
36        "src/cor_h_x.c",
37        "src/decim54.c",
38        "src/deemph.c",
39        "src/dtx.c",
40        "src/g_pitch.c",
41        "src/gpclip.c",
42        "src/homing.c",
43        "src/hp400.c",
44        "src/hp50.c",
45        "src/hp6k.c",
46        "src/hp_wsp.c",
47        "src/int_lpc.c",
48        "src/isp_az.c",
49        "src/isp_isf.c",
50        "src/lag_wind.c",
51        "src/levinson.c",
52        "src/log2.c",
53        "src/lp_dec2.c",
54        "src/math_op.c",
55        "src/oper_32b.c",
56        "src/p_med_ol.c",
57        "src/pit_shrp.c",
58        "src/pitch_f4.c",
59        "src/pred_lt4.c",
60        "src/preemph.c",
61        "src/q_gain2.c",
62        "src/q_pulse.c",
63        "src/qisf_ns.c",
64        "src/qpisf_2s.c",
65        "src/random.c",
66        "src/residu.c",
67        "src/scale.c",
68        "src/stream.c",
69        "src/syn_filt.c",
70        "src/updt_tar.c",
71        "src/util.c",
72        "src/voAMRWBEnc.c",
73        "src/voicefac.c",
74        "src/wb_vad.c",
75        "src/weight_a.c",
76        "src/mem_align.c",
77    ],
78
79    arch: {
80        arm: {
81            srcs: [
82                "src/asm/ARMV7/convolve_neon.s",
83                "src/asm/ARMV7/cor_h_vec_neon.s",
84                "src/asm/ARMV7/Deemph_32_neon.s",
85                "src/asm/ARMV7/Dot_p_neon.s",
86                "src/asm/ARMV7/Filt_6k_7k_neon.s",
87                "src/asm/ARMV7/Norm_Corr_neon.s",
88                "src/asm/ARMV7/pred_lt4_1_neon.s",
89                "src/asm/ARMV7/residu_asm_neon.s",
90                "src/asm/ARMV7/scale_sig_neon.s",
91                "src/asm/ARMV7/Syn_filt_32_neon.s",
92                "src/asm/ARMV7/syn_filt_neon.s",
93            ],
94
95            cflags: [
96                "-DARM",
97                "-DARMV7",
98                "-DASM_OPT",
99                // don't actually generate neon instructions, see bug 26932980
100                "-mfpu=vfpv3",
101            ],
102            local_include_dirs: [
103                "src/asm/ARMV7",
104            ],
105
106            instruction_set: "arm",
107        },
108    },
109
110    local_include_dirs: ["src"],
111    export_include_dirs: ["inc"],
112
113    shared_libs: [
114        "libstagefright_enc_common",
115        "liblog",
116    ],
117
118    cflags: ["-Werror"],
119    sanitize: {
120        cfi: true,
121    },
122
123    host_supported: true,
124    target: {
125        darwin: {
126            enabled: false,
127        },
128    },
129}
130