blob: 3ac9153023cda8b990b26d5ddff9b8106a0c53ed [file] [log] [blame]
#
# Copyright (C) 2019-2020 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
group("all") {
deps = [
":libcam_algo",
":libcamhal",
]
if (use.ipu6se) {
deps += [
":libcam_algo_vendor_gpu",
]
}
}
shared_library("libcamhal") {
sources = [
"aal/Camera3AMetadata.cpp",
"aal/Camera3HAL.cpp",
"aal/Camera3HALModule.cpp",
"aal/Camera3Stream.cpp",
"aal/HALv3Utils.cpp",
"aal/IntelAEStateMachine.cpp",
"aal/IntelAFStateMachine.cpp",
"aal/IntelAWBStateMachine.cpp",
"aal/MetadataConvert.cpp",
"aal/PostProcessor.cpp",
"aal/RequestManager.cpp",
"aal/ResultProcessor.cpp",
"modules/ia_cipr/src/Buffer.cpp",
"modules/ia_cipr/src/Command.cpp",
"modules/ia_cipr/src/Context.cpp",
"modules/ia_cipr/src/Event.cpp",
"modules/ia_cipr/src/Utils.cpp",
"modules/sandboxing/client/IntelAlgoClient.cpp",
"modules/sandboxing/client/IntelAlgoCommon.cpp",
"modules/sandboxing/client/IntelLard.cpp",
"modules/sandboxing/client/IntelFaceDetection.cpp",
"modules/sandboxing/client/GraphConfigImpl.cpp",
"modules/sandboxing/client/IntelCmc.cpp",
"modules/sandboxing/client/IntelMkn.cpp",
"modules/sandboxing/client/IntelLtm.cpp",
"modules/sandboxing/client/IntelAiq.cpp",
"modules/sandboxing/client/IntelDvs.cpp",
"modules/sandboxing/client/IntelIspParamAdaptor.cpp",
"modules/sandboxing/client/IntelPGParam.cpp",
"modules/sandboxing/IPCCommon.cpp",
"modules/sandboxing/IPCIntelLard.cpp",
"modules/sandboxing/IPCIntelFD.cpp",
"modules/sandboxing/IPCGraphConfig.cpp",
"modules/sandboxing/IPCIntelCmc.cpp",
"modules/sandboxing/IPCIntelMkn.cpp",
"modules/sandboxing/IPCIntelLtm.cpp",
"modules/sandboxing/IPCIntelAiq.cpp",
"modules/sandboxing/IPCIntelDvs.cpp",
"modules/sandboxing/IPCIspParamAdaptor.cpp",
"modules/sandboxing/IPCIntelPGParam.cpp",
"modules/memory/Camera3BufferPool.cpp",
"modules/memory/chrome/Camera3Buffer.cpp",
"src/3a/AiqCore.cpp",
"src/3a/AiqEngine.cpp",
"src/3a/AiqResult.cpp",
"src/3a/AiqResultStorage.cpp",
"src/3a/AiqSetting.cpp",
"src/3a/AiqStatistics.cpp",
"src/3a/AiqUnit.cpp",
"src/3a/AiqUtils.cpp",
"src/3a/I3AControlFactory.cpp",
"src/3a/DvsResult.cpp",
"src/3a/Dvs.cpp",
"src/3a/MakerNote.cpp",
"src/3a/LensManager.cpp",
"src/3a/Ltm.cpp",
"src/3a/SensorManager.cpp",
"src/3a/intel3a/Intel3AParameter.cpp",
"src/core/BufferQueue.cpp",
"src/core/CameraBuffer.cpp",
"src/core/CameraDevice.cpp",
"src/core/CameraEvent.cpp",
"src/core/CameraStream.cpp",
"src/core/CaptureUnit.cpp",
"src/core/DeviceBase.cpp",
"src/core/IspParamAdaptor.cpp",
"src/core/LensHw.cpp",
"src/core/PSysProcessor.cpp",
"src/core/ProcessorManager.cpp",
"src/core/RequestThread.cpp",
"src/core/SensorHwCtrl.cpp",
"src/core/SofSource.cpp",
"src/core/SwImageProcessor.cpp",
"src/core/SyncManager.cpp",
"src/core/psysprocessor/PGCommon.cpp",
"src/core/psysprocessor/PGUtils.cpp",
"src/core/psysprocessor/PSysDAG.cpp",
"src/core/psysprocessor/PipeLiteExecutor.cpp",
"src/core/psysprocessor/PolicyManager.cpp",
"src/core/psysprocessor/ShareReferBufferPool.cpp",
"src/fd/FaceDetection.cpp",
"src/hal/CameraHal.cpp",
"src/hal/ICamera.cpp",
"src/image_process/ImageConverter.cpp",
"src/image_process/ImageScalerCore.cpp",
"src/image_process/PostProcessorBase.cpp",
"src/image_process/PostProcessorCore.cpp",
"src/image_process/chrome/ImageProcessorCore.cpp",
"src/iutils/CameraDump.cpp",
"src/iutils/CameraLog.cpp",
"src/iutils/ScopedAtrace.cpp",
"src/iutils/SwImageConverter.cpp",
"src/iutils/Thread.cpp",
"src/iutils/Trace.cpp",
"src/iutils/Utils.cpp",
"src/jpeg/EXIFMaker.cpp",
"src/jpeg/EXIFMetaData.cpp",
"src/jpeg/ExifCreater.cpp",
"src/jpeg/JpegMaker.cpp",
"src/jpeg/chrome/JpegEncoderCore.cpp", # TODO: Migrate to hardware JPEG encoding later
"src/metadata/CameraMetadata.cpp",
"src/metadata/ParameterGenerator.cpp",
"src/metadata/ParameterHelper.cpp",
"src/metadata/Parameters.cpp",
"src/metadata/icamera_metadata_base.cpp",
"src/platformdata/AiqInitData.cpp",
"src/platformdata/CameraParser.cpp",
"src/platformdata/ParserBase.cpp",
"src/platformdata/PlatformData.cpp",
"src/platformdata/PolicyParser.cpp",
"src/platformdata/gc/FormatUtils.cpp",
"src/platformdata/gc/GraphConfig.cpp",
"src/platformdata/gc/GraphConfigManager.cpp",
"src/platformdata/gc/GraphUtils.cpp",
"src/v4l2/MediaControl.cpp",
"src/v4l2/SysCall.cpp",
"src/v4l2/V4l2DeviceFactory.cpp",
"src/v4l2/NodeInfo.cpp",
]
cflags_cc = [
"-fvisibility=default",
]
include_dirs = [
".",
"include",
"include/api",
"include/utils",
"include/linux",
"src",
"src/fd",
"src/platformdata",
"src/platformdata/gc",
"src/v4l2",
"src/iutils",
"src/core",
"src/core/psysprocessor",
"src/metadata",
"src/3a/intel3a",
"src/3a/external",
"src/3a",
"src/image_process",
"src/image_process/chrome",
"src/jpeg/",
"src/jpeg/chrome",
"aal",
"aal/chrome",
"modules/ia_cipr/include",
"modules/ia_cipr/src/common",
"modules/ia_cipr/src/linux/linux",
"modules/memory",
"modules/memory/chrome",
"include/ia_imaging",
"include",
"include/gcss",
]
defines = [
"CAL_BUILD",
"IPU_SYSVER_IPU6",
"USE_PG_LITE_PIPE",
"HAVE_LINUX_OS",
"__STDC_FORMAT_MACROS",
"HAVE_PTHREADS",
"HAVE_IA_TYPES",
"HAVE_PRCTL",
"CAMERA_HAL_DEBUG",
"DUMP_IMAGE",
"HAL_PIXEL_FORMAT_NV12_LINEAR_CAMERA_INTEL=0x10F",
"ENABLE_SANDBOXING",
"FACE_DETECTION",
]
libs = [
"camera_client",
"camera_metadata",
"camera_common",
"cbm",
"jpeg",
"dl",
"cros_config",
]
pkg_deps = [
"cros-camera-android-headers",
"expat",
"libcab",
"libcamera_client",
"libcamera_common",
"libcamera_exif",
"libcamera_metadata",
"libcamera_v4l2_device",
"libcbm",
"libchrome",
"libmojo",
"libsync",
"libyuv",
]
if (use.ipu6se) {
sources += [
"modules/ia_css/ipu6se/src/ia_css_program_group_param.c",
"modules/ia_css/ipu6se/src/ia_css_psys_process_group.c",
"modules/ia_css/ipu6se/src/ia_css_psys_program_group_manifest.c",
"modules/ia_css/ipu6se/src/ia_css_psys_terminal_manifest.c",
"modules/ia_css/ipu6se/src/ia_css_kernel_bitmap.c",
"modules/ia_css/ipu6se/src/ia_css_terminal_manifest.c",
"modules/ia_css/ipu6se/src/ia_css_psys_program_manifest.c",
"modules/ia_css/ipu6se/src/ia_css_psys_process.c",
"modules/ia_css/ipu6se/src/ia_css_psys_terminal.c",
"modules/ia_css/ipu6se/src/ia_css_psys_process_group_cmd_impl.c",
"modules/ia_css/ipu6se/src/vied_nci_psys_system.c",
"modules/ia_css/ipu6se/src/ia_css_terminal.c",
"modules/ia_css/ipu6se/src/ia_css_program_group_data.c",
"modules/ia_css/ipu6se/src/ia_css_rbm.c",
"src/core/psysprocessor/GPUExecutor.cpp",
"modules/sandboxing/client/IntelTNR7US.cpp",
]
include_dirs += [
"modules/ia_css/ipu6se/include",
]
libs += [
"broxton_ia_pal",
]
defines += [
"IPU_SYSVER_ipu6v3",
"TNR7_CM",
]
} else if (use.ipu6ep) {
sources += [
"modules/ia_css/ipu6ep/src/ia_css_program_group_param.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_process_group.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_program_group_manifest.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_terminal_manifest.c",
"modules/ia_css/ipu6ep/src/ia_css_kernel_bitmap.c",
"modules/ia_css/ipu6ep/src/ia_css_terminal_manifest.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_program_manifest.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_process.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_terminal.c",
"modules/ia_css/ipu6ep/src/ia_css_psys_process_group_cmd_impl.c",
"modules/ia_css/ipu6ep/src/vied_nci_psys_system.c",
"modules/ia_css/ipu6ep/src/ia_css_terminal.c",
"modules/ia_css/ipu6ep/src/ia_css_program_group_data.c",
"modules/ia_css/ipu6ep/src/ia_css_rbm.c",
]
include_dirs += [
"modules/ia_css/ipu6ep/include",
]
defines += [
"IPU_SYSVER_ipu6v5",
]
} else {
sources += [
"modules/ia_css/ipu6/src/ia_css_program_group_param.c",
"modules/ia_css/ipu6/src/ia_css_psys_process_group.c",
"modules/ia_css/ipu6/src/ia_css_psys_program_group_manifest.c",
"modules/ia_css/ipu6/src/ia_css_psys_terminal_manifest.c",
"modules/ia_css/ipu6/src/ia_css_kernel_bitmap.c",
"modules/ia_css/ipu6/src/ia_css_terminal_manifest.c",
"modules/ia_css/ipu6/src/ia_css_psys_program_manifest.c",
"modules/ia_css/ipu6/src/ia_css_psys_process.c",
"modules/ia_css/ipu6/src/ia_css_psys_terminal.c",
"modules/ia_css/ipu6/src/ia_css_psys_process_group_cmd_impl.c",
"modules/ia_css/ipu6/src/vied_nci_psys_system.c",
"modules/ia_css/ipu6/src/ia_css_terminal.c",
"modules/ia_css/ipu6/src/ia_css_program_group_data.c",
"modules/ia_css/ipu6/src/ia_css_rbm.c",
]
include_dirs += [
"modules/ia_css/ipu6/include",
]
}
deps = [ "//camera/common/libcamera_ipc:libcamera_ipc_mojom",
"//camera/common:libcamera_jpeg", ]
}
shared_library("libcam_algo") {
sources = [
"src/3a/DvsResult.cpp",
"src/iutils/Utils.cpp",
"src/iutils/Trace.cpp",
"src/iutils/ScopedAtrace.cpp",
"src/iutils/Thread.cpp",
"src/iutils/CameraLog.cpp",
"src/platformdata/gc/FormatUtils.cpp",
"src/platformdata/gc/GraphUtils.cpp",
"src/core/psysprocessor/PGUtils.cpp",
"modules/ia_cipr/src/Utils.cpp",
"modules/sandboxing/IPCCommon.cpp",
"modules/sandboxing/IPCIntelLard.cpp",
"modules/sandboxing/IPCIntelFD.cpp",
"modules/sandboxing/IPCGraphConfig.cpp",
"modules/sandboxing/IPCIntelCmc.cpp",
"modules/sandboxing/IPCIntelMkn.cpp",
"modules/sandboxing/IPCIntelLtm.cpp",
"modules/sandboxing/IPCIntelAiq.cpp",
"modules/sandboxing/IPCIntelDvs.cpp",
"modules/sandboxing/IPCIspParamAdaptor.cpp",
"modules/sandboxing/IPCIntelPGParam.cpp",
"modules/sandboxing/server/IntelCPUAlgoServer.cpp",
"modules/sandboxing/server/IntelAlgoServer.cpp",
"modules/sandboxing/server/IntelLardServer.cpp",
"modules/sandboxing/server/IntelFDServer.cpp",
"modules/sandboxing/server/GraphConfigServer.cpp",
"modules/sandboxing/server/IntelCmcServer.cpp",
"modules/sandboxing/server/IntelMknServer.cpp",
"modules/sandboxing/server/IntelLtmServer.cpp",
"modules/sandboxing/server/IntelAiqServer.cpp",
"modules/sandboxing/server/IntelDvsServer.cpp",
"modules/sandboxing/server/IspParamAdaptorServer.cpp",
"modules/sandboxing/server/IntelPGParamServer.cpp",
"modules/algowrapper/IntelLard.cpp",
"modules/algowrapper/IntelFaceDetection.cpp",
"modules/algowrapper/graph/GraphConfigImpl.cpp",
"modules/algowrapper/graph/GraphConfigPipe.cpp",
"modules/algowrapper/IntelCmc.cpp",
"modules/algowrapper/IntelMkn.cpp",
"modules/algowrapper/IntelLtm.cpp",
"modules/algowrapper/IntelAiq.cpp",
"modules/algowrapper/IntelDvs.cpp",
"modules/algowrapper/IntelIspParamAdaptor.cpp",
"modules/algowrapper/IntelPGParam.cpp",
"src/3a/AiqUtils.cpp",
]
cflags_cc = [
"-fvisibility=default",
]
include_dirs = [
".",
"include",
"include/api",
"include/utils",
"include/linux",
"src",
"src/fd",
"src/platformdata",
"src/platformdata/gc",
"src/v4l2",
"src/iutils",
"src/core",
"src/core/psysprocessor",
"src/metadata",
"src/3a/intel3a",
"src/3a/external",
"src/3a",
"src/image_process",
"src/image_process/chrome",
"src/jpeg/",
"src/jpeg/chrome",
"aal",
"aal/chrome",
"modules/memory",
"modules/memory/chrome",
"include/ia_imaging",
"include",
"include/gcss",
]
defines = [
"CAL_BUILD",
"IPU_SYSVER_IPU6",
"USE_PG_LITE_PIPE",
"HAVE_LINUX_OS",
"__STDC_FORMAT_MACROS",
"HAVE_PTHREADS",
"HAVE_IA_TYPES",
"HAVE_PRCTL",
"CAMERA_HAL_DEBUG",
"DUMP_IMAGE",
"HAL_PIXEL_FORMAT_NV12_LINEAR_CAMERA_INTEL=0x10F",
"ENABLE_SANDBOXING",
"FACE_DETECTION",
]
libs = [
"ia_aiq",
"ia_cmc_parser",
"ia_exc",
"ia_log",
"ia_mkn",
"ia_ltm",
"ia_isp_bxt",
"ia_dvs",
"ia_lard",
"pvl_eye_detection",
"pvl_face_detection",
"pvl_mouth_detection",
"gcss",
"ia_aiqb_parser",
]
pkg_deps = [
"cros-camera-android-headers",
"libcab",
"libmojo",
]
if (use.ipu6se) {
libs += [
"ipu6sepla",
"ia_p2p_ipu6sepla",
]
defines += [
"IPU_SYSVER_ipu6v3",
]
include_dirs += [
"modules/ia_css/ipu6se/include",
]
} else if (use.ipu6ep) {
libs += [
"ipu6ep",
"ia_p2p_ipu6ep",
]
defines += [
"IPU_SYSVER_ipu6v5",
]
include_dirs += [
"modules/ia_css/ipu6ep/include",
]
} else {
libs += [
"ipu6",
"ia_p2p_ipu6",
]
include_dirs += [
"modules/ia_css/ipu6/include",
]
}
deps = [ "//camera/common/libcamera_ipc:libcamera_ipc_mojom" ]
}
if (use.ipu6se) {
shared_library("libcam_algo_vendor_gpu") {
sources = [
"src/iutils/Utils.cpp",
"src/iutils/Trace.cpp",
"src/iutils/ScopedAtrace.cpp",
"src/iutils/Thread.cpp",
"src/iutils/CameraLog.cpp",
"modules/sandboxing/IPCCommon.cpp",
"modules/sandboxing/server/IntelAlgoServer.cpp",
"modules/sandboxing/server/IntelGPUAlgoServer.cpp",
"modules/sandboxing/server/IntelTNRServer.cpp",
"modules/algowrapper/IntelTNR7US.cpp",
]
include_dirs = [
".",
"include",
"include/api",
"include/utils",
"include/linux",
"src",
"src/core",
"src/fd",
"src/platformdata",
"src/3a",
"src/platformdata/gc",
"src/iutils",
"src/metadata",
"src/v4l2",
"include",
"include/ia_imaging",
"include/gcss",
]
defines = [
"CAL_BUILD",
"IPU_SYSVER_IPU6",
"HAVE_LINUX_OS",
"__STDC_FORMAT_MACROS",
"HAVE_PTHREADS",
"CAMERA_HAL_DEBUG",
"ENABLE_SANDBOXING",
"IPU_SYSVER_ipu6v3",
"GPU_ALGO_SERVER",
"TNR7_CM",
]
libs = [
"ia_log",
"tnr7_cm",
]
pkg_deps = [
"cros-camera-android-headers",
"libcab",
"igfxcmrt",
"libmojo",
]
deps = [ "//camera/common/libcamera_ipc:libcamera_ipc_mojom" ]
}
}