blob: e81468fba5ab7bb0d8e8fe493e907611a9d04e81 [file] [log] [blame]
James Zerna1873002018-01-11 19:59:28 -08001// Copyright 2010 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
James Zern17dc6642020-10-17 11:54:12 -070015bug_component_id = 48069
16
17fuzz_email_cc = ["jzern@google.com"]
18
James Zerna1873002018-01-11 19:59:28 -080019//##############################################
20
Bob Badour16885852021-02-12 15:34:23 -080021package {
22 default_applicable_licenses: ["external_webp_license"],
23}
24
25// Added automatically by a large-scale-change
26//
27// large-scale-change included anything that looked like it might be a license
28// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
29//
30// Please consider removing redundant or irrelevant files from 'license_text:'.
31// See: http://go/android-license-faq
32license {
33 name: "external_webp_license",
34 visibility: [":__subpackages__"],
35 license_kinds: [
36 "SPDX-license-identifier-BSD",
37 ],
38 license_text: [
39 "COPYING",
40 "NOTICE",
41 "PATENTS",
42 ],
43}
44
Colin Crosse2f92ce2016-12-01 17:50:10 -080045cc_library_static {
46 name: "webp-headers",
Jerome Gaillard96b0f622018-07-10 16:09:11 +010047 host_supported: true,
Colin Crosse2f92ce2016-12-01 17:50:10 -080048 export_include_dirs: ["include"],
49 sdk_version: "9",
Jerome Gaillard0c31c5f2018-11-01 16:49:58 +000050 target: {
51 windows: {
52 enabled: true,
53 },
54 },
Colin Crosse2f92ce2016-12-01 17:50:10 -080055}
56
James Zerna1873002018-01-11 19:59:28 -080057//##############################################
58
59cc_library_static {
60 name: "libwebp-encode",
Jerome Gaillard96b0f622018-07-10 16:09:11 +010061 host_supported: true,
James Zerna1873002018-01-11 19:59:28 -080062 srcs: [
James Zerna1873002018-01-11 19:59:28 -080063 "src/dsp/cost.c",
64 "src/dsp/cost_mips32.c",
65 "src/dsp/cost_mips_dsp_r2.c",
James Zerncf0b0ef2019-01-15 18:26:18 -080066 "src/dsp/cost_neon.c",
James Zerna1873002018-01-11 19:59:28 -080067 "src/dsp/cost_sse2.c",
68 "src/dsp/cpu.c",
69 "src/dsp/enc.c",
James Zerna1873002018-01-11 19:59:28 -080070 "src/dsp/enc_mips32.c",
71 "src/dsp/enc_mips_dsp_r2.c",
72 "src/dsp/enc_msa.c",
73 "src/dsp/enc_neon.c",
74 "src/dsp/enc_sse2.c",
75 "src/dsp/enc_sse41.c",
76 "src/dsp/lossless_enc.c",
77 "src/dsp/lossless_enc_mips32.c",
78 "src/dsp/lossless_enc_mips_dsp_r2.c",
79 "src/dsp/lossless_enc_msa.c",
80 "src/dsp/lossless_enc_neon.c",
81 "src/dsp/lossless_enc_sse2.c",
82 "src/dsp/lossless_enc_sse41.c",
83 "src/dsp/ssim.c",
84 "src/dsp/ssim_sse2.c",
85 "src/enc/alpha_enc.c",
86 "src/enc/analysis_enc.c",
87 "src/enc/backward_references_cost_enc.c",
88 "src/enc/backward_references_enc.c",
89 "src/enc/config_enc.c",
90 "src/enc/cost_enc.c",
James Zerna1873002018-01-11 19:59:28 -080091 "src/enc/filter_enc.c",
92 "src/enc/frame_enc.c",
93 "src/enc/histogram_enc.c",
94 "src/enc/iterator_enc.c",
95 "src/enc/near_lossless_enc.c",
96 "src/enc/picture_csp_enc.c",
97 "src/enc/picture_enc.c",
98 "src/enc/picture_psnr_enc.c",
99 "src/enc/picture_rescale_enc.c",
100 "src/enc/picture_tools_enc.c",
101 "src/enc/predictor_enc.c",
102 "src/enc/quant_enc.c",
103 "src/enc/syntax_enc.c",
104 "src/enc/token_enc.c",
105 "src/enc/tree_enc.c",
106 "src/enc/vp8l_enc.c",
107 "src/enc/webp_enc.c",
108 "src/mux/anim_encode.c",
109 "src/mux/muxedit.c",
110 "src/mux/muxinternal.c",
111 "src/mux/muxread.c",
James Zerna1873002018-01-11 19:59:28 -0800112 "src/utils/bit_writer_utils.c",
James Zerna1873002018-01-11 19:59:28 -0800113 "src/utils/huffman_encode_utils.c",
James Zerna1873002018-01-11 19:59:28 -0800114 "src/utils/quant_levels_utils.c",
James Zerna1873002018-01-11 19:59:28 -0800115 ],
116
117 arch: {
118 arm: {
119 instruction_set: "arm",
120 },
121 },
Jerome Gaillard0c31c5f2018-11-01 16:49:58 +0000122
James Zerna1873002018-01-11 19:59:28 -0800123 cflags: [
124 "-O2",
125 "-DANDROID",
126 "-DWEBP_SWAP_16BIT_CSP",
James Zerne3518de2019-07-26 23:28:07 -0700127 "-DWEBP_USE_THREAD",
James Zerna1873002018-01-11 19:59:28 -0800128 "-Wall",
129 "-Werror",
130 ],
131
132 local_include_dirs: ["."],
133 static_libs: ["webp-headers"],
134 export_static_lib_headers: ["webp-headers"],
Derek Sollenberger51e02292018-01-31 13:18:10 -0500135
136 sdk_version: "9",
Jerome Gaillard0c31c5f2018-11-01 16:49:58 +0000137
138 target: {
139 windows: {
140 enabled: true,
141 },
142 },
James Zerna1873002018-01-11 19:59:28 -0800143}
144
145//##############################################
146
147cc_library_static {
148 name: "libwebp-decode",
Jerome Gaillard96b0f622018-07-10 16:09:11 +0100149 host_supported: true,
James Zerna1873002018-01-11 19:59:28 -0800150 srcs: [
151 "src/dec/alpha_dec.c",
152 "src/dec/buffer_dec.c",
153 "src/dec/frame_dec.c",
154 "src/dec/idec_dec.c",
155 "src/dec/io_dec.c",
156 "src/dec/quant_dec.c",
157 "src/dec/tree_dec.c",
158 "src/dec/vp8_dec.c",
159 "src/dec/vp8l_dec.c",
160 "src/dec/webp_dec.c",
Jerome Gaillard47c6dd42020-01-31 17:21:27 +0000161 "src/demux/anim_decode.c",
James Zerna1873002018-01-11 19:59:28 -0800162 "src/demux/demux.c",
163 "src/dsp/alpha_processing.c",
164 "src/dsp/alpha_processing_mips_dsp_r2.c",
Jerome Gaillard47c6dd42020-01-31 17:21:27 +0000165 "src/dsp/alpha_processing_neon.c",
James Zerna1873002018-01-11 19:59:28 -0800166 "src/dsp/alpha_processing_sse2.c",
167 "src/dsp/alpha_processing_sse41.c",
168 "src/dsp/cpu.c",
169 "src/dsp/dec.c",
170 "src/dsp/dec_clip_tables.c",
171 "src/dsp/dec_mips32.c",
172 "src/dsp/dec_mips_dsp_r2.c",
173 "src/dsp/dec_msa.c",
174 "src/dsp/dec_neon.c",
175 "src/dsp/dec_sse2.c",
176 "src/dsp/dec_sse41.c",
177 "src/dsp/filters.c",
178 "src/dsp/filters_mips_dsp_r2.c",
179 "src/dsp/filters_msa.c",
180 "src/dsp/filters_neon.c",
181 "src/dsp/filters_sse2.c",
182 "src/dsp/lossless.c",
183 "src/dsp/lossless_mips_dsp_r2.c",
184 "src/dsp/lossless_msa.c",
185 "src/dsp/lossless_neon.c",
186 "src/dsp/lossless_sse2.c",
James Zern4da61d82021-07-24 14:57:33 -0700187 "src/dsp/lossless_sse41.c",
James Zerna1873002018-01-11 19:59:28 -0800188 "src/dsp/rescaler.c",
189 "src/dsp/rescaler_mips32.c",
190 "src/dsp/rescaler_mips_dsp_r2.c",
191 "src/dsp/rescaler_msa.c",
192 "src/dsp/rescaler_neon.c",
193 "src/dsp/rescaler_sse2.c",
194 "src/dsp/upsampling.c",
195 "src/dsp/upsampling_mips_dsp_r2.c",
196 "src/dsp/upsampling_msa.c",
197 "src/dsp/upsampling_neon.c",
198 "src/dsp/upsampling_sse2.c",
James Zern320de282018-04-18 20:57:56 -0700199 "src/dsp/upsampling_sse41.c",
James Zerna1873002018-01-11 19:59:28 -0800200 "src/dsp/yuv.c",
201 "src/dsp/yuv_mips32.c",
202 "src/dsp/yuv_mips_dsp_r2.c",
203 "src/dsp/yuv_neon.c",
204 "src/dsp/yuv_sse2.c",
James Zern320de282018-04-18 20:57:56 -0700205 "src/dsp/yuv_sse41.c",
James Zerna1873002018-01-11 19:59:28 -0800206 "src/utils/bit_reader_utils.c",
207 "src/utils/color_cache_utils.c",
208 "src/utils/filters_utils.c",
209 "src/utils/huffman_utils.c",
210 "src/utils/quant_levels_dec_utils.c",
211 "src/utils/random_utils.c",
212 "src/utils/rescaler_utils.c",
213 "src/utils/thread_utils.c",
214 "src/utils/utils.c",
215 ],
216
217 arch: {
218 arm: {
219 instruction_set: "arm",
220 },
221 },
Jerome Gaillard0c31c5f2018-11-01 16:49:58 +0000222
James Zerna1873002018-01-11 19:59:28 -0800223 cflags: [
224 "-O2",
225 "-DANDROID",
226 "-DWEBP_SWAP_16BIT_CSP",
James Zerne3518de2019-07-26 23:28:07 -0700227 "-DWEBP_USE_THREAD",
James Zerna1873002018-01-11 19:59:28 -0800228 "-Wall",
229 "-Werror",
230 ],
231
232 local_include_dirs: ["."],
233 static_libs: ["webp-headers"],
234 export_static_lib_headers: ["webp-headers"],
235
236 sdk_version: "9",
Jerome Gaillard0c31c5f2018-11-01 16:49:58 +0000237
238 target: {
239 windows: {
240 enabled: true,
241 },
242 },
James Zerna1873002018-01-11 19:59:28 -0800243}
James Zern17dc6642020-10-17 11:54:12 -0700244
245cc_defaults {
246 name: "libwebp_fuzzer_defaults",
247 host_supported: true,
248 native_coverage: true,
249
250 local_include_dirs: [
251 ".",
252 "src",
253 ],
254
255 fuzz_config: {
256 cc: fuzz_email_cc,
257 componentid: bug_component_id,
258 },
259
260 corpus: ["fuzz_seed_corpus/*"],
261}
262
263cc_fuzz {
264 name: "libwebp_advanced_api_fuzzer",
265 defaults: ["libwebp_fuzzer_defaults"],
266
267 srcs: [
268 "tests/fuzzer/advanced_api_fuzzer.c",
269 ],
270
271 static_libs: [
272 "libwebp-decode",
273 ],
274}
275
276cc_fuzz {
277 name: "libwebp_animation_api_fuzzer",
278 defaults: ["libwebp_fuzzer_defaults"],
279
280 srcs: [
281 "tests/fuzzer/animation_api_fuzzer.c",
282 ],
283
284 static_libs: [
285 "libwebp-decode",
286 ],
287}
288
289cc_fuzz {
290 name: "libwebp_animencoder_fuzzer",
291 defaults: ["libwebp_fuzzer_defaults"],
292
293 srcs: [
294 "tests/fuzzer/animencoder_fuzzer.cc",
295 ],
296
297 static_libs: [
298 "libwebp-decode",
299 "libwebp-encode",
300 ],
301}
302
303cc_fuzz {
304 name: "libwebp_enc_dec_fuzzer",
305 defaults: ["libwebp_fuzzer_defaults"],
306
307 srcs: [
308 "tests/fuzzer/enc_dec_fuzzer.cc",
309 ],
310
311 static_libs: [
312 "libwebp-decode",
313 "libwebp-encode",
314 ],
315}
316
317cc_fuzz {
318 name: "libwebp_mux_demux_api_fuzzer",
319 defaults: ["libwebp_fuzzer_defaults"],
320
321 srcs: [
322 "tests/fuzzer/mux_demux_api_fuzzer.c",
323 ],
324
325 static_libs: [
326 "libwebp-decode",
327 "libwebp-encode",
328 ],
329}
330
331cc_fuzz {
332 name: "libwebp_simple_api_fuzzer",
333 defaults: ["libwebp_fuzzer_defaults"],
334
335 srcs: [
336 "tests/fuzzer/simple_api_fuzzer.c",
337 ],
338
339 static_libs: [
340 "libwebp-decode",
341 ],
342}