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