blob: 0c4bfcb22012b2f2dd0dbdb0ab2a65056317528e [file] [log] [blame]
Jayant Chowdhary5033aa12018-07-24 11:56:19 -07001// Copyright 2018 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
15//
16// libcameraservice
17//
18
Bob Badourc8375042021-02-12 21:02:31 -080019package {
20 default_applicable_licenses: [
21 "frameworks_av_services_camera_libcameraservice_license",
22 ],
23}
24
25// Added automatically by a large-scale-change
26// See: http://go/android-license-faq
27license {
28 name: "frameworks_av_services_camera_libcameraservice_license",
29 visibility: [":__subpackages__"],
30 license_kinds: [
31 "SPDX-license-identifier-Apache-2.0",
32 ],
33 license_text: [
34 "NOTICE",
35 ],
36}
37
Devin Moore65ca53f2023-05-23 17:34:38 +000038cc_defaults {
39 name: "libcameraservice_deps",
Sally Qi6af6e312023-10-09 17:15:36 +000040 defaults: ["android.hardware.graphics.common-ndk_shared"],
Devin Moore65ca53f2023-05-23 17:34:38 +000041 shared_libs: [
42 "libactivitymanager_aidl",
43 "libbase",
44 "libdl",
45 "libui",
46 "liblog",
47 "libutilscallstack",
48 "libutils",
49 "libbinder",
50 "libbinder_ndk",
51 "libactivitymanager_aidl",
52 "libpermission",
53 "libcutils",
54 "libexif",
55 "libmedia",
56 "libmediautils",
57 "libcamera_client",
58 "libcamera_metadata",
59 "libfmq",
60 "libgui",
61 "libhardware",
62 "libhidlbase",
63 "libimage_io",
64 "libjpeg",
65 "libultrahdr",
66 "libmedia_codeclist",
67 "libmedia_omx",
68 "libmemunreachable",
Avichal Rakesh62d45f12023-10-25 12:54:45 -070069 "libnativewindow",
Jyoti Bhayana3128fda2023-04-27 18:27:56 -070070 "libprocessgroup",
71 "libprocinfo",
Devin Moore65ca53f2023-05-23 17:34:38 +000072 "libsensorprivacy",
73 "libstagefright",
74 "libstagefright_foundation",
Avichal Rakeshf50484f2024-04-30 15:58:21 -070075 "libvendorsupport",
Devin Moore65ca53f2023-05-23 17:34:38 +000076 "libxml2",
77 "libyuv",
Biswarup Pal37a75182024-01-16 15:53:35 +000078 "android.companion.virtual.virtualdevice_aidl-cpp",
Jan Sebechlebskya79c9392023-11-17 16:03:25 +010079 "android.companion.virtualdevice.flags-aconfig-cc",
Devin Moore65ca53f2023-05-23 17:34:38 +000080 "android.hardware.camera.common@1.0",
81 "android.hardware.camera.device@1.0",
82 "android.hardware.camera.device@3.2",
83 "android.hardware.camera.device@3.3",
84 "android.hardware.camera.device@3.4",
85 "android.hardware.camera.device@3.5",
86 "android.hardware.camera.device@3.6",
87 "android.hardware.camera.device@3.7",
88 "android.hardware.common-V2-ndk",
89 "android.hardware.common.fmq-V1-ndk",
Eino-Ville Talvala6f1a9c12023-09-14 17:26:28 -070090 "camera_platform_flags_c_lib",
Jayant Chowdhary81d81b02024-02-15 19:13:39 +000091 "com.android.window.flags.window-aconfig_flags_c_lib",
Devin Moore65ca53f2023-05-23 17:34:38 +000092 "media_permission-aidl-cpp",
93 ],
94
95 static_libs: [
96 "android.frameworks.cameraservice.common@2.0",
97 "android.frameworks.cameraservice.service@2.0",
98 "android.frameworks.cameraservice.service@2.1",
99 "android.frameworks.cameraservice.service@2.2",
100 "android.frameworks.cameraservice.device@2.0",
101 "android.frameworks.cameraservice.device@2.1",
102 "android.frameworks.cameraservice.common-V1-ndk",
Avichal Rakesh62d45f12023-10-25 12:54:45 -0700103 "android.frameworks.cameraservice.service-V2-ndk",
104 "android.frameworks.cameraservice.device-V2-ndk",
Devin Moore65ca53f2023-05-23 17:34:38 +0000105 "android.hardware.camera.common-V1-ndk",
Jayant Chowdhary9d3a6492023-11-22 07:23:59 +0000106 "android.hardware.camera.device-V3-ndk",
Avichal Rakeshd6b51642023-12-13 12:50:35 -0800107 "android.hardware.camera.metadata-V3-ndk",
Devin Moore65ca53f2023-05-23 17:34:38 +0000108 "android.hardware.camera.provider@2.4",
109 "android.hardware.camera.provider@2.5",
110 "android.hardware.camera.provider@2.6",
111 "android.hardware.camera.provider@2.7",
Shuzhen Wang045be6c2023-10-12 10:01:10 -0700112 "android.hardware.camera.provider-V3-ndk",
Devin Moore65ca53f2023-05-23 17:34:38 +0000113 "libaidlcommonsupport",
Eino-Ville Talvalaae70f8c2023-08-18 10:10:55 -0700114 "libbinderthreadstateutils",
115 "libcameraservice_device_independent",
Devin Moore65ca53f2023-05-23 17:34:38 +0000116 "libdynamic_depth",
117 "libprocessinfoservice_aidl",
Jan Sebechlebsky2f66b5e2024-01-16 17:00:26 +0100118 "libvirtualdevicebuildflags",
Devin Moore65ca53f2023-05-23 17:34:38 +0000119 "media_permission-aidl-cpp",
Devin Moore65ca53f2023-05-23 17:34:38 +0000120 ],
121}
122
123cc_library {
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700124 name: "libcameraservice",
125
Devin Moore65ca53f2023-05-23 17:34:38 +0000126 defaults: [
127 "libcameraservice_deps",
128 ],
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700129 // Camera service source
130
131 srcs: [
132 "CameraService.cpp",
Ravneet98ffa752022-03-02 07:22:46 +0000133 "CameraServiceWatchdog.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700134 "CameraFlashlight.cpp",
135 "common/Camera2ClientBase.cpp",
136 "common/CameraDeviceBase.cpp",
Yin-Chia Yehb978c382019-10-30 00:22:37 -0700137 "common/CameraOfflineSessionBase.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700138 "common/CameraProviderManager.cpp",
139 "common/FrameProcessorBase.cpp",
Jayant Chowdhary0bd38522021-11-05 17:49:27 -0700140 "common/hidl/HidlProviderInfo.cpp",
Jayant Chowdharya04055f2022-01-03 02:07:49 +0000141 "common/aidl/AidlProviderInfo.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700142 "api1/Camera2Client.cpp",
143 "api1/client2/Parameters.cpp",
144 "api1/client2/FrameProcessor.cpp",
145 "api1/client2/StreamingProcessor.cpp",
146 "api1/client2/JpegProcessor.cpp",
147 "api1/client2/CallbackProcessor.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700148 "api1/client2/CaptureSequencer.cpp",
149 "api1/client2/ZslProcessor.cpp",
150 "api2/CameraDeviceClient.cpp",
Emilian Peevb2bc5a42019-11-20 16:02:14 -0800151 "api2/CameraOfflineSessionClient.cpp",
Emilian Peev538c90e2018-12-17 18:03:19 +0000152 "api2/CompositeStream.cpp",
153 "api2/DepthCompositeStream.cpp",
Shuzhen Wang68ac7ad2019-01-30 14:03:28 -0800154 "api2/HeicEncoderInfoManager.cpp",
155 "api2/HeicCompositeStream.cpp",
Emilian Peev434248e2022-10-06 14:58:54 -0700156 "api2/JpegRCompositeStream.cpp",
Yin-Chia Yeh5fd603e2019-11-20 11:22:27 -0800157 "device3/BufferUtils.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700158 "device3/Camera3Device.cpp",
Yin-Chia Yehb978c382019-10-30 00:22:37 -0700159 "device3/Camera3OfflineSession.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700160 "device3/Camera3Stream.cpp",
161 "device3/Camera3IOStreamBase.cpp",
162 "device3/Camera3InputStream.cpp",
163 "device3/Camera3OutputStream.cpp",
Ivan Lozanoc0ad82f2020-07-30 09:32:57 -0400164 "device3/Camera3FakeStream.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700165 "device3/Camera3SharedOutputStream.cpp",
166 "device3/StatusTracker.cpp",
167 "device3/Camera3BufferManager.cpp",
168 "device3/Camera3StreamSplitter.cpp",
Yin-Chia Yeh5fd603e2019-11-20 11:22:27 -0800169 "device3/Camera3OutputStreamInterface.cpp",
170 "device3/Camera3OutputUtils.cpp",
Cliff Wuc2ad9c82021-04-21 00:58:58 +0800171 "device3/Camera3DeviceInjectionMethods.cpp",
Jayant Chowdhary9255ce02021-07-15 11:18:17 -0700172 "device3/UHRCropAndMeteringRegionMapper.cpp",
Shuzhen Wangba92d772022-04-11 11:47:24 -0700173 "device3/PreviewFrameSpacer.cpp",
Jayant Chowdhary22441f32021-12-26 18:35:41 -0800174 "device3/hidl/HidlCamera3Device.cpp",
175 "device3/hidl/HidlCamera3OfflineSession.cpp",
176 "device3/hidl/HidlCamera3OutputUtils.cpp",
Jayant Chowdhary35642f22022-01-08 00:39:39 +0000177 "device3/aidl/AidlCamera3Device.cpp",
178 "device3/aidl/AidlCamera3OutputUtils.cpp",
179 "device3/aidl/AidlCamera3OfflineSession.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700180 "gui/RingBufferConsumer.cpp",
Jayant Chowdhary0c947272018-08-15 14:42:04 -0700181 "hidl/AidlCameraDeviceCallbacks.cpp",
Jayant Chowdhary94f79a92018-08-15 13:57:17 -0700182 "hidl/AidlCameraServiceListener.cpp",
Jayant Chowdhary0c947272018-08-15 14:42:04 -0700183 "hidl/HidlCameraDeviceUser.cpp",
184 "hidl/HidlCameraService.cpp",
Jayant Chowdhary2f686522022-05-09 14:52:16 +0000185 "hidl/Utils.cpp",
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -0700186 "aidl/AidlCameraDeviceCallbacks.cpp",
187 "aidl/AidlCameraDeviceUser.cpp",
188 "aidl/AidlCameraService.cpp",
189 "aidl/AidlCameraServiceListener.cpp",
190 "aidl/AidlUtils.cpp",
191 "aidl/DeathPipe.cpp",
Austin Borger249e6592024-03-10 22:28:11 -0700192 "utils/AttributionAndPermissionUtils.cpp",
Shuzhen Wang316781a2020-08-18 18:11:01 -0700193 "utils/CameraServiceProxyWrapper.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700194 "utils/CameraTraces.cpp",
195 "utils/AutoConditionLock.cpp",
Jyoti Bhayana3128fda2023-04-27 18:27:56 -0700196 "utils/SchedulingPolicyUtils.cpp",
Jayant Chowdhary2bbdce42020-01-12 14:55:41 -0800197 "utils/SessionConfigurationUtils.cpp",
Jayant Chowdharyc67af1b2022-04-07 18:05:04 +0000198 "utils/SessionConfigurationUtilsHidl.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700199 "utils/TagMonitor.cpp",
200 "utils/LatencyHistogram.cpp",
Avichal Rakesh74b5ae72023-12-27 16:56:45 -0800201 "utils/Utils.cpp",
Biswarup Pal37a75182024-01-16 15:53:35 +0000202 "utils/VirtualDeviceCameraIdMapper.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700203 ],
204
Marco Nelissen13aa1a42019-09-27 10:21:55 -0700205 header_libs: [
Austin Borgerce7594d2022-02-22 22:21:38 +0000206 "libdynamic_depth-internal_headers",
207 "libdynamic_depth-public_headers",
Marco Nelissen7c96ea72020-01-10 15:46:22 -0800208 "libmediadrm_headers",
209 "libmediametrics_headers",
Marco Nelissen13aa1a42019-09-27 10:21:55 -0700210 ],
211
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700212 export_shared_lib_headers: [
213 "libbinder",
Steven Moreland09226a72021-04-05 23:18:44 +0000214 "libactivitymanager_aidl",
Steven Moreland5d6ea8f2021-04-13 01:02:53 +0000215 "libpermission",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700216 "libcamera_client",
217 "libfmq",
Michael Grooverd1d435a2018-12-18 17:39:42 -0800218 "libsensorprivacy",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700219 ],
220
221 include_dirs: [
222 "system/media/private/camera/include",
223 "frameworks/native/include/media/openmax",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700224 ],
225
226 export_include_dirs: ["."],
227
228 cflags: [
229 "-Wall",
230 "-Wextra",
231 "-Werror",
Emilian Peev538c90e2018-12-17 18:03:19 +0000232 "-Wno-ignored-qualifiers",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700233 ],
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700234}
Austin Borger6db81852021-12-08 20:51:54 +0000235
236cc_library_static {
Austin Borger886c62e2022-01-04 20:58:32 +0000237 name: "libcameraservice_device_independent",
Austin Borger6db81852021-12-08 20:51:54 +0000238 host_supported: true,
239
240 // Camera service source
241
242 srcs: [
Austin Borger94422aa2021-12-14 22:59:59 +0000243 "common/DepthPhotoProcessor.cpp",
Austin Borgerea931242021-12-13 23:10:41 +0000244 "device3/CoordinateMapper.cpp",
245 "device3/DistortionMapper.cpp",
Austin Borger0c9eee22021-12-13 23:36:39 +0000246 "device3/RotateAndCropMapper.cpp",
Austin Borgerab7b1f32021-12-13 23:50:25 +0000247 "device3/ZoomRatioMapper.cpp",
Austin Borger6db81852021-12-08 20:51:54 +0000248 "utils/ExifUtils.cpp",
Austin Borgerea931242021-12-13 23:10:41 +0000249 "utils/SessionConfigurationUtilsHost.cpp",
Eino-Ville Talvalaffc186b2024-04-09 18:10:47 -0700250 "utils/SessionStatsBuilder.cpp",
Austin Borger6db81852021-12-08 20:51:54 +0000251 ],
252
Austin Borgerce7594d2022-02-22 22:21:38 +0000253 header_libs: [
254 "libdynamic_depth-internal_headers",
255 "libdynamic_depth-public_headers",
256 ],
257
Austin Borger6db81852021-12-08 20:51:54 +0000258 shared_libs: [
259 "libbase",
260 "libbinder",
261 "libcamera_metadata",
Austin Borger94422aa2021-12-14 22:59:59 +0000262 "libdynamic_depth",
Austin Borger6db81852021-12-08 20:51:54 +0000263 "libexif",
Austin Borger94422aa2021-12-14 22:59:59 +0000264 "libjpeg",
Austin Borger6db81852021-12-08 20:51:54 +0000265 "liblog",
266 "libutils",
Austin Borger94422aa2021-12-14 22:59:59 +0000267 "libxml2",
Austin Borger6db81852021-12-08 20:51:54 +0000268 ],
269
Dennis Shen353dfbb2024-09-20 12:57:22 +0000270 target: {
271 android: {
272 shared_libs: [
273 "camera_platform_flags_c_lib",
274 ],
275 },
276 host: {
277 shared_libs: [
278 "camera_platform_flags_c_lib_for_test",
279 ],
280 },
281 },
282
Austin Borger6db81852021-12-08 20:51:54 +0000283 include_dirs: [
284 "frameworks/av/camera/include",
285 "frameworks/av/camera/include/camera",
286 ],
287
288 export_include_dirs: ["."],
289
290 cflags: [
291 "-Wall",
292 "-Wextra",
293 "-Werror",
294 "-Wno-ignored-qualifiers",
295 ],
Ray Essick8fc402a2022-02-16 15:08:55 -0800296}