• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["external_libvpx_license"],
3}
4
5// Added automatically by a large-scale-change that took the approach of
6// 'apply every license found to every target'. While this makes sure we respect
7// every license restriction, it may not be entirely correct.
8//
9// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10//
11// Please consider splitting the single license below into multiple licenses,
12// taking care not to lose any license_kind information, and overriding the
13// default license using the 'licenses: [...]' property on targets as needed.
14//
15// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16// to attach the license to, and including a comment whether the files may be
17// used in the current project.
18// See: http://go/android-license-faq
19license {
20    name: "external_libvpx_license",
21    visibility: [":__subpackages__"],
22    license_kinds: [
23        "SPDX-license-identifier-BSD",
24        "SPDX-license-identifier-ISC",
25        "legacy_unencumbered",
26    ],
27    license_text: [
28        "NOTICE",
29    ],
30}
31
32cc_library {
33    name: "libvpx",
34    vendor_available: true,
35    host_supported: true,
36    version_script: "exports.lds",
37
38    target: {
39        darwin: {
40            enabled: false,
41        },
42        android: {
43            sanitize: {
44                cfi: true,
45                config: {
46                    cfi_assembly_support: true,
47                },
48            },
49        },
50    },
51
52    arch: {
53        // configured to require the neon unit
54        arm: {
55            // Want arm, not thumb, optimized
56            instruction_set: "arm",
57
58            srcs: libvpx_arm_neon_c_srcs + libvpx_arm_neon_asm_srcs,
59            local_include_dirs: ["config/arm-neon"],
60        },
61
62        arm64: {
63            srcs: libvpx_arm64_c_srcs,
64            local_include_dirs: ["config/arm64"],
65        },
66
67        riscv64: {
68            srcs: libvpx_generic_c_srcs,
69            local_include_dirs: ["config/generic"],
70        },
71
72        x86: {
73            srcs: libvpx_x86_c_srcs + libvpx_x86_asm_srcs,
74            local_include_dirs: ["config/x86"],
75            cflags: [
76                "-mssse3",
77            ],
78        },
79
80        x86_64: {
81            srcs: libvpx_x86_64_c_srcs + libvpx_x86_64_asm_srcs,
82            local_include_dirs: ["config/x86_64"],
83            cflags: [
84                "-mssse3",
85            ],
86        },
87    },
88
89    cflags: [
90        "-O3",
91        "-Wno-unused-parameter",
92    ],
93
94    export_include_dirs: ["."],
95
96    sanitize: {
97        integer_overflow: true,
98        misc_undefined: ["bounds"],
99        blocklist: "libvpx_blocklist.txt",
100    },
101    min_sdk_version: "29",
102    apex_available: [
103        "//apex_available:platform",
104        "com.android.media.swcodec",
105    ],
106}
107
108cc_library_headers {
109    name: "libvpx_headers",
110    vendor_available: true,
111    host_supported: true,
112
113    export_include_dirs: ["."],
114}
115
116cc_fuzz {
117    name: "vp9_dec_fuzzer",
118    host_supported: true,
119    srcs: [
120        "examples/vpx_dec_fuzzer.cc",
121    ],
122    target: {
123        darwin: {
124            enabled: false,
125        },
126    },
127    arch: {
128        arm: {
129            local_include_dirs: ["config/arm-neon"],
130        },
131
132        arm64: {
133            local_include_dirs: ["config/arm64"],
134        },
135
136        x86: {
137            local_include_dirs: ["config/x86"],
138        },
139
140        x86_64: {
141            local_include_dirs: ["config/x86_64"],
142        },
143    },
144    cflags: ["-DDECODER=vp9"],
145    static_libs: [
146        "libvpx",
147    ],
148}
149
150cc_fuzz {
151    name: "vp8_dec_fuzzer",
152    host_supported: true,
153    srcs: [
154        "examples/vpx_dec_fuzzer.cc",
155    ],
156    target: {
157        darwin: {
158            enabled: false,
159        },
160    },
161    arch: {
162        arm: {
163            local_include_dirs: ["config/arm-neon"],
164        },
165
166        arm64: {
167            local_include_dirs: ["config/arm64"],
168        },
169
170        x86: {
171            local_include_dirs: ["config/x86"],
172        },
173
174        x86_64: {
175            local_include_dirs: ["config/x86_64"],
176        },
177    },
178
179    cflags: ["-DDECODER=vp8"],
180    static_libs: [
181        "libvpx",
182    ],
183}
184