xref: /aosp_15_r20/frameworks/av/media/codec2/vndk/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1*ec779b8eSAndroid Build Coastguard Workerpackage {
2*ec779b8eSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*ec779b8eSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*ec779b8eSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_av_license"
5*ec779b8eSAndroid Build Coastguard Worker    // to get the below license kinds:
6*ec779b8eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*ec779b8eSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_av_license"],
8*ec779b8eSAndroid Build Coastguard Worker}
9*ec779b8eSAndroid Build Coastguard Worker
10*ec779b8eSAndroid Build Coastguard Workercc_library_headers {
11*ec779b8eSAndroid Build Coastguard Worker    name: "libcodec2_internal",
12*ec779b8eSAndroid Build Coastguard Worker
13*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: [
14*ec779b8eSAndroid Build Coastguard Worker        "internal",
15*ec779b8eSAndroid Build Coastguard Worker    ],
16*ec779b8eSAndroid Build Coastguard Worker
17*ec779b8eSAndroid Build Coastguard Worker    // TODO: Remove this when this module is moved back to frameworks/av.
18*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
19*ec779b8eSAndroid Build Coastguard Worker
20*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
21*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
22*ec779b8eSAndroid Build Coastguard Worker        "//apex_available:platform",
23*ec779b8eSAndroid Build Coastguard Worker        "com.android.media.swcodec",
24*ec779b8eSAndroid Build Coastguard Worker    ],
25*ec779b8eSAndroid Build Coastguard Worker
26*ec779b8eSAndroid Build Coastguard Worker}
27*ec779b8eSAndroid Build Coastguard Worker
28*ec779b8eSAndroid Build Coastguard Workercc_library_headers {
29*ec779b8eSAndroid Build Coastguard Worker    name: "libcodec2_vndk_headers",
30*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
31*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
32*ec779b8eSAndroid Build Coastguard Worker
33*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: [
34*ec779b8eSAndroid Build Coastguard Worker        "include",
35*ec779b8eSAndroid Build Coastguard Worker    ],
36*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
37*ec779b8eSAndroid Build Coastguard Worker        "//apex_available:platform",
38*ec779b8eSAndroid Build Coastguard Worker        "com.android.media.swcodec",
39*ec779b8eSAndroid Build Coastguard Worker    ],
40*ec779b8eSAndroid Build Coastguard Worker}
41*ec779b8eSAndroid Build Coastguard Worker
42*ec779b8eSAndroid Build Coastguard Worker// !!!DO NOT DEPEND ON THIS SHARED LIBRARY DIRECTLY!!!
43*ec779b8eSAndroid Build Coastguard Worker// use libcodec2-impl-defaults instead
44*ec779b8eSAndroid Build Coastguard Workercc_library {
45*ec779b8eSAndroid Build Coastguard Worker    name: "libcodec2_vndk",
46*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
47*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
48*ec779b8eSAndroid Build Coastguard Worker    // TODO: b/147147883
49*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
50*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
51*ec779b8eSAndroid Build Coastguard Worker        "//apex_available:platform",
52*ec779b8eSAndroid Build Coastguard Worker        "com.android.media.swcodec",
53*ec779b8eSAndroid Build Coastguard Worker    ],
54*ec779b8eSAndroid Build Coastguard Worker
55*ec779b8eSAndroid Build Coastguard Worker    defaults: [
56*ec779b8eSAndroid Build Coastguard Worker        "aconfig_lib_cc_static_link.defaults",
57*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_hal_selection",
58*ec779b8eSAndroid Build Coastguard Worker    ],
59*ec779b8eSAndroid Build Coastguard Worker
60*ec779b8eSAndroid Build Coastguard Worker    srcs: [
61*ec779b8eSAndroid Build Coastguard Worker        "C2AllocatorBlob.cpp",
62*ec779b8eSAndroid Build Coastguard Worker        "C2AllocatorIon.cpp",
63*ec779b8eSAndroid Build Coastguard Worker        "C2AllocatorGralloc.cpp",
64*ec779b8eSAndroid Build Coastguard Worker        "C2Buffer.cpp",
65*ec779b8eSAndroid Build Coastguard Worker        "C2Config.cpp",
66*ec779b8eSAndroid Build Coastguard Worker        "C2DmaBufAllocator.cpp",
67*ec779b8eSAndroid Build Coastguard Worker        "C2Fence.cpp",
68*ec779b8eSAndroid Build Coastguard Worker        "C2PlatformStorePluginLoader.cpp",
69*ec779b8eSAndroid Build Coastguard Worker        "C2Store.cpp",
70*ec779b8eSAndroid Build Coastguard Worker        "platform/C2BqBuffer.cpp",
71*ec779b8eSAndroid Build Coastguard Worker        "platform/C2BqPoolInvalidator.cpp",
72*ec779b8eSAndroid Build Coastguard Worker        "platform/C2SurfaceSyncObj.cpp",
73*ec779b8eSAndroid Build Coastguard Worker        "platform/C2IgbaBuffer.cpp",
74*ec779b8eSAndroid Build Coastguard Worker        "types.cpp",
75*ec779b8eSAndroid Build Coastguard Worker        "util/C2Debug.cpp",
76*ec779b8eSAndroid Build Coastguard Worker        "util/C2InterfaceHelper.cpp",
77*ec779b8eSAndroid Build Coastguard Worker        "util/C2InterfaceUtils.cpp",
78*ec779b8eSAndroid Build Coastguard Worker        "util/C2ParamUtils.cpp",
79*ec779b8eSAndroid Build Coastguard Worker    ],
80*ec779b8eSAndroid Build Coastguard Worker
81*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: [
82*ec779b8eSAndroid Build Coastguard Worker        "include",
83*ec779b8eSAndroid Build Coastguard Worker    ],
84*ec779b8eSAndroid Build Coastguard Worker
85*ec779b8eSAndroid Build Coastguard Worker    export_shared_lib_headers: [
86*ec779b8eSAndroid Build Coastguard Worker        "libbase",
87*ec779b8eSAndroid Build Coastguard Worker        "libdmabufheap",
88*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
89*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.media.bufferpool2-V2-ndk",
90*ec779b8eSAndroid Build Coastguard Worker    ],
91*ec779b8eSAndroid Build Coastguard Worker
92*ec779b8eSAndroid Build Coastguard Worker    local_include_dirs: [
93*ec779b8eSAndroid Build Coastguard Worker        "internal",
94*ec779b8eSAndroid Build Coastguard Worker    ],
95*ec779b8eSAndroid Build Coastguard Worker
96*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
97*ec779b8eSAndroid Build Coastguard Worker        "media_plugin_headers",
98*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_headers",
99*ec779b8eSAndroid Build Coastguard Worker    ],
100*ec779b8eSAndroid Build Coastguard Worker
101*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
102*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
103*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
104*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.common-V2-ndk",
105*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.common.fmq-V1-ndk",
106*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
107*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.media.bufferpool2-V2-ndk",
108*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.media.c2-V1-ndk",
109*ec779b8eSAndroid Build Coastguard Worker        "libbase",
110*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
111*ec779b8eSAndroid Build Coastguard Worker        "libcutils",
112*ec779b8eSAndroid Build Coastguard Worker        "libdl",
113*ec779b8eSAndroid Build Coastguard Worker        "libdmabufheap",
114*ec779b8eSAndroid Build Coastguard Worker        "libfmq",
115*ec779b8eSAndroid Build Coastguard Worker        "libgralloctypes",
116*ec779b8eSAndroid Build Coastguard Worker        "libhidlbase",
117*ec779b8eSAndroid Build Coastguard Worker        "libion",
118*ec779b8eSAndroid Build Coastguard Worker        "liblog",
119*ec779b8eSAndroid Build Coastguard Worker        "libnativewindow",
120*ec779b8eSAndroid Build Coastguard Worker        "libstagefright_foundation",
121*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
122*ec779b8eSAndroid Build Coastguard Worker        "libstagefright_aidl_bufferpool2",
123*ec779b8eSAndroid Build Coastguard Worker        "libui",
124*ec779b8eSAndroid Build Coastguard Worker        "libutils",
125*ec779b8eSAndroid Build Coastguard Worker    ],
126*ec779b8eSAndroid Build Coastguard Worker
127*ec779b8eSAndroid Build Coastguard Worker    cflags: [
128*ec779b8eSAndroid Build Coastguard Worker        "-Werror",
129*ec779b8eSAndroid Build Coastguard Worker        "-Wall",
130*ec779b8eSAndroid Build Coastguard Worker    ],
131*ec779b8eSAndroid Build Coastguard Worker}
132*ec779b8eSAndroid Build Coastguard Worker
133*ec779b8eSAndroid Build Coastguard Worker// public dependency for statically linking to libcodec2_vndk for unit tests
134*ec779b8eSAndroid Build Coastguard Workercc_defaults {
135*ec779b8eSAndroid Build Coastguard Worker    name: "libcodec2-static-defaults",
136*ec779b8eSAndroid Build Coastguard Worker
137*ec779b8eSAndroid Build Coastguard Worker    defaults: [
138*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_hal_selection",
139*ec779b8eSAndroid Build Coastguard Worker    ],
140*ec779b8eSAndroid Build Coastguard Worker
141*ec779b8eSAndroid Build Coastguard Worker    static_libs: [
142*ec779b8eSAndroid Build Coastguard Worker        "liblog",
143*ec779b8eSAndroid Build Coastguard Worker        "libion",
144*ec779b8eSAndroid Build Coastguard Worker        "libfmq",
145*ec779b8eSAndroid Build Coastguard Worker        "libbase",
146*ec779b8eSAndroid Build Coastguard Worker        "libutils",
147*ec779b8eSAndroid Build Coastguard Worker        "libcutils",
148*ec779b8eSAndroid Build Coastguard Worker        "libcodec2",
149*ec779b8eSAndroid Build Coastguard Worker        "libhidlbase",
150*ec779b8eSAndroid Build Coastguard Worker        "libdmabufheap",
151*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_vndk",
152*ec779b8eSAndroid Build Coastguard Worker        "libnativewindow",
153*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_soft_common",
154*ec779b8eSAndroid Build Coastguard Worker        "libsfplugin_ccodec_utils",
155*ec779b8eSAndroid Build Coastguard Worker        "libstagefright_aidl_bufferpool2",
156*ec779b8eSAndroid Build Coastguard Worker        "libstagefright_foundation",
157*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
158*ec779b8eSAndroid Build Coastguard Worker        "libgralloctypes",
159*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
160*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
161*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
162*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
163*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
164*ec779b8eSAndroid Build Coastguard Worker        "[email protected]",
165*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.common-V2-ndk",
166*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.common.fmq-V1-ndk",
167*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.media.bufferpool2-V2-ndk",
168*ec779b8eSAndroid Build Coastguard Worker        "android.hardware.media.c2-V1-ndk",
169*ec779b8eSAndroid Build Coastguard Worker    ],
170*ec779b8eSAndroid Build Coastguard Worker
171*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
172*ec779b8eSAndroid Build Coastguard Worker        "libbinder",
173*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
174*ec779b8eSAndroid Build Coastguard Worker        "libui",
175*ec779b8eSAndroid Build Coastguard Worker        "libdl",
176*ec779b8eSAndroid Build Coastguard Worker        "libvndksupport",
177*ec779b8eSAndroid Build Coastguard Worker        "libprocessgroup",
178*ec779b8eSAndroid Build Coastguard Worker    ],
179*ec779b8eSAndroid Build Coastguard Worker}
180*ec779b8eSAndroid Build Coastguard Worker
181*ec779b8eSAndroid Build Coastguard Worker// public dependency for implementing Codec 2 components
182*ec779b8eSAndroid Build Coastguard Workercc_defaults {
183*ec779b8eSAndroid Build Coastguard Worker    name: "libcodec2-impl-defaults",
184*ec779b8eSAndroid Build Coastguard Worker    cpp_std: "gnu++17",
185*ec779b8eSAndroid Build Coastguard Worker
186*ec779b8eSAndroid Build Coastguard Worker    defaults: [
187*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_hal_selection",
188*ec779b8eSAndroid Build Coastguard Worker    ],
189*ec779b8eSAndroid Build Coastguard Worker
190*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
191*ec779b8eSAndroid Build Coastguard Worker        "libbase", // for C2_LOG
192*ec779b8eSAndroid Build Coastguard Worker        "liblog", // for ALOG
193*ec779b8eSAndroid Build Coastguard Worker        "libcodec2",
194*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_hal_common",
195*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_vndk",
196*ec779b8eSAndroid Build Coastguard Worker        "libutils",
197*ec779b8eSAndroid Build Coastguard Worker    ],
198*ec779b8eSAndroid Build Coastguard Worker
199*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
200*ec779b8eSAndroid Build Coastguard Worker}
201*ec779b8eSAndroid Build Coastguard Worker
202*ec779b8eSAndroid Build Coastguard Worker// public dependency for implementing Codec 2 framework utilities
203*ec779b8eSAndroid Build Coastguard Worker// THIS IS ONLY FOR FRAMEWORK USE ONLY
204*ec779b8eSAndroid Build Coastguard Workercc_defaults {
205*ec779b8eSAndroid Build Coastguard Worker    name: "libcodec2-internal-defaults",
206*ec779b8eSAndroid Build Coastguard Worker    defaults: ["libcodec2-impl-defaults"],
207*ec779b8eSAndroid Build Coastguard Worker
208*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
209*ec779b8eSAndroid Build Coastguard Worker        "libcodec2_internal",
210*ec779b8eSAndroid Build Coastguard Worker    ],
211*ec779b8eSAndroid Build Coastguard Worker
212*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
213*ec779b8eSAndroid Build Coastguard Worker        "libcutils", // for properties
214*ec779b8eSAndroid Build Coastguard Worker    ],
215*ec779b8eSAndroid Build Coastguard Worker
216*ec779b8eSAndroid Build Coastguard Worker    // TODO: separate internal headers so they can be exposed here
217*ec779b8eSAndroid Build Coastguard Worker}
218