blob: f84da218f6888db2803ee09526f5de44929d94c6 [file] [log] [blame]
Colin Cross8e99d5e2020-12-10 15:34:17 -08001cc_library_headers {
2 name: "libstagefright_mp3dec_headers",
3 vendor_available: true,
4 min_sdk_version: "29",
5 host_supported:true,
6 export_include_dirs: [
7 "include",
8 "src",
9 ],
10 apex_available: [
11 "//apex_available:platform",
12 "com.android.media.swcodec",
13 ],
14}
15
Ray Essick7a9b0042020-11-29 11:20:26 -080016cc_library_static {
17 name: "libstagefright_mp3dec",
18 vendor_available: true,
19 min_sdk_version: "29",
20
21 host_supported:true,
22 srcs: [
23 "src/pvmp3_normalize.cpp",
24 "src/pvmp3_alias_reduction.cpp",
25 "src/pvmp3_crc.cpp",
26 "src/pvmp3_decode_header.cpp",
27 "src/pvmp3_decode_huff_cw.cpp",
28 "src/pvmp3_getbits.cpp",
29 "src/pvmp3_dequantize_sample.cpp",
30 "src/pvmp3_framedecoder.cpp",
31 "src/pvmp3_get_main_data_size.cpp",
32 "src/pvmp3_get_side_info.cpp",
33 "src/pvmp3_get_scale_factors.cpp",
34 "src/pvmp3_mpeg2_get_scale_data.cpp",
35 "src/pvmp3_mpeg2_get_scale_factors.cpp",
36 "src/pvmp3_mpeg2_stereo_proc.cpp",
37 "src/pvmp3_huffman_decoding.cpp",
38 "src/pvmp3_huffman_parsing.cpp",
39 "src/pvmp3_tables.cpp",
40 "src/pvmp3_imdct_synth.cpp",
41 "src/pvmp3_mdct_6.cpp",
42 "src/pvmp3_dct_6.cpp",
43 "src/pvmp3_poly_phase_synthesis.cpp",
44 "src/pvmp3_equalizer.cpp",
45 "src/pvmp3_seek_synch.cpp",
46 "src/pvmp3_stereo_proc.cpp",
47 "src/pvmp3_reorder.cpp",
48
49 "src/pvmp3_polyphase_filter_window.cpp",
50 "src/pvmp3_mdct_18.cpp",
51 "src/pvmp3_dct_9.cpp",
52 "src/pvmp3_dct_16.cpp",
53 ],
54
55 arch: {
56 arm: {
57 exclude_srcs: [
58 "src/pvmp3_polyphase_filter_window.cpp",
59 "src/pvmp3_mdct_18.cpp",
60 "src/pvmp3_dct_9.cpp",
61 "src/pvmp3_dct_16.cpp",
62 ],
63 srcs: [
64 "src/asm/pvmp3_polyphase_filter_window_gcc.s",
65 "src/asm/pvmp3_mdct_18_gcc.s",
66 "src/asm/pvmp3_dct_9_gcc.s",
67 "src/asm/pvmp3_dct_16_gcc.s",
68 ],
69
70 instruction_set: "arm",
71 },
72 },
73
74 sanitize: {
75 misc_undefined: [
76 "signed-integer-overflow",
77 ],
78 cfi: true,
79 },
80
81 include_dirs: ["frameworks/av/media/libstagefright/include"],
82
Colin Cross8e99d5e2020-12-10 15:34:17 -080083 header_libs: ["libstagefright_mp3dec_headers"],
84 export_header_lib_headers: ["libstagefright_mp3dec_headers"],
Ray Essick7a9b0042020-11-29 11:20:26 -080085
86 cflags: [
87 "-DOSCL_UNUSED_ARG(x)=(void)(x)",
88 "-Werror",
89 ],
90
91 target: {
92 darwin: {
93 enabled: false,
94 },
95 },
96}
97
98//###############################################################################
99cc_test {
100 name: "libstagefright_mp3dec_test",
101 gtest: false,
102
103 srcs: [
104 "test/mp3dec_test.cpp",
105 "test/mp3reader.cpp",
106 ],
107
108 cflags: ["-Wall", "-Werror"],
109
110 local_include_dirs: [
111 "src",
112 "include",
113 ],
114
115 sanitize: {
116 misc_undefined: [
117 "signed-integer-overflow",
118 ],
119 cfi: true,
120 },
121
122 static_libs: [
123 "libstagefright_mp3dec",
124 "libsndfile",
125 ],
126
127 shared_libs: ["libaudioutils"],
128}