James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 1 | // Copyright 2019 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 | |
Bob Badour | a0dbaa1 | 2021-02-25 15:24:55 -0800 | [diff] [blame] | 15 | package { |
| 16 | default_applicable_licenses: ["external_libgav1_license"], |
| 17 | } |
| 18 | |
| 19 | // Added automatically by a large-scale-change |
| 20 | // See: http://go/android-license-faq |
| 21 | license { |
| 22 | name: "external_libgav1_license", |
| 23 | visibility: [":__subpackages__"], |
| 24 | license_kinds: [ |
| 25 | "SPDX-license-identifier-Apache-2.0", |
| 26 | ], |
| 27 | license_text: [ |
| 28 | "libgav1/LICENSE", |
| 29 | ], |
| 30 | } |
| 31 | |
James Zern | 93f5299 | 2020-08-04 17:29:28 -0700 | [diff] [blame] | 32 | bug_component_id = 324837 |
| 33 | |
| 34 | fuzz_email_cc = ["jzern@google.com"] |
| 35 | |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 36 | cc_library_static { |
| 37 | name: "libgav1", |
James Zern | 93f5299 | 2020-08-04 17:29:28 -0700 | [diff] [blame] | 38 | host_supported: true, |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 39 | vendor_available: true, |
| 40 | |
| 41 | export_include_dirs: [ |
| 42 | ".", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 43 | "libgav1/src", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 44 | ], |
| 45 | |
| 46 | cflags: [ |
| 47 | "-DLIBGAV1_MAX_BITDEPTH=10", |
James Zern | 93f5299 | 2020-08-04 17:29:28 -0700 | [diff] [blame] | 48 | "-DLIBGAV1_THREADPOOL_USE_STD_MUTEX", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 49 | "-O2", |
| 50 | "-Wall", |
| 51 | "-Werror", |
| 52 | "-Wextra", |
| 53 | ], |
| 54 | |
| 55 | local_include_dirs: [ |
| 56 | "libgav1", |
| 57 | ], |
| 58 | |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 59 | // Note: if optimizations are required for x86 the avx2 & sse4 files should |
| 60 | // be split to their own targets to receive the correct flagging. All files |
| 61 | // in the library can be built for any target without producing empty |
| 62 | // object files. |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 63 | srcs: [ |
| 64 | "libgav1/src/buffer_pool.cc", |
| 65 | "libgav1/src/decoder.cc", |
| 66 | "libgav1/src/decoder_impl.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 67 | "libgav1/src/decoder_settings.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 68 | "libgav1/src/dsp/arm/average_blend_neon.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 69 | "libgav1/src/dsp/arm/cdef_neon.cc", |
James Zern | 43107df | 2021-10-28 21:40:41 -0700 | [diff] [blame] | 70 | "libgav1/src/dsp/arm/convolve_10bit_neon.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 71 | "libgav1/src/dsp/arm/convolve_neon.cc", |
| 72 | "libgav1/src/dsp/arm/distance_weighted_blend_neon.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 73 | "libgav1/src/dsp/arm/film_grain_neon.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 74 | "libgav1/src/dsp/arm/intra_edge_neon.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 75 | "libgav1/src/dsp/arm/intrapred_cfl_neon.cc", |
| 76 | "libgav1/src/dsp/arm/intrapred_directional_neon.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 77 | "libgav1/src/dsp/arm/intrapred_filter_neon.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 78 | "libgav1/src/dsp/arm/intrapred_neon.cc", |
| 79 | "libgav1/src/dsp/arm/intrapred_smooth_neon.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 80 | "libgav1/src/dsp/arm/inverse_transform_10bit_neon.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 81 | "libgav1/src/dsp/arm/inverse_transform_neon.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 82 | "libgav1/src/dsp/arm/loop_filter_neon.cc", |
James Zern | 43107df | 2021-10-28 21:40:41 -0700 | [diff] [blame] | 83 | "libgav1/src/dsp/arm/loop_restoration_10bit_neon.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 84 | "libgav1/src/dsp/arm/loop_restoration_neon.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 85 | "libgav1/src/dsp/arm/mask_blend_neon.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 86 | "libgav1/src/dsp/arm/motion_field_projection_neon.cc", |
| 87 | "libgav1/src/dsp/arm/motion_vector_search_neon.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 88 | "libgav1/src/dsp/arm/obmc_neon.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 89 | "libgav1/src/dsp/arm/super_res_neon.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 90 | "libgav1/src/dsp/arm/warp_neon.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 91 | "libgav1/src/dsp/arm/weight_mask_neon.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 92 | "libgav1/src/dsp/average_blend.cc", |
| 93 | "libgav1/src/dsp/cdef.cc", |
| 94 | "libgav1/src/dsp/constants.cc", |
| 95 | "libgav1/src/dsp/convolve.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 96 | "libgav1/src/dsp/distance_weighted_blend.cc", |
| 97 | "libgav1/src/dsp/dsp.cc", |
| 98 | "libgav1/src/dsp/film_grain.cc", |
| 99 | "libgav1/src/dsp/intra_edge.cc", |
| 100 | "libgav1/src/dsp/intrapred.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 101 | "libgav1/src/dsp/intrapred_cfl.cc", |
| 102 | "libgav1/src/dsp/intrapred_directional.cc", |
| 103 | "libgav1/src/dsp/intrapred_filter.cc", |
| 104 | "libgav1/src/dsp/intrapred_smooth.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 105 | "libgav1/src/dsp/inverse_transform.cc", |
| 106 | "libgav1/src/dsp/loop_filter.cc", |
| 107 | "libgav1/src/dsp/loop_restoration.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 108 | "libgav1/src/dsp/mask_blend.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 109 | "libgav1/src/dsp/motion_field_projection.cc", |
| 110 | "libgav1/src/dsp/motion_vector_search.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 111 | "libgav1/src/dsp/obmc.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 112 | "libgav1/src/dsp/super_res.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 113 | "libgav1/src/dsp/warp.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 114 | "libgav1/src/dsp/weight_mask.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 115 | "libgav1/src/dsp/x86/average_blend_sse4.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 116 | "libgav1/src/dsp/x86/cdef_avx2.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 117 | "libgav1/src/dsp/x86/cdef_sse4.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 118 | "libgav1/src/dsp/x86/convolve_avx2.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 119 | "libgav1/src/dsp/x86/convolve_sse4.cc", |
| 120 | "libgav1/src/dsp/x86/distance_weighted_blend_sse4.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 121 | "libgav1/src/dsp/x86/film_grain_sse4.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 122 | "libgav1/src/dsp/x86/intra_edge_sse4.cc", |
| 123 | "libgav1/src/dsp/x86/intrapred_cfl_sse4.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 124 | "libgav1/src/dsp/x86/intrapred_directional_sse4.cc", |
| 125 | "libgav1/src/dsp/x86/intrapred_filter_sse4.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 126 | "libgav1/src/dsp/x86/intrapred_smooth_sse4.cc", |
| 127 | "libgav1/src/dsp/x86/intrapred_sse4.cc", |
| 128 | "libgav1/src/dsp/x86/inverse_transform_sse4.cc", |
| 129 | "libgav1/src/dsp/x86/loop_filter_sse4.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 130 | "libgav1/src/dsp/x86/loop_restoration_10bit_avx2.cc", |
| 131 | "libgav1/src/dsp/x86/loop_restoration_10bit_sse4.cc", |
| 132 | "libgav1/src/dsp/x86/loop_restoration_avx2.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 133 | "libgav1/src/dsp/x86/loop_restoration_sse4.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 134 | "libgav1/src/dsp/x86/mask_blend_sse4.cc", |
| 135 | "libgav1/src/dsp/x86/motion_field_projection_sse4.cc", |
| 136 | "libgav1/src/dsp/x86/motion_vector_search_sse4.cc", |
James Zern | 90a9e4d | 2019-08-20 22:53:35 -0700 | [diff] [blame] | 137 | "libgav1/src/dsp/x86/obmc_sse4.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 138 | "libgav1/src/dsp/x86/super_res_sse4.cc", |
| 139 | "libgav1/src/dsp/x86/warp_sse4.cc", |
| 140 | "libgav1/src/dsp/x86/weight_mask_sse4.cc", |
| 141 | "libgav1/src/film_grain.cc", |
| 142 | "libgav1/src/frame_buffer.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 143 | "libgav1/src/internal_frame_buffer_list.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 144 | "libgav1/src/loop_restoration_info.cc", |
| 145 | "libgav1/src/motion_vector.cc", |
| 146 | "libgav1/src/obu_parser.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 147 | "libgav1/src/post_filter/cdef.cc", |
| 148 | "libgav1/src/post_filter/deblock.cc", |
| 149 | "libgav1/src/post_filter/loop_restoration.cc", |
| 150 | "libgav1/src/post_filter/post_filter.cc", |
| 151 | "libgav1/src/post_filter/super_res.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 152 | "libgav1/src/prediction_mask.cc", |
| 153 | "libgav1/src/quantizer.cc", |
| 154 | "libgav1/src/reconstruction.cc", |
| 155 | "libgav1/src/residual_buffer_pool.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 156 | "libgav1/src/status_code.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 157 | "libgav1/src/symbol_decoder_context.cc", |
| 158 | "libgav1/src/threading_strategy.cc", |
| 159 | "libgav1/src/tile/bitstream/mode_info.cc", |
| 160 | "libgav1/src/tile/bitstream/palette.cc", |
| 161 | "libgav1/src/tile/bitstream/partition.cc", |
| 162 | "libgav1/src/tile/bitstream/transform_size.cc", |
| 163 | "libgav1/src/tile/prediction.cc", |
| 164 | "libgav1/src/tile/tile.cc", |
James Zern | 8146136 | 2021-04-07 16:30:33 -0700 | [diff] [blame] | 165 | "libgav1/src/tile_scratch_buffer.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 166 | "libgav1/src/utils/bit_reader.cc", |
| 167 | "libgav1/src/utils/block_parameters_holder.cc", |
| 168 | "libgav1/src/utils/constants.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 169 | "libgav1/src/utils/cpu.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 170 | "libgav1/src/utils/entropy_decoder.cc", |
| 171 | "libgav1/src/utils/executor.cc", |
| 172 | "libgav1/src/utils/logging.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 173 | "libgav1/src/utils/raw_bit_reader.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 174 | "libgav1/src/utils/segmentation.cc", |
| 175 | "libgav1/src/utils/segmentation_map.cc", |
| 176 | "libgav1/src/utils/threadpool.cc", |
James Zern | 9a38f2a | 2020-06-25 19:19:16 -0700 | [diff] [blame] | 177 | "libgav1/src/version.cc", |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 178 | "libgav1/src/warp_prediction.cc", |
| 179 | "libgav1/src/yuv_buffer.cc", |
| 180 | ], |
| 181 | |
| 182 | arch: { |
| 183 | arm: { |
| 184 | instruction_set: "arm", |
| 185 | }, |
| 186 | }, |
Jooyung Han | 906486c | 2020-04-16 18:48:28 +0900 | [diff] [blame] | 187 | min_sdk_version: "29", |
Ray Essick | a9d9cdc | 2022-02-05 07:09:38 -0800 | [diff] [blame] | 188 | apex_available: [ |
| 189 | "//apex_available:platform", |
| 190 | "com.android.media.swcodec", |
| 191 | ], |
James Zern | d29ae72 | 2019-05-23 23:47:34 -0700 | [diff] [blame] | 192 | } |
James Zern | 93f5299 | 2020-08-04 17:29:28 -0700 | [diff] [blame] | 193 | |
| 194 | cc_defaults { |
| 195 | name: "libgav1_fuzzer_defaults", |
| 196 | host_supported: true, |
| 197 | native_coverage: true, |
| 198 | |
| 199 | cflags: [ |
| 200 | "-DLIBGAV1_MAX_BITDEPTH=10", |
| 201 | "-DLIBGAV1_THREADPOOL_USE_STD_MUTEX", |
| 202 | ], |
| 203 | |
| 204 | local_include_dirs: [ |
| 205 | "libgav1", |
| 206 | ], |
| 207 | |
| 208 | srcs: [ |
| 209 | "libgav1/examples/file_reader.cc", |
| 210 | "libgav1/examples/file_reader_constants.cc", |
| 211 | "libgav1/examples/file_reader_factory.cc", |
| 212 | "libgav1/examples/ivf_parser.cc", |
| 213 | ], |
| 214 | |
| 215 | static_libs: [ |
| 216 | "libgav1", |
| 217 | ], |
| 218 | |
| 219 | fuzz_config: { |
| 220 | cc: fuzz_email_cc, |
| 221 | componentid: bug_component_id, |
| 222 | }, |
| 223 | } |
| 224 | |
| 225 | cc_fuzz { |
| 226 | name: "libgav1_decoder_fuzzer", |
| 227 | defaults: ["libgav1_fuzzer_defaults"], |
| 228 | |
| 229 | srcs: [ |
| 230 | "libgav1/tests/fuzzer/decoder_fuzzer.cc", |
| 231 | ], |
| 232 | } |
| 233 | |
| 234 | cc_fuzz { |
| 235 | name: "libgav1_decoder_fuzzer_frame_parallel", |
| 236 | defaults: ["libgav1_fuzzer_defaults"], |
| 237 | |
| 238 | srcs: [ |
| 239 | "libgav1/tests/fuzzer/decoder_fuzzer_frame_parallel.cc", |
| 240 | ], |
| 241 | } |
| 242 | |
| 243 | cc_fuzz { |
| 244 | name: "libgav1_obu_parser_fuzzer", |
| 245 | defaults: ["libgav1_fuzzer_defaults"], |
| 246 | |
| 247 | srcs: [ |
| 248 | "libgav1/tests/fuzzer/obu_parser_fuzzer.cc", |
| 249 | ], |
| 250 | } |