1/* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at: 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 17 */ 18 19package { 20 // See: http://go/android-license-faq 21 // A large-scale-change added 'default_applicable_licenses' to import 22 // all of the 'license_kinds' from "frameworks_av_license" 23 // to get the below license kinds: 24 // SPDX-license-identifier-Apache-2.0 25 default_applicable_licenses: ["frameworks_av_license"], 26} 27 28cc_defaults { 29 name: "C2Fuzzer-defaults", 30 31 defaults: ["libcodec2-static-defaults"], 32 33 srcs: [ 34 "C2Fuzzer.cpp", 35 ], 36 37 cflags: [ 38 "-Wall", 39 "-Werror", 40 ], 41} 42 43cc_defaults { 44 name: "C2Fuzzer-defaults-shipped", 45 defaults: ["C2Fuzzer-defaults"], 46 fuzz_config: { 47 cc: [ 48 "android-fwk-video@google.com", 49 ], 50 componentid: 1344, 51 hotlists: [ 52 "4593311", 53 ], 54 description: "The fuzzer targets the APIs of libcodec2", 55 vector: "remote", 56 service_privilege: "constrained", 57 users: "multi_user", 58 fuzzed_code_usage: "shipped", 59 }, 60} 61 62cc_defaults { 63 name: "C2Fuzzer-defaults-experimental", 64 defaults: ["C2Fuzzer-defaults"], 65 fuzz_config: { 66 cc: [ 67 "android-fwk-video@google.com", 68 ], 69 componentid: 1344, 70 hotlists: [ 71 "4593311", 72 ], 73 description: "The fuzzer targets the APIs of libcodec2", 74 vector: "remote", 75 service_privilege: "constrained", 76 users: "multi_user", 77 fuzzed_code_usage: "experimental", 78 }, 79} 80 81cc_fuzz { 82 name: "C2FuzzerAvcDec", 83 defaults: ["C2Fuzzer-defaults-shipped"], 84 85 cflags: [ 86 "-DC2COMPONENTNAME=\"c2.android.avc.decoder\"", 87 ], 88 89 static_libs: [ 90 "libavcdec", 91 "libcodec2_soft_avcdec", 92 ], 93} 94 95cc_fuzz { 96 name: "C2FuzzerHevcDec", 97 defaults: ["C2Fuzzer-defaults-shipped"], 98 99 cflags: [ 100 "-DC2COMPONENTNAME=\"c2.android.hevc.decoder\"", 101 ], 102 103 static_libs: [ 104 "libhevcdec", 105 "libcodec2_soft_hevcdec", 106 ], 107} 108 109cc_fuzz { 110 name: "C2FuzzerMpeg2Dec", 111 defaults: ["C2Fuzzer-defaults-shipped"], 112 113 cflags: [ 114 "-DC2COMPONENTNAME=\"c2.android.mpeg2.decoder\"", 115 ], 116 117 static_libs: [ 118 "libmpeg2dec", 119 "libcodec2_soft_mpeg2dec", 120 ], 121} 122 123cc_fuzz { 124 name: "C2FuzzerMpeg4Dec", 125 defaults: ["C2Fuzzer-defaults-shipped"], 126 127 cflags: [ 128 "-DC2COMPONENTNAME=\"c2.android.mpeg4.decoder\"", 129 ], 130 131 static_libs: [ 132 "libstagefright_m4vh263dec", 133 "libcodec2_soft_mpeg4dec", 134 ], 135} 136 137cc_fuzz { 138 name: "C2FuzzerH263Dec", 139 defaults: ["C2Fuzzer-defaults-shipped"], 140 141 cflags: [ 142 "-DC2COMPONENTNAME=\"c2.android.h263.decoder\"", 143 ], 144 145 static_libs: [ 146 "libstagefright_m4vh263dec", 147 "libcodec2_soft_h263dec", 148 ], 149} 150 151cc_fuzz { 152 name: "C2FuzzerVp8Dec", 153 defaults: ["C2Fuzzer-defaults-shipped"], 154 155 cflags: [ 156 "-DC2COMPONENTNAME=\"c2.android.vp8.decoder\"", 157 ], 158 159 static_libs: [ 160 "libvpx", 161 "libcodec2_soft_vp8dec", 162 ], 163} 164 165cc_fuzz { 166 name: "C2FuzzerVp9Dec", 167 defaults: ["C2Fuzzer-defaults-shipped"], 168 169 cflags: [ 170 "-DC2COMPONENTNAME=\"c2.android.vp9.decoder\"", 171 ], 172 173 static_libs: [ 174 "libvpx", 175 "libcodec2_soft_vp9dec", 176 ], 177} 178 179cc_fuzz { 180 name: "C2FuzzerAV1Dec", 181 defaults: ["C2Fuzzer-defaults-shipped"], 182 183 cflags: [ 184 "-DC2COMPONENTNAME=\"c2.android.av1.decoder\"", 185 ], 186 187 static_libs: [ 188 "libgav1", 189 "libyuv", 190 "libcodec2_soft_av1dec_gav1", 191 ], 192} 193 194cc_fuzz { 195 name: "C2FuzzerAPVDec", 196 defaults: ["C2Fuzzer-defaults"], 197 198 cflags: [ 199 "-DC2COMPONENTNAME=\"c2.android.apv.decoder\"", 200 ], 201 202 static_libs: [ 203 "libopenapv", 204 "libcodec2_soft_apvdec", 205 ], 206} 207 208cc_fuzz { 209 name: "C2FuzzerAacDec", 210 defaults: ["C2Fuzzer-defaults-shipped"], 211 212 cflags: [ 213 "-DC2COMPONENTNAME=\"c2.android.aac.decoder\"", 214 ], 215 216 static_libs: [ 217 "libFraunhoferAAC", 218 "libcodec2_soft_aacdec", 219 ], 220} 221 222cc_fuzz { 223 name: "C2FuzzerAmrnbDec", 224 defaults: ["C2Fuzzer-defaults-shipped"], 225 226 cflags: [ 227 "-DC2COMPONENTNAME=\"c2.android.amrnb.decoder\"", 228 ], 229 230 static_libs: [ 231 "libstagefright_amrnbdec", 232 "libstagefright_amrwbdec", 233 "libstagefright_amrnb_common", 234 "libcodec2_soft_amrnbdec", 235 ], 236} 237 238cc_fuzz { 239 name: "C2FuzzerAmrwbDec", 240 defaults: ["C2Fuzzer-defaults-shipped"], 241 242 cflags: [ 243 "-DC2COMPONENTNAME=\"c2.android.amrwb.decoder\"", 244 ], 245 246 static_libs: [ 247 "libstagefright_amrnbdec", 248 "libstagefright_amrwbdec", 249 "libstagefright_amrnb_common", 250 "libcodec2_soft_amrwbdec", 251 ], 252} 253 254cc_fuzz { 255 name: "C2FuzzerFlacDec", 256 defaults: ["C2Fuzzer-defaults-shipped"], 257 258 cflags: [ 259 "-DC2COMPONENTNAME=\"c2.android.flac.decoder\"", 260 ], 261 262 static_libs: [ 263 "libFLAC", 264 "libstagefright_flacdec", 265 "libcodec2_soft_flacdec", 266 ], 267} 268 269cc_fuzz { 270 name: "C2FuzzerG711AlawDec", 271 defaults: ["C2Fuzzer-defaults-shipped"], 272 273 cflags: [ 274 "-DC2COMPONENTNAME=\"c2.android.g711.alaw.decoder\"", 275 ], 276 277 static_libs: [ 278 "codecs_g711dec", 279 "libcodec2_soft_g711alawdec", 280 ], 281} 282 283cc_fuzz { 284 name: "C2FuzzerG711MlawDec", 285 defaults: ["C2Fuzzer-defaults-shipped"], 286 287 cflags: [ 288 "-DC2COMPONENTNAME=\"c2.android.g711.mlaw.decoder\"", 289 ], 290 291 static_libs: [ 292 "codecs_g711dec", 293 "libcodec2_soft_g711mlawdec", 294 ], 295} 296 297cc_fuzz { 298 name: "C2FuzzerGsmDec", 299 defaults: ["C2Fuzzer-defaults-shipped"], 300 301 cflags: [ 302 "-DC2COMPONENTNAME=\"c2.android.gsm.decoder\"", 303 ], 304 305 static_libs: [ 306 "libgsm", 307 "libcodec2_soft_gsmdec", 308 ], 309} 310 311cc_fuzz { 312 name: "C2FuzzerMp3Dec", 313 defaults: ["C2Fuzzer-defaults-shipped"], 314 315 cflags: [ 316 "-DC2COMPONENTNAME=\"c2.android.mp3.decoder\"", 317 ], 318 319 static_libs: [ 320 "libstagefright_mp3dec", 321 "libcodec2_soft_mp3dec", 322 ], 323} 324 325cc_fuzz { 326 name: "C2FuzzerOpusDec", 327 defaults: ["C2Fuzzer-defaults-shipped"], 328 329 cflags: [ 330 "-DC2COMPONENTNAME=\"c2.android.opus.decoder\"", 331 ], 332 333 static_libs: [ 334 "libopus", 335 "libcodec2_soft_opusdec", 336 ], 337} 338 339cc_fuzz { 340 name: "C2FuzzerRawDec", 341 defaults: ["C2Fuzzer-defaults-shipped"], 342 343 cflags: [ 344 "-DC2COMPONENTNAME=\"c2.android.raw.decoder\"", 345 ], 346 347 static_libs: [ 348 "libcodec2_soft_rawdec", 349 ], 350} 351 352cc_fuzz { 353 name: "C2FuzzerVorbisDec", 354 defaults: ["C2Fuzzer-defaults-shipped"], 355 356 cflags: [ 357 "-DC2COMPONENTNAME=\"c2.android.vorbis.decoder\"", 358 ], 359 360 static_libs: [ 361 "libvorbisidec", 362 "libcodec2_soft_vorbisdec", 363 ], 364} 365 366cc_fuzz { 367 name: "C2FuzzerXaacDec", 368 defaults: ["C2Fuzzer-defaults-experimental"], 369 370 cflags: [ 371 "-DC2COMPONENTNAME=\"c2.android.xaac.decoder\"", 372 ], 373 374 static_libs: [ 375 "libxaacdec", 376 "libcodec2_soft_xaacdec", 377 ], 378} 379