blob: e6a47be957851e0a5c784b52a3eeb6e002b8b9a9 [file] [log] [blame]
James Zernd29ae722019-05-23 23:47:34 -07001// 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
15cc_library_static {
16 name: "libgav1",
17 vendor_available: true,
18
19 export_include_dirs: [
20 ".",
James Zernb2c0e2f2020-06-25 19:19:16 -070021 "libgav1/src",
James Zernd29ae722019-05-23 23:47:34 -070022 ],
23
24 cflags: [
25 "-DLIBGAV1_MAX_BITDEPTH=10",
26 "-O2",
27 "-Wall",
28 "-Werror",
29 "-Wextra",
30 ],
31
32 local_include_dirs: [
33 "libgav1",
34 ],
35
36 // Note: if optimizations are required for x86 the sse4 files should be
37 // split to their own target to receive the correct flagging. All files in
38 // the library can be built for any target without producing empty object
39 // files.
40 srcs: [
41 "libgav1/src/buffer_pool.cc",
42 "libgav1/src/decoder.cc",
43 "libgav1/src/decoder_impl.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070044 "libgav1/src/decoder_settings.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070045 "libgav1/src/dsp/arm/average_blend_neon.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070046 "libgav1/src/dsp/arm/cdef_neon.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070047 "libgav1/src/dsp/arm/convolve_neon.cc",
48 "libgav1/src/dsp/arm/distance_weighted_blend_neon.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070049 "libgav1/src/dsp/arm/film_grain_neon.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070050 "libgav1/src/dsp/arm/intra_edge_neon.cc",
James Zernd29ae722019-05-23 23:47:34 -070051 "libgav1/src/dsp/arm/intrapred_cfl_neon.cc",
52 "libgav1/src/dsp/arm/intrapred_directional_neon.cc",
53 "libgav1/src/dsp/arm/intrapred_filter_intra_neon.cc",
54 "libgav1/src/dsp/arm/intrapred_neon.cc",
55 "libgav1/src/dsp/arm/intrapred_smooth_neon.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070056 "libgav1/src/dsp/arm/inverse_transform_neon.cc",
James Zernd29ae722019-05-23 23:47:34 -070057 "libgav1/src/dsp/arm/loop_filter_neon.cc",
58 "libgav1/src/dsp/arm/loop_restoration_neon.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070059 "libgav1/src/dsp/arm/mask_blend_neon.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070060 "libgav1/src/dsp/arm/motion_field_projection_neon.cc",
61 "libgav1/src/dsp/arm/motion_vector_search_neon.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070062 "libgav1/src/dsp/arm/obmc_neon.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070063 "libgav1/src/dsp/arm/super_res_neon.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070064 "libgav1/src/dsp/arm/warp_neon.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070065 "libgav1/src/dsp/arm/weight_mask_neon.cc",
James Zernd29ae722019-05-23 23:47:34 -070066 "libgav1/src/dsp/average_blend.cc",
67 "libgav1/src/dsp/cdef.cc",
68 "libgav1/src/dsp/constants.cc",
69 "libgav1/src/dsp/convolve.cc",
James Zernd29ae722019-05-23 23:47:34 -070070 "libgav1/src/dsp/distance_weighted_blend.cc",
71 "libgav1/src/dsp/dsp.cc",
72 "libgav1/src/dsp/film_grain.cc",
73 "libgav1/src/dsp/intra_edge.cc",
74 "libgav1/src/dsp/intrapred.cc",
75 "libgav1/src/dsp/inverse_transform.cc",
76 "libgav1/src/dsp/loop_filter.cc",
77 "libgav1/src/dsp/loop_restoration.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070078 "libgav1/src/dsp/mask_blend.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070079 "libgav1/src/dsp/motion_field_projection.cc",
80 "libgav1/src/dsp/motion_vector_search.cc",
James Zernd29ae722019-05-23 23:47:34 -070081 "libgav1/src/dsp/obmc.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070082 "libgav1/src/dsp/super_res.cc",
James Zernd29ae722019-05-23 23:47:34 -070083 "libgav1/src/dsp/warp.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070084 "libgav1/src/dsp/weight_mask.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070085 "libgav1/src/dsp/x86/average_blend_sse4.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070086 "libgav1/src/dsp/x86/cdef_sse4.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070087 "libgav1/src/dsp/x86/convolve_sse4.cc",
88 "libgav1/src/dsp/x86/distance_weighted_blend_sse4.cc",
James Zernd29ae722019-05-23 23:47:34 -070089 "libgav1/src/dsp/x86/intra_edge_sse4.cc",
90 "libgav1/src/dsp/x86/intrapred_cfl_sse4.cc",
91 "libgav1/src/dsp/x86/intrapred_smooth_sse4.cc",
92 "libgav1/src/dsp/x86/intrapred_sse4.cc",
93 "libgav1/src/dsp/x86/inverse_transform_sse4.cc",
94 "libgav1/src/dsp/x86/loop_filter_sse4.cc",
95 "libgav1/src/dsp/x86/loop_restoration_sse4.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -070096 "libgav1/src/dsp/x86/mask_blend_sse4.cc",
97 "libgav1/src/dsp/x86/motion_field_projection_sse4.cc",
98 "libgav1/src/dsp/x86/motion_vector_search_sse4.cc",
James Zern3ef2dfa2019-08-20 22:53:35 -070099 "libgav1/src/dsp/x86/obmc_sse4.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -0700100 "libgav1/src/dsp/x86/super_res_sse4.cc",
101 "libgav1/src/dsp/x86/warp_sse4.cc",
102 "libgav1/src/dsp/x86/weight_mask_sse4.cc",
103 "libgav1/src/film_grain.cc",
104 "libgav1/src/frame_buffer.cc",
James Zernd29ae722019-05-23 23:47:34 -0700105 "libgav1/src/internal_frame_buffer_list.cc",
James Zernd29ae722019-05-23 23:47:34 -0700106 "libgav1/src/loop_restoration_info.cc",
107 "libgav1/src/motion_vector.cc",
108 "libgav1/src/obu_parser.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -0700109 "libgav1/src/post_filter/cdef.cc",
110 "libgav1/src/post_filter/deblock.cc",
111 "libgav1/src/post_filter/loop_restoration.cc",
112 "libgav1/src/post_filter/post_filter.cc",
113 "libgav1/src/post_filter/super_res.cc",
James Zernd29ae722019-05-23 23:47:34 -0700114 "libgav1/src/prediction_mask.cc",
115 "libgav1/src/quantizer.cc",
116 "libgav1/src/reconstruction.cc",
117 "libgav1/src/residual_buffer_pool.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -0700118 "libgav1/src/status_code.cc",
James Zernd29ae722019-05-23 23:47:34 -0700119 "libgav1/src/symbol_decoder_context.cc",
120 "libgav1/src/threading_strategy.cc",
121 "libgav1/src/tile/bitstream/mode_info.cc",
122 "libgav1/src/tile/bitstream/palette.cc",
123 "libgav1/src/tile/bitstream/partition.cc",
124 "libgav1/src/tile/bitstream/transform_size.cc",
125 "libgav1/src/tile/prediction.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -0700126 "libgav1/src/tile_scratch_buffer.cc",
James Zernd29ae722019-05-23 23:47:34 -0700127 "libgav1/src/tile/tile.cc",
James Zernd29ae722019-05-23 23:47:34 -0700128 "libgav1/src/utils/bit_reader.cc",
129 "libgav1/src/utils/block_parameters_holder.cc",
130 "libgav1/src/utils/constants.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -0700131 "libgav1/src/utils/cpu.cc",
James Zernd29ae722019-05-23 23:47:34 -0700132 "libgav1/src/utils/entropy_decoder.cc",
133 "libgav1/src/utils/executor.cc",
134 "libgav1/src/utils/logging.cc",
135 "libgav1/src/utils/parameter_tree.cc",
136 "libgav1/src/utils/raw_bit_reader.cc",
James Zernd29ae722019-05-23 23:47:34 -0700137 "libgav1/src/utils/segmentation.cc",
138 "libgav1/src/utils/segmentation_map.cc",
139 "libgav1/src/utils/threadpool.cc",
James Zernb2c0e2f2020-06-25 19:19:16 -0700140 "libgav1/src/version.cc",
James Zernd29ae722019-05-23 23:47:34 -0700141 "libgav1/src/warp_prediction.cc",
142 "libgav1/src/yuv_buffer.cc",
143 ],
144
145 arch: {
146 arm: {
147 instruction_set: "arm",
148 },
149 },
Jooyung Hanbd57ee12020-04-16 18:48:28 +0900150 min_sdk_version: "29",
James Zernd29ae722019-05-23 23:47:34 -0700151}