blob: 3f2a61782005fe5dabbeac420a87b53db3712bf2 [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",
Jim Shargoc50928e2024-07-03 05:00:43 +000061 "libguiflags",
Devin Moore65ca53f2023-05-23 17:34:38 +000062 "libhardware",
63 "libhidlbase",
64 "libimage_io",
65 "libjpeg",
66 "libultrahdr",
67 "libmedia_codeclist",
68 "libmedia_omx",
69 "libmemunreachable",
Avichal Rakesh62d45f12023-10-25 12:54:45 -070070 "libnativewindow",
Jyoti Bhayana3128fda2023-04-27 18:27:56 -070071 "libprocessgroup",
72 "libprocinfo",
Devin Moore65ca53f2023-05-23 17:34:38 +000073 "libsensorprivacy",
74 "libstagefright",
75 "libstagefright_foundation",
Avichal Rakeshf50484f2024-04-30 15:58:21 -070076 "libvendorsupport",
Devin Moore65ca53f2023-05-23 17:34:38 +000077 "libxml2",
78 "libyuv",
Biswarup Pal37a75182024-01-16 15:53:35 +000079 "android.companion.virtual.virtualdevice_aidl-cpp",
Jan Sebechlebskya79c9392023-11-17 16:03:25 +010080 "android.companion.virtualdevice.flags-aconfig-cc",
Devin Moore65ca53f2023-05-23 17:34:38 +000081 "android.hardware.camera.common@1.0",
82 "android.hardware.camera.device@1.0",
83 "android.hardware.camera.device@3.2",
84 "android.hardware.camera.device@3.3",
85 "android.hardware.camera.device@3.4",
86 "android.hardware.camera.device@3.5",
87 "android.hardware.camera.device@3.6",
88 "android.hardware.camera.device@3.7",
89 "android.hardware.common-V2-ndk",
90 "android.hardware.common.fmq-V1-ndk",
Eino-Ville Talvala6f1a9c12023-09-14 17:26:28 -070091 "camera_platform_flags_c_lib",
Jayant Chowdhary81d81b02024-02-15 19:13:39 +000092 "com.android.window.flags.window-aconfig_flags_c_lib",
Devin Moore65ca53f2023-05-23 17:34:38 +000093 "media_permission-aidl-cpp",
94 ],
95
96 static_libs: [
97 "android.frameworks.cameraservice.common@2.0",
98 "android.frameworks.cameraservice.service@2.0",
99 "android.frameworks.cameraservice.service@2.1",
100 "android.frameworks.cameraservice.service@2.2",
101 "android.frameworks.cameraservice.device@2.0",
102 "android.frameworks.cameraservice.device@2.1",
103 "android.frameworks.cameraservice.common-V1-ndk",
Avichal Rakesh62d45f12023-10-25 12:54:45 -0700104 "android.frameworks.cameraservice.service-V2-ndk",
105 "android.frameworks.cameraservice.device-V2-ndk",
Devin Moore65ca53f2023-05-23 17:34:38 +0000106 "android.hardware.camera.common-V1-ndk",
Jayant Chowdhary9d3a6492023-11-22 07:23:59 +0000107 "android.hardware.camera.device-V3-ndk",
Avichal Rakeshd6b51642023-12-13 12:50:35 -0800108 "android.hardware.camera.metadata-V3-ndk",
Devin Moore65ca53f2023-05-23 17:34:38 +0000109 "android.hardware.camera.provider@2.4",
110 "android.hardware.camera.provider@2.5",
111 "android.hardware.camera.provider@2.6",
112 "android.hardware.camera.provider@2.7",
Shuzhen Wang045be6c2023-10-12 10:01:10 -0700113 "android.hardware.camera.provider-V3-ndk",
Devin Moore65ca53f2023-05-23 17:34:38 +0000114 "libaidlcommonsupport",
Eino-Ville Talvalaae70f8c2023-08-18 10:10:55 -0700115 "libbinderthreadstateutils",
116 "libcameraservice_device_independent",
Devin Moore65ca53f2023-05-23 17:34:38 +0000117 "libdynamic_depth",
118 "libprocessinfoservice_aidl",
Jan Sebechlebsky2f66b5e2024-01-16 17:00:26 +0100119 "libvirtualdevicebuildflags",
Devin Moore65ca53f2023-05-23 17:34:38 +0000120 "media_permission-aidl-cpp",
Devin Moore65ca53f2023-05-23 17:34:38 +0000121 ],
122}
123
124cc_library {
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700125 name: "libcameraservice",
126
Devin Moore65ca53f2023-05-23 17:34:38 +0000127 defaults: [
128 "libcameraservice_deps",
129 ],
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700130 // Camera service source
131
132 srcs: [
133 "CameraService.cpp",
Ravneet98ffa752022-03-02 07:22:46 +0000134 "CameraServiceWatchdog.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700135 "CameraFlashlight.cpp",
136 "common/Camera2ClientBase.cpp",
137 "common/CameraDeviceBase.cpp",
Yin-Chia Yehb978c382019-10-30 00:22:37 -0700138 "common/CameraOfflineSessionBase.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700139 "common/CameraProviderManager.cpp",
140 "common/FrameProcessorBase.cpp",
Jayant Chowdhary0bd38522021-11-05 17:49:27 -0700141 "common/hidl/HidlProviderInfo.cpp",
Jayant Chowdharya04055f2022-01-03 02:07:49 +0000142 "common/aidl/AidlProviderInfo.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700143 "api1/Camera2Client.cpp",
144 "api1/client2/Parameters.cpp",
145 "api1/client2/FrameProcessor.cpp",
146 "api1/client2/StreamingProcessor.cpp",
147 "api1/client2/JpegProcessor.cpp",
148 "api1/client2/CallbackProcessor.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700149 "api1/client2/CaptureSequencer.cpp",
150 "api1/client2/ZslProcessor.cpp",
151 "api2/CameraDeviceClient.cpp",
Emilian Peevb2bc5a42019-11-20 16:02:14 -0800152 "api2/CameraOfflineSessionClient.cpp",
Emilian Peev538c90e2018-12-17 18:03:19 +0000153 "api2/CompositeStream.cpp",
154 "api2/DepthCompositeStream.cpp",
Shuzhen Wang68ac7ad2019-01-30 14:03:28 -0800155 "api2/HeicEncoderInfoManager.cpp",
156 "api2/HeicCompositeStream.cpp",
Emilian Peev434248e2022-10-06 14:58:54 -0700157 "api2/JpegRCompositeStream.cpp",
Yin-Chia Yeh5fd603e2019-11-20 11:22:27 -0800158 "device3/BufferUtils.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700159 "device3/Camera3Device.cpp",
Yin-Chia Yehb978c382019-10-30 00:22:37 -0700160 "device3/Camera3OfflineSession.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700161 "device3/Camera3Stream.cpp",
162 "device3/Camera3IOStreamBase.cpp",
163 "device3/Camera3InputStream.cpp",
164 "device3/Camera3OutputStream.cpp",
Ivan Lozanoc0ad82f2020-07-30 09:32:57 -0400165 "device3/Camera3FakeStream.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700166 "device3/Camera3SharedOutputStream.cpp",
167 "device3/StatusTracker.cpp",
168 "device3/Camera3BufferManager.cpp",
169 "device3/Camera3StreamSplitter.cpp",
Yin-Chia Yeh5fd603e2019-11-20 11:22:27 -0800170 "device3/Camera3OutputStreamInterface.cpp",
171 "device3/Camera3OutputUtils.cpp",
Cliff Wuc2ad9c82021-04-21 00:58:58 +0800172 "device3/Camera3DeviceInjectionMethods.cpp",
Jim Shargoc50928e2024-07-03 05:00:43 +0000173 "device3/deprecated/DeprecatedCamera3StreamSplitter.cpp",
Jayant Chowdhary9255ce02021-07-15 11:18:17 -0700174 "device3/UHRCropAndMeteringRegionMapper.cpp",
Shuzhen Wangba92d772022-04-11 11:47:24 -0700175 "device3/PreviewFrameSpacer.cpp",
Jayant Chowdhary22441f32021-12-26 18:35:41 -0800176 "device3/hidl/HidlCamera3Device.cpp",
177 "device3/hidl/HidlCamera3OfflineSession.cpp",
178 "device3/hidl/HidlCamera3OutputUtils.cpp",
Jayant Chowdhary35642f22022-01-08 00:39:39 +0000179 "device3/aidl/AidlCamera3Device.cpp",
180 "device3/aidl/AidlCamera3OutputUtils.cpp",
181 "device3/aidl/AidlCamera3OfflineSession.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700182 "gui/RingBufferConsumer.cpp",
Jayant Chowdhary0c947272018-08-15 14:42:04 -0700183 "hidl/AidlCameraDeviceCallbacks.cpp",
Jayant Chowdhary94f79a92018-08-15 13:57:17 -0700184 "hidl/AidlCameraServiceListener.cpp",
Jayant Chowdhary0c947272018-08-15 14:42:04 -0700185 "hidl/HidlCameraDeviceUser.cpp",
186 "hidl/HidlCameraService.cpp",
Jayant Chowdhary2f686522022-05-09 14:52:16 +0000187 "hidl/Utils.cpp",
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -0700188 "aidl/AidlCameraDeviceCallbacks.cpp",
189 "aidl/AidlCameraDeviceUser.cpp",
190 "aidl/AidlCameraService.cpp",
191 "aidl/AidlCameraServiceListener.cpp",
192 "aidl/AidlUtils.cpp",
193 "aidl/DeathPipe.cpp",
Austin Borger249e6592024-03-10 22:28:11 -0700194 "utils/AttributionAndPermissionUtils.cpp",
Shuzhen Wang316781a2020-08-18 18:11:01 -0700195 "utils/CameraServiceProxyWrapper.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700196 "utils/CameraTraces.cpp",
197 "utils/AutoConditionLock.cpp",
Jyoti Bhayana3128fda2023-04-27 18:27:56 -0700198 "utils/SchedulingPolicyUtils.cpp",
Jayant Chowdhary2bbdce42020-01-12 14:55:41 -0800199 "utils/SessionConfigurationUtils.cpp",
Jayant Chowdharyc67af1b2022-04-07 18:05:04 +0000200 "utils/SessionConfigurationUtilsHidl.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700201 "utils/TagMonitor.cpp",
202 "utils/LatencyHistogram.cpp",
Avichal Rakesh74b5ae72023-12-27 16:56:45 -0800203 "utils/Utils.cpp",
Biswarup Pal37a75182024-01-16 15:53:35 +0000204 "utils/VirtualDeviceCameraIdMapper.cpp",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700205 ],
206
Marco Nelissen13aa1a42019-09-27 10:21:55 -0700207 header_libs: [
Austin Borgerce7594d2022-02-22 22:21:38 +0000208 "libdynamic_depth-internal_headers",
209 "libdynamic_depth-public_headers",
Marco Nelissen7c96ea72020-01-10 15:46:22 -0800210 "libmediadrm_headers",
211 "libmediametrics_headers",
Marco Nelissen13aa1a42019-09-27 10:21:55 -0700212 ],
213
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700214 export_shared_lib_headers: [
215 "libbinder",
Steven Moreland09226a72021-04-05 23:18:44 +0000216 "libactivitymanager_aidl",
Steven Moreland5d6ea8f2021-04-13 01:02:53 +0000217 "libpermission",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700218 "libcamera_client",
219 "libfmq",
Michael Grooverd1d435a2018-12-18 17:39:42 -0800220 "libsensorprivacy",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700221 ],
222
223 include_dirs: [
224 "system/media/private/camera/include",
225 "frameworks/native/include/media/openmax",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700226 ],
227
228 export_include_dirs: ["."],
229
230 cflags: [
231 "-Wall",
232 "-Wextra",
233 "-Werror",
Emilian Peev538c90e2018-12-17 18:03:19 +0000234 "-Wno-ignored-qualifiers",
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700235 ],
Jayant Chowdhary5033aa12018-07-24 11:56:19 -0700236}
Austin Borger6db81852021-12-08 20:51:54 +0000237
238cc_library_static {
Austin Borger886c62e2022-01-04 20:58:32 +0000239 name: "libcameraservice_device_independent",
Austin Borger6db81852021-12-08 20:51:54 +0000240 host_supported: true,
241
242 // Camera service source
243
244 srcs: [
Austin Borger94422aa2021-12-14 22:59:59 +0000245 "common/DepthPhotoProcessor.cpp",
Austin Borgerea931242021-12-13 23:10:41 +0000246 "device3/CoordinateMapper.cpp",
247 "device3/DistortionMapper.cpp",
Austin Borger0c9eee22021-12-13 23:36:39 +0000248 "device3/RotateAndCropMapper.cpp",
Austin Borgerab7b1f32021-12-13 23:50:25 +0000249 "device3/ZoomRatioMapper.cpp",
Austin Borger6db81852021-12-08 20:51:54 +0000250 "utils/ExifUtils.cpp",
Austin Borgerea931242021-12-13 23:10:41 +0000251 "utils/SessionConfigurationUtilsHost.cpp",
Eino-Ville Talvalaffc186b2024-04-09 18:10:47 -0700252 "utils/SessionStatsBuilder.cpp",
Austin Borger6db81852021-12-08 20:51:54 +0000253 ],
254
Austin Borgerce7594d2022-02-22 22:21:38 +0000255 header_libs: [
256 "libdynamic_depth-internal_headers",
257 "libdynamic_depth-public_headers",
258 ],
259
Austin Borger6db81852021-12-08 20:51:54 +0000260 shared_libs: [
261 "libbase",
262 "libbinder",
263 "libcamera_metadata",
Austin Borger94422aa2021-12-14 22:59:59 +0000264 "libdynamic_depth",
Austin Borger6db81852021-12-08 20:51:54 +0000265 "libexif",
Austin Borger94422aa2021-12-14 22:59:59 +0000266 "libjpeg",
Austin Borger6db81852021-12-08 20:51:54 +0000267 "liblog",
268 "libutils",
Austin Borger94422aa2021-12-14 22:59:59 +0000269 "libxml2",
Austin Borger6db81852021-12-08 20:51:54 +0000270 ],
271
Dennis Shen353dfbb2024-09-20 12:57:22 +0000272 target: {
273 android: {
274 shared_libs: [
275 "camera_platform_flags_c_lib",
276 ],
277 },
278 host: {
279 shared_libs: [
280 "camera_platform_flags_c_lib_for_test",
281 ],
282 },
283 },
284
Austin Borger6db81852021-12-08 20:51:54 +0000285 include_dirs: [
286 "frameworks/av/camera/include",
287 "frameworks/av/camera/include/camera",
288 ],
289
290 export_include_dirs: ["."],
291
292 cflags: [
293 "-Wall",
294 "-Wextra",
295 "-Werror",
296 "-Wno-ignored-qualifiers",
297 ],
Ray Essick8fc402a2022-02-16 15:08:55 -0800298}