xref: /aosp_15_r20/external/libyuv/Android.bp (revision 4e366538070a3a6c5c163c31b791eab742e1657a)
1package {
2    default_applicable_licenses: ["external_libyuv_license"],
3}
4// Added automatically by a large-scale-change
5// See: http://go/android-license-faq
6license {
7    name: "external_libyuv_license",
8    visibility: [":__subpackages__"],
9    license_kinds: [
10        "SPDX-license-identifier-BSD",
11    ],
12    license_text: [
13        "LICENSE",
14        "PATENTS",
15    ],
16}
17subdirs = ["files"]
18
19cc_library {
20    name: "libyuv",
21    vendor_available: true,
22    product_available: true,
23    host_supported: true,
24
25    srcs: [
26        "source/compare.cc",
27        "source/compare_common.cc",
28        "source/compare_gcc.cc",
29        "source/compare_msa.cc",
30        "source/compare_neon.cc",
31        "source/compare_neon64.cc",
32        "source/convert.cc",
33        "source/convert_argb.cc",
34        "source/convert_from.cc",
35        "source/convert_from_argb.cc",
36        "source/convert_jpeg.cc",
37        "source/convert_to_argb.cc",
38        "source/convert_to_i420.cc",
39        "source/cpu_id.cc",
40        "source/mjpeg_decoder.cc",
41        "source/mjpeg_validate.cc",
42        "source/planar_functions.cc",
43        "source/rotate.cc",
44        "source/rotate_any.cc",
45        "source/rotate_argb.cc",
46        "source/rotate_common.cc",
47        "source/rotate_gcc.cc",
48        "source/rotate_msa.cc",
49        "source/rotate_neon.cc",
50        "source/rotate_neon64.cc",
51        "source/row_any.cc",
52        "source/row_common.cc",
53        "source/row_gcc.cc",
54        "source/row_msa.cc",
55        "source/row_neon.cc",
56        "source/row_neon64.cc",
57        "source/row_rvv.cc",
58        "source/scale.cc",
59        "source/scale_any.cc",
60        "source/scale_argb.cc",
61        "source/scale_common.cc",
62        "source/scale_gcc.cc",
63        "source/scale_msa.cc",
64        "source/scale_neon.cc",
65        "source/scale_neon64.cc",
66        "source/scale_rgb.cc",
67        "source/scale_rvv.cc",
68        "source/scale_uv.cc",
69        "source/video_common.cc",
70    ],
71
72    cflags: [
73        "-Wall",
74        "-Werror",
75        "-Wno-unused-parameter",
76        "-fexceptions",
77        "-DHAVE_JPEG",
78        "-DLIBYUV_UNLIMITED_DATA",
79    ],
80
81    arch: {
82        arm: {
83            cflags: ["-mfpu=neon"],
84        },
85    },
86
87    shared_libs: ["libjpeg"],
88
89    export_include_dirs: ["include"],
90
91    apex_available: [
92        "//apex_available:platform",
93        "com.android.media.swcodec",
94        "com.android.virt",
95    ],
96    min_sdk_version: "29",
97}
98
99// compatibilty static library until all uses of libyuv_static are replaced
100// with libyuv (b/37646797)
101cc_library_static {
102    name: "libyuv_static",
103    vendor_available: true,
104    whole_static_libs: ["libyuv"],
105    apex_available: [
106        "//apex_available:platform",
107        "com.android.media.swcodec",
108    ],
109    min_sdk_version: "29",
110}
111
112cc_test {
113    name: "libyuv_unittest",
114    static_libs: ["libyuv"],
115    shared_libs: ["libjpeg"],
116    cflags: ["-Wall", "-Werror"],
117    srcs: [
118        "unit_test/basictypes_test.cc",
119        "unit_test/color_test.cc",
120        "unit_test/compare_test.cc",
121        "unit_test/convert_test.cc",
122        "unit_test/cpu_test.cc",
123        "unit_test/cpu_thread_test.cc",
124        "unit_test/math_test.cc",
125        "unit_test/planar_test.cc",
126        "unit_test/rotate_argb_test.cc",
127        "unit_test/rotate_test.cc",
128        "unit_test/scale_argb_test.cc",
129        "unit_test/scale_plane_test.cc",
130        "unit_test/scale_rgb_test.cc",
131        "unit_test/scale_test.cc",
132        "unit_test/scale_uv_test.cc",
133        "unit_test/unit_test.cc",
134        "unit_test/video_common_test.cc",
135    ],
136}
137
138cc_test {
139    name: "compare",
140    gtest: false,
141    srcs: [
142        "util/compare.cc",
143    ],
144    static_libs: ["libyuv"],
145}
146
147cc_test {
148    name: "cpuid",
149    gtest: false,
150    srcs: [
151        "util/cpuid.c",
152    ],
153    static_libs: ["libyuv"],
154}
155
156cc_test {
157    name: "i444tonv12_eg",
158    gtest: false,
159    srcs: [
160        "util/i444tonv12_eg.cc",
161    ],
162    static_libs: ["libyuv"],
163}
164
165cc_test {
166    name: "psnr",
167    gtest: false,
168    srcs: [
169        "util/psnr_main.cc",
170        "util/psnr.cc",
171        "util/ssim.cc",
172    ],
173    static_libs: ["libyuv"],
174}
175
176cc_test {
177    name: "yuvconstants",
178    gtest: false,
179    srcs: [
180        "util/yuvconstants.c",
181    ],
182    static_libs: ["libyuv"],
183}
184
185cc_test {
186    name: "yuvconvert",
187    gtest: false,
188    srcs: [
189        "util/yuvconvert.cc",
190    ],
191    static_libs: ["libyuv"],
192    shared_libs: ["libjpeg"],
193}
194