xref: /aosp_15_r20/external/libdav1d/Android.bp (revision c09093415860a1c2373dacd84c4fde00c507cdfd)
1*c0909341SAndroid Build Coastguard Worker// Copyright 2023 The Android Open Source Project
2*c0909341SAndroid Build Coastguard Worker//
3*c0909341SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*c0909341SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*c0909341SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*c0909341SAndroid Build Coastguard Worker//
7*c0909341SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*c0909341SAndroid Build Coastguard Worker//
9*c0909341SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*c0909341SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*c0909341SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*c0909341SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*c0909341SAndroid Build Coastguard Worker// limitations under the License.
14*c0909341SAndroid Build Coastguard Worker
15*c0909341SAndroid Build Coastguard Workerpackage {
16*c0909341SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_libdav1d_license"],
17*c0909341SAndroid Build Coastguard Worker}
18*c0909341SAndroid Build Coastguard Worker
19*c0909341SAndroid Build Coastguard Workerlicense {
20*c0909341SAndroid Build Coastguard Worker    name: "external_libdav1d_license",
21*c0909341SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*c0909341SAndroid Build Coastguard Worker    license_kinds: [
23*c0909341SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
24*c0909341SAndroid Build Coastguard Worker    ],
25*c0909341SAndroid Build Coastguard Worker    license_text: [
26*c0909341SAndroid Build Coastguard Worker        "LICENSE",
27*c0909341SAndroid Build Coastguard Worker    ],
28*c0909341SAndroid Build Coastguard Worker}
29*c0909341SAndroid Build Coastguard Worker
30*c0909341SAndroid Build Coastguard Workercc_defaults {
31*c0909341SAndroid Build Coastguard Worker    name: "libdav1d_defaults",
32*c0909341SAndroid Build Coastguard Worker    host_supported: true,
33*c0909341SAndroid Build Coastguard Worker    vendor_available: true,
34*c0909341SAndroid Build Coastguard Worker
35*c0909341SAndroid Build Coastguard Worker    export_include_dirs: [
36*c0909341SAndroid Build Coastguard Worker        "include",
37*c0909341SAndroid Build Coastguard Worker    ],
38*c0909341SAndroid Build Coastguard Worker
39*c0909341SAndroid Build Coastguard Worker    local_include_dirs: [
40*c0909341SAndroid Build Coastguard Worker        "include",
41*c0909341SAndroid Build Coastguard Worker        "include/common",
42*c0909341SAndroid Build Coastguard Worker        "include/dav1d",
43*c0909341SAndroid Build Coastguard Worker        "src",
44*c0909341SAndroid Build Coastguard Worker    ],
45*c0909341SAndroid Build Coastguard Worker
46*c0909341SAndroid Build Coastguard Worker    cflags: [
47*c0909341SAndroid Build Coastguard Worker        "-D_FILE_OFFSET_BITS=64",
48*c0909341SAndroid Build Coastguard Worker        "-D_ISOC99_SOURCE",
49*c0909341SAndroid Build Coastguard Worker        "-Wall",
50*c0909341SAndroid Build Coastguard Worker        "-Werror",
51*c0909341SAndroid Build Coastguard Worker        "-Werror=vla",
52*c0909341SAndroid Build Coastguard Worker        "-Wextra",
53*c0909341SAndroid Build Coastguard Worker        "-Winvalid-pch",
54*c0909341SAndroid Build Coastguard Worker        "-Wno-error=unused-parameter",
55*c0909341SAndroid Build Coastguard Worker        "-Wno-incompatible-pointer-types",
56*c0909341SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
57*c0909341SAndroid Build Coastguard Worker        "-Wundef",
58*c0909341SAndroid Build Coastguard Worker        "-fPIC",
59*c0909341SAndroid Build Coastguard Worker        "-ffast-math",
60*c0909341SAndroid Build Coastguard Worker        "-std=c99",
61*c0909341SAndroid Build Coastguard Worker    ],
62*c0909341SAndroid Build Coastguard Worker
63*c0909341SAndroid Build Coastguard Worker    arch: {
64*c0909341SAndroid Build Coastguard Worker        arm64: {
65*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
66*c0909341SAndroid Build Coastguard Worker                "config/arm64",
67*c0909341SAndroid Build Coastguard Worker                "src/arm",
68*c0909341SAndroid Build Coastguard Worker            ],
69*c0909341SAndroid Build Coastguard Worker        },
70*c0909341SAndroid Build Coastguard Worker
71*c0909341SAndroid Build Coastguard Worker        arm: {
72*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
73*c0909341SAndroid Build Coastguard Worker                "config/arm32",
74*c0909341SAndroid Build Coastguard Worker                "src/arm",
75*c0909341SAndroid Build Coastguard Worker            ],
76*c0909341SAndroid Build Coastguard Worker        },
77*c0909341SAndroid Build Coastguard Worker
78*c0909341SAndroid Build Coastguard Worker        x86_64: {
79*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
80*c0909341SAndroid Build Coastguard Worker                "config/x86_64",
81*c0909341SAndroid Build Coastguard Worker                "src/x86",
82*c0909341SAndroid Build Coastguard Worker            ],
83*c0909341SAndroid Build Coastguard Worker        },
84*c0909341SAndroid Build Coastguard Worker
85*c0909341SAndroid Build Coastguard Worker        x86: {
86*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
87*c0909341SAndroid Build Coastguard Worker                "config/x86_32",
88*c0909341SAndroid Build Coastguard Worker                "src/x86",
89*c0909341SAndroid Build Coastguard Worker            ],
90*c0909341SAndroid Build Coastguard Worker        },
91*c0909341SAndroid Build Coastguard Worker
92*c0909341SAndroid Build Coastguard Worker        riscv64: {
93*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
94*c0909341SAndroid Build Coastguard Worker                "config/riscv64",
95*c0909341SAndroid Build Coastguard Worker            ],
96*c0909341SAndroid Build Coastguard Worker        },
97*c0909341SAndroid Build Coastguard Worker    },
98*c0909341SAndroid Build Coastguard Worker
99*c0909341SAndroid Build Coastguard Worker    sanitize: {
100*c0909341SAndroid Build Coastguard Worker        integer_overflow: true,
101*c0909341SAndroid Build Coastguard Worker        misc_undefined: ["bounds"],
102*c0909341SAndroid Build Coastguard Worker        cfi: true,
103*c0909341SAndroid Build Coastguard Worker        config: {
104*c0909341SAndroid Build Coastguard Worker            cfi_assembly_support: true,
105*c0909341SAndroid Build Coastguard Worker        },
106*c0909341SAndroid Build Coastguard Worker        blocklist: "libdav1d_blocklist.txt",
107*c0909341SAndroid Build Coastguard Worker    },
108*c0909341SAndroid Build Coastguard Worker
109*c0909341SAndroid Build Coastguard Worker    min_sdk_version: "29",
110*c0909341SAndroid Build Coastguard Worker    apex_available: [
111*c0909341SAndroid Build Coastguard Worker        "//apex_available:platform",
112*c0909341SAndroid Build Coastguard Worker        "com.android.media.swcodec",
113*c0909341SAndroid Build Coastguard Worker    ],
114*c0909341SAndroid Build Coastguard Worker}
115*c0909341SAndroid Build Coastguard Worker
116*c0909341SAndroid Build Coastguard Workerlibdav1d_tmpl_srcs = [
117*c0909341SAndroid Build Coastguard Worker    "src/cdef_apply_tmpl.c",
118*c0909341SAndroid Build Coastguard Worker    "src/cdef_tmpl.c",
119*c0909341SAndroid Build Coastguard Worker    "src/fg_apply_tmpl.c",
120*c0909341SAndroid Build Coastguard Worker    "src/filmgrain_tmpl.c",
121*c0909341SAndroid Build Coastguard Worker    "src/ipred_prepare_tmpl.c",
122*c0909341SAndroid Build Coastguard Worker    "src/ipred_tmpl.c",
123*c0909341SAndroid Build Coastguard Worker    "src/itx_tmpl.c",
124*c0909341SAndroid Build Coastguard Worker    "src/lf_apply_tmpl.c",
125*c0909341SAndroid Build Coastguard Worker    "src/loopfilter_tmpl.c",
126*c0909341SAndroid Build Coastguard Worker    "src/looprestoration_tmpl.c",
127*c0909341SAndroid Build Coastguard Worker    "src/lr_apply_tmpl.c",
128*c0909341SAndroid Build Coastguard Worker    "src/mc_tmpl.c",
129*c0909341SAndroid Build Coastguard Worker    "src/recon_tmpl.c",
130*c0909341SAndroid Build Coastguard Worker]
131*c0909341SAndroid Build Coastguard Worker
132*c0909341SAndroid Build Coastguard Workercc_library_static {
133*c0909341SAndroid Build Coastguard Worker    name: "libdav1d_dotprod_i8mm",
134*c0909341SAndroid Build Coastguard Worker    defaults: [
135*c0909341SAndroid Build Coastguard Worker        "libdav1d_defaults",
136*c0909341SAndroid Build Coastguard Worker    ],
137*c0909341SAndroid Build Coastguard Worker    vendor_available: true,
138*c0909341SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
139*c0909341SAndroid Build Coastguard Worker
140*c0909341SAndroid Build Coastguard Worker    cflags: [
141*c0909341SAndroid Build Coastguard Worker        "-Xclang -target-feature",
142*c0909341SAndroid Build Coastguard Worker        // This comment prevents bpfmt from sorting the flags incorrectly.
143*c0909341SAndroid Build Coastguard Worker        "-Xclang +dotprod",
144*c0909341SAndroid Build Coastguard Worker        // This comment prevents bpfmt from sorting the flags incorrectly.
145*c0909341SAndroid Build Coastguard Worker        "-Xclang -target-feature",
146*c0909341SAndroid Build Coastguard Worker        // This comment prevents bpfmt from sorting the flags incorrectly.
147*c0909341SAndroid Build Coastguard Worker        "-Xclang +i8mm",
148*c0909341SAndroid Build Coastguard Worker    ],
149*c0909341SAndroid Build Coastguard Worker
150*c0909341SAndroid Build Coastguard Worker    arch: {
151*c0909341SAndroid Build Coastguard Worker        arm64: {
152*c0909341SAndroid Build Coastguard Worker            srcs: [
153*c0909341SAndroid Build Coastguard Worker                "src/arm/64/mc_dotprod.S",
154*c0909341SAndroid Build Coastguard Worker            ],
155*c0909341SAndroid Build Coastguard Worker        },
156*c0909341SAndroid Build Coastguard Worker    },
157*c0909341SAndroid Build Coastguard Worker}
158*c0909341SAndroid Build Coastguard Worker
159*c0909341SAndroid Build Coastguard Workercc_library_static {
160*c0909341SAndroid Build Coastguard Worker    name: "libdav1d_sve2",
161*c0909341SAndroid Build Coastguard Worker    defaults: [
162*c0909341SAndroid Build Coastguard Worker        "libdav1d_defaults",
163*c0909341SAndroid Build Coastguard Worker    ],
164*c0909341SAndroid Build Coastguard Worker    vendor_available: true,
165*c0909341SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
166*c0909341SAndroid Build Coastguard Worker
167*c0909341SAndroid Build Coastguard Worker    cflags: [
168*c0909341SAndroid Build Coastguard Worker        "-Xclang -target-feature",
169*c0909341SAndroid Build Coastguard Worker        // This comment prevents bpfmt from sorting the flags incorrectly.
170*c0909341SAndroid Build Coastguard Worker        "-Xclang +sve2",
171*c0909341SAndroid Build Coastguard Worker    ],
172*c0909341SAndroid Build Coastguard Worker
173*c0909341SAndroid Build Coastguard Worker    arch: {
174*c0909341SAndroid Build Coastguard Worker        arm64: {
175*c0909341SAndroid Build Coastguard Worker            srcs: [
176*c0909341SAndroid Build Coastguard Worker                "src/arm/64/mc16_sve.S",
177*c0909341SAndroid Build Coastguard Worker            ],
178*c0909341SAndroid Build Coastguard Worker        },
179*c0909341SAndroid Build Coastguard Worker    },
180*c0909341SAndroid Build Coastguard Worker}
181*c0909341SAndroid Build Coastguard Worker
182*c0909341SAndroid Build Coastguard Workercc_library_static {
183*c0909341SAndroid Build Coastguard Worker    name: "libdav1d_8bit",
184*c0909341SAndroid Build Coastguard Worker    defaults: [
185*c0909341SAndroid Build Coastguard Worker        "libdav1d_defaults",
186*c0909341SAndroid Build Coastguard Worker    ],
187*c0909341SAndroid Build Coastguard Worker    cflags: [
188*c0909341SAndroid Build Coastguard Worker        "-DBITDEPTH=8",
189*c0909341SAndroid Build Coastguard Worker    ],
190*c0909341SAndroid Build Coastguard Worker    srcs: libdav1d_tmpl_srcs,
191*c0909341SAndroid Build Coastguard Worker
192*c0909341SAndroid Build Coastguard Worker    arch: {
193*c0909341SAndroid Build Coastguard Worker        arm64: {
194*c0909341SAndroid Build Coastguard Worker            srcs: [
195*c0909341SAndroid Build Coastguard Worker                "src/arm/64/cdef.S",
196*c0909341SAndroid Build Coastguard Worker                "src/arm/64/filmgrain.S",
197*c0909341SAndroid Build Coastguard Worker                "src/arm/64/ipred.S",
198*c0909341SAndroid Build Coastguard Worker                "src/arm/64/itx.S",
199*c0909341SAndroid Build Coastguard Worker                "src/arm/64/loopfilter.S",
200*c0909341SAndroid Build Coastguard Worker                "src/arm/64/looprestoration.S",
201*c0909341SAndroid Build Coastguard Worker                "src/arm/64/mc.S",
202*c0909341SAndroid Build Coastguard Worker            ],
203*c0909341SAndroid Build Coastguard Worker        },
204*c0909341SAndroid Build Coastguard Worker
205*c0909341SAndroid Build Coastguard Worker        arm: {
206*c0909341SAndroid Build Coastguard Worker            srcs: [
207*c0909341SAndroid Build Coastguard Worker                "src/arm/32/cdef.S",
208*c0909341SAndroid Build Coastguard Worker                "src/arm/32/filmgrain.S",
209*c0909341SAndroid Build Coastguard Worker                "src/arm/32/ipred.S",
210*c0909341SAndroid Build Coastguard Worker                "src/arm/32/itx.S",
211*c0909341SAndroid Build Coastguard Worker                "src/arm/32/loopfilter.S",
212*c0909341SAndroid Build Coastguard Worker                "src/arm/32/looprestoration.S",
213*c0909341SAndroid Build Coastguard Worker                "src/arm/32/mc.S",
214*c0909341SAndroid Build Coastguard Worker            ],
215*c0909341SAndroid Build Coastguard Worker        },
216*c0909341SAndroid Build Coastguard Worker    },
217*c0909341SAndroid Build Coastguard Worker}
218*c0909341SAndroid Build Coastguard Worker
219*c0909341SAndroid Build Coastguard Workercc_library_static {
220*c0909341SAndroid Build Coastguard Worker    name: "libdav1d_16bit",
221*c0909341SAndroid Build Coastguard Worker    defaults: [
222*c0909341SAndroid Build Coastguard Worker        "libdav1d_defaults",
223*c0909341SAndroid Build Coastguard Worker    ],
224*c0909341SAndroid Build Coastguard Worker    cflags: [
225*c0909341SAndroid Build Coastguard Worker        "-DBITDEPTH=16",
226*c0909341SAndroid Build Coastguard Worker    ],
227*c0909341SAndroid Build Coastguard Worker    srcs: libdav1d_tmpl_srcs,
228*c0909341SAndroid Build Coastguard Worker
229*c0909341SAndroid Build Coastguard Worker    arch: {
230*c0909341SAndroid Build Coastguard Worker        arm64: {
231*c0909341SAndroid Build Coastguard Worker            srcs: [
232*c0909341SAndroid Build Coastguard Worker                "src/arm/64/cdef16.S",
233*c0909341SAndroid Build Coastguard Worker                "src/arm/64/filmgrain16.S",
234*c0909341SAndroid Build Coastguard Worker                "src/arm/64/ipred16.S",
235*c0909341SAndroid Build Coastguard Worker                "src/arm/64/itx16.S",
236*c0909341SAndroid Build Coastguard Worker                "src/arm/64/loopfilter16.S",
237*c0909341SAndroid Build Coastguard Worker                "src/arm/64/looprestoration16.S",
238*c0909341SAndroid Build Coastguard Worker                "src/arm/64/mc16.S",
239*c0909341SAndroid Build Coastguard Worker            ],
240*c0909341SAndroid Build Coastguard Worker        },
241*c0909341SAndroid Build Coastguard Worker
242*c0909341SAndroid Build Coastguard Worker        arm: {
243*c0909341SAndroid Build Coastguard Worker            srcs: [
244*c0909341SAndroid Build Coastguard Worker                "src/arm/32/cdef16.S",
245*c0909341SAndroid Build Coastguard Worker                "src/arm/32/filmgrain16.S",
246*c0909341SAndroid Build Coastguard Worker                "src/arm/32/ipred16.S",
247*c0909341SAndroid Build Coastguard Worker                "src/arm/32/itx16.S",
248*c0909341SAndroid Build Coastguard Worker                "src/arm/32/loopfilter16.S",
249*c0909341SAndroid Build Coastguard Worker                "src/arm/32/looprestoration16.S",
250*c0909341SAndroid Build Coastguard Worker                "src/arm/32/mc16.S",
251*c0909341SAndroid Build Coastguard Worker            ],
252*c0909341SAndroid Build Coastguard Worker        },
253*c0909341SAndroid Build Coastguard Worker    },
254*c0909341SAndroid Build Coastguard Worker}
255*c0909341SAndroid Build Coastguard Worker
256*c0909341SAndroid Build Coastguard Workercc_library_static {
257*c0909341SAndroid Build Coastguard Worker    name: "libdav1d",
258*c0909341SAndroid Build Coastguard Worker    defaults: [
259*c0909341SAndroid Build Coastguard Worker        "libdav1d_defaults",
260*c0909341SAndroid Build Coastguard Worker    ],
261*c0909341SAndroid Build Coastguard Worker
262*c0909341SAndroid Build Coastguard Worker    srcs: [
263*c0909341SAndroid Build Coastguard Worker        "src/cdf.c",
264*c0909341SAndroid Build Coastguard Worker        "src/ctx.c",
265*c0909341SAndroid Build Coastguard Worker        "src/cpu.c",
266*c0909341SAndroid Build Coastguard Worker        "src/data.c",
267*c0909341SAndroid Build Coastguard Worker        "src/decode.c",
268*c0909341SAndroid Build Coastguard Worker        "src/dequant_tables.c",
269*c0909341SAndroid Build Coastguard Worker        "src/getbits.c",
270*c0909341SAndroid Build Coastguard Worker        "src/intra_edge.c",
271*c0909341SAndroid Build Coastguard Worker        "src/itx_1d.c",
272*c0909341SAndroid Build Coastguard Worker        "src/lf_mask.c",
273*c0909341SAndroid Build Coastguard Worker        "src/lib.c",
274*c0909341SAndroid Build Coastguard Worker        "src/log.c",
275*c0909341SAndroid Build Coastguard Worker        "src/mem.c",
276*c0909341SAndroid Build Coastguard Worker        "src/msac.c",
277*c0909341SAndroid Build Coastguard Worker        "src/obu.c",
278*c0909341SAndroid Build Coastguard Worker        "src/pal.c",
279*c0909341SAndroid Build Coastguard Worker        "src/picture.c",
280*c0909341SAndroid Build Coastguard Worker        "src/qm.c",
281*c0909341SAndroid Build Coastguard Worker        "src/ref.c",
282*c0909341SAndroid Build Coastguard Worker        "src/refmvs.c",
283*c0909341SAndroid Build Coastguard Worker        "src/scan.c",
284*c0909341SAndroid Build Coastguard Worker        "src/tables.c",
285*c0909341SAndroid Build Coastguard Worker        "src/thread_task.c",
286*c0909341SAndroid Build Coastguard Worker        "src/warpmv.c",
287*c0909341SAndroid Build Coastguard Worker        "src/wedge.c",
288*c0909341SAndroid Build Coastguard Worker    ],
289*c0909341SAndroid Build Coastguard Worker
290*c0909341SAndroid Build Coastguard Worker    arch: {
291*c0909341SAndroid Build Coastguard Worker        arm64: {
292*c0909341SAndroid Build Coastguard Worker            srcs: [
293*c0909341SAndroid Build Coastguard Worker                "src/arm/64/looprestoration_common.S",
294*c0909341SAndroid Build Coastguard Worker                "src/arm/64/msac.S",
295*c0909341SAndroid Build Coastguard Worker                "src/arm/64/refmvs.S",
296*c0909341SAndroid Build Coastguard Worker                "src/arm/cpu.c",
297*c0909341SAndroid Build Coastguard Worker            ],
298*c0909341SAndroid Build Coastguard Worker        },
299*c0909341SAndroid Build Coastguard Worker
300*c0909341SAndroid Build Coastguard Worker        arm: {
301*c0909341SAndroid Build Coastguard Worker            srcs: [
302*c0909341SAndroid Build Coastguard Worker                "src/arm/32/looprestoration_common.S",
303*c0909341SAndroid Build Coastguard Worker                "src/arm/32/msac.S",
304*c0909341SAndroid Build Coastguard Worker                "src/arm/32/refmvs.S",
305*c0909341SAndroid Build Coastguard Worker                "src/arm/cpu.c",
306*c0909341SAndroid Build Coastguard Worker            ],
307*c0909341SAndroid Build Coastguard Worker        },
308*c0909341SAndroid Build Coastguard Worker
309*c0909341SAndroid Build Coastguard Worker        x86_64: {
310*c0909341SAndroid Build Coastguard Worker            srcs: [
311*c0909341SAndroid Build Coastguard Worker                "src/x86/cpu.c",
312*c0909341SAndroid Build Coastguard Worker            ],
313*c0909341SAndroid Build Coastguard Worker        },
314*c0909341SAndroid Build Coastguard Worker
315*c0909341SAndroid Build Coastguard Worker        x86: {
316*c0909341SAndroid Build Coastguard Worker            srcs: [
317*c0909341SAndroid Build Coastguard Worker                "src/x86/cpu.c",
318*c0909341SAndroid Build Coastguard Worker            ],
319*c0909341SAndroid Build Coastguard Worker        },
320*c0909341SAndroid Build Coastguard Worker    },
321*c0909341SAndroid Build Coastguard Worker
322*c0909341SAndroid Build Coastguard Worker    whole_static_libs: [
323*c0909341SAndroid Build Coastguard Worker        "libdav1d_8bit",
324*c0909341SAndroid Build Coastguard Worker        "libdav1d_16bit",
325*c0909341SAndroid Build Coastguard Worker        "libdav1d_dotprod_i8mm",
326*c0909341SAndroid Build Coastguard Worker        "libdav1d_sve2",
327*c0909341SAndroid Build Coastguard Worker    ],
328*c0909341SAndroid Build Coastguard Worker}
329*c0909341SAndroid Build Coastguard Worker
330*c0909341SAndroid Build Coastguard Workercc_defaults {
331*c0909341SAndroid Build Coastguard Worker    name: "dav1d_test_defaults",
332*c0909341SAndroid Build Coastguard Worker    host_supported: true,
333*c0909341SAndroid Build Coastguard Worker
334*c0909341SAndroid Build Coastguard Worker    cflags: [
335*c0909341SAndroid Build Coastguard Worker        "-Wno-error=unused-parameter",
336*c0909341SAndroid Build Coastguard Worker    ],
337*c0909341SAndroid Build Coastguard Worker
338*c0909341SAndroid Build Coastguard Worker    local_include_dirs: [
339*c0909341SAndroid Build Coastguard Worker        "include",
340*c0909341SAndroid Build Coastguard Worker        "include/common",
341*c0909341SAndroid Build Coastguard Worker        "include/dav1d",
342*c0909341SAndroid Build Coastguard Worker        "src",
343*c0909341SAndroid Build Coastguard Worker        "tests/libfuzzer",
344*c0909341SAndroid Build Coastguard Worker        "tools",
345*c0909341SAndroid Build Coastguard Worker        "tools/input",
346*c0909341SAndroid Build Coastguard Worker        "tools/output",
347*c0909341SAndroid Build Coastguard Worker    ],
348*c0909341SAndroid Build Coastguard Worker
349*c0909341SAndroid Build Coastguard Worker    arch: {
350*c0909341SAndroid Build Coastguard Worker        arm64: {
351*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
352*c0909341SAndroid Build Coastguard Worker                "config/arm64",
353*c0909341SAndroid Build Coastguard Worker            ],
354*c0909341SAndroid Build Coastguard Worker
355*c0909341SAndroid Build Coastguard Worker        },
356*c0909341SAndroid Build Coastguard Worker        arm: {
357*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
358*c0909341SAndroid Build Coastguard Worker                "config/arm32",
359*c0909341SAndroid Build Coastguard Worker            ],
360*c0909341SAndroid Build Coastguard Worker
361*c0909341SAndroid Build Coastguard Worker        },
362*c0909341SAndroid Build Coastguard Worker        x86_64: {
363*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
364*c0909341SAndroid Build Coastguard Worker                "config/x86_64",
365*c0909341SAndroid Build Coastguard Worker            ],
366*c0909341SAndroid Build Coastguard Worker
367*c0909341SAndroid Build Coastguard Worker        },
368*c0909341SAndroid Build Coastguard Worker        x86: {
369*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
370*c0909341SAndroid Build Coastguard Worker                "config/x86_32",
371*c0909341SAndroid Build Coastguard Worker            ],
372*c0909341SAndroid Build Coastguard Worker
373*c0909341SAndroid Build Coastguard Worker        },
374*c0909341SAndroid Build Coastguard Worker        riscv64: {
375*c0909341SAndroid Build Coastguard Worker            local_include_dirs: [
376*c0909341SAndroid Build Coastguard Worker                "config/riscv64",
377*c0909341SAndroid Build Coastguard Worker            ],
378*c0909341SAndroid Build Coastguard Worker
379*c0909341SAndroid Build Coastguard Worker        },
380*c0909341SAndroid Build Coastguard Worker    },
381*c0909341SAndroid Build Coastguard Worker
382*c0909341SAndroid Build Coastguard Worker    static_libs: [
383*c0909341SAndroid Build Coastguard Worker        "libdav1d",
384*c0909341SAndroid Build Coastguard Worker    ],
385*c0909341SAndroid Build Coastguard Worker}
386*c0909341SAndroid Build Coastguard Worker
387*c0909341SAndroid Build Coastguard Workercc_defaults {
388*c0909341SAndroid Build Coastguard Worker    name: "dav1d_fuzzer_defaults",
389*c0909341SAndroid Build Coastguard Worker    defaults: [
390*c0909341SAndroid Build Coastguard Worker        "dav1d_test_defaults",
391*c0909341SAndroid Build Coastguard Worker    ],
392*c0909341SAndroid Build Coastguard Worker    srcs: [
393*c0909341SAndroid Build Coastguard Worker        "tests/libfuzzer/dav1d_fuzzer.c",
394*c0909341SAndroid Build Coastguard Worker    ],
395*c0909341SAndroid Build Coastguard Worker
396*c0909341SAndroid Build Coastguard Worker    fuzz_config: {
397*c0909341SAndroid Build Coastguard Worker        cc: ["[email protected]"],
398*c0909341SAndroid Build Coastguard Worker        componentid: 25690,
399*c0909341SAndroid Build Coastguard Worker    },
400*c0909341SAndroid Build Coastguard Worker}
401*c0909341SAndroid Build Coastguard Worker
402*c0909341SAndroid Build Coastguard Workercc_fuzz {
403*c0909341SAndroid Build Coastguard Worker    name: "dav1d_fuzzer",
404*c0909341SAndroid Build Coastguard Worker    defaults: [
405*c0909341SAndroid Build Coastguard Worker        "dav1d_fuzzer_defaults",
406*c0909341SAndroid Build Coastguard Worker    ],
407*c0909341SAndroid Build Coastguard Worker}
408*c0909341SAndroid Build Coastguard Worker
409*c0909341SAndroid Build Coastguard Workercc_fuzz {
410*c0909341SAndroid Build Coastguard Worker    name: "dav1d_fuzzer_mt",
411*c0909341SAndroid Build Coastguard Worker    defaults: [
412*c0909341SAndroid Build Coastguard Worker        "dav1d_fuzzer_defaults",
413*c0909341SAndroid Build Coastguard Worker    ],
414*c0909341SAndroid Build Coastguard Worker
415*c0909341SAndroid Build Coastguard Worker    cflags: [
416*c0909341SAndroid Build Coastguard Worker        "-DDAV1D_MT_FUZZING=1",
417*c0909341SAndroid Build Coastguard Worker    ],
418*c0909341SAndroid Build Coastguard Worker}
419*c0909341SAndroid Build Coastguard Worker
420*c0909341SAndroid Build Coastguard Workercc_binary {
421*c0909341SAndroid Build Coastguard Worker    name: "dav1d",
422*c0909341SAndroid Build Coastguard Worker    defaults: [
423*c0909341SAndroid Build Coastguard Worker        "dav1d_test_defaults",
424*c0909341SAndroid Build Coastguard Worker    ],
425*c0909341SAndroid Build Coastguard Worker
426*c0909341SAndroid Build Coastguard Worker    srcs: [
427*c0909341SAndroid Build Coastguard Worker        "tools/dav1d.c",
428*c0909341SAndroid Build Coastguard Worker        "tools/dav1d_cli_parse.c",
429*c0909341SAndroid Build Coastguard Worker        "tools/input/annexb.c",
430*c0909341SAndroid Build Coastguard Worker        "tools/input/input.c",
431*c0909341SAndroid Build Coastguard Worker        "tools/input/ivf.c",
432*c0909341SAndroid Build Coastguard Worker        "tools/input/section5.c",
433*c0909341SAndroid Build Coastguard Worker        "tools/output/md5.c",
434*c0909341SAndroid Build Coastguard Worker        "tools/output/null.c",
435*c0909341SAndroid Build Coastguard Worker        "tools/output/output.c",
436*c0909341SAndroid Build Coastguard Worker        "tools/output/y4m2.c",
437*c0909341SAndroid Build Coastguard Worker        "tools/output/yuv.c",
438*c0909341SAndroid Build Coastguard Worker    ],
439*c0909341SAndroid Build Coastguard Worker}
440