1 Star 4 Fork 11

HiHope-RK3588/camera_engine_rkaiq_linux

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
BUILD.gn 14.76 KB
一键复制 编辑 原始数据 按行查看 历史
葛楠 提交于 2023-01-12 11:27 . init rkaiq camera
#
# Copyright (c) 2020 Huawei Device Co., Ltd.
# 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.
#
rkaiq_sources = [
# AIQ_CORE_SRC
"aiq_core/algo_handlers/RkAiqA3dlutHandle.cpp",
"aiq_core/algo_handlers/RkAiqAcsmHandle.cpp",
"aiq_core/algo_handlers/RkAiqAgainV2Handle.cpp",
"aiq_core/algo_handlers/RkAiqArawnrHandle.cpp",
"aiq_core/algo_handlers/RkAiqAynrV2Handle.cpp",
"aiq_core/algo_handlers/RkAiqAcgcHandle.cpp",
"aiq_core/algo_handlers/RkAiqAeHandle.cpp",
"aiq_core/algo_handlers/RkAiqAmdHandle.cpp",
"aiq_core/algo_handlers/RkAiqAtmoHandle.cpp",
"aiq_core/algo_handlers/RkAiqAbayer2dnrV2Handle.cpp",
"aiq_core/algo_handlers/RkAiqAdebayerHandle.cpp",
"aiq_core/algo_handlers/RkAiqAgammaHandle.cpp",
"aiq_core/algo_handlers/RkAiqArawnrV2Handle.cpp",
"aiq_core/algo_handlers/RkAiqAynrV3Handle.cpp",
"aiq_core/algo_handlers/RkAiqAcnrHandle.cpp",
"aiq_core/algo_handlers/RkAiqAeisHandle.cpp",
"aiq_core/algo_handlers/RkAiqAmergeHandle.cpp",
"aiq_core/algo_handlers/RkAiqAwbHandle.cpp",
"aiq_core/algo_handlers/RkAiqAbayertnrV2Handle.cpp",
"aiq_core/algo_handlers/RkAiqAdegammaHandle.cpp",
"aiq_core/algo_handlers/RkAiqAgicHandle.cpp",
"aiq_core/algo_handlers/RkAiqAsdHandle.cpp",
"aiq_core/algo_handlers/RkAiqCustomAeHandle.cpp",
"aiq_core/algo_handlers/RkAiqAcnrV1Handle.cpp",
"aiq_core/algo_handlers/RkAiqAfecHandle.cpp",
"aiq_core/algo_handlers/RkAiqAmfnrHandle.cpp",
"aiq_core/algo_handlers/RkAiqAwbV21Handle.cpp",
"aiq_core/algo_handlers/RkAiqCustomAwbHandle.cpp",
"aiq_core/algo_handlers/RkAiqAblcHandle.cpp",
"aiq_core/algo_handlers/RkAiqAdhazHandle.cpp",
"aiq_core/algo_handlers/RkAiqAieHandle.cpp",
"aiq_core/algo_handlers/RkAiqAsharpHandle.cpp",
"aiq_core/algo_handlers/RkAiqAcnrV2Handle.cpp",
"aiq_core/algo_handlers/RkAiqAfHandle.cpp",
"aiq_core/algo_handlers/RkAiqAnrHandle.cpp",
"aiq_core/algo_handlers/RkAiqAwdrHandle.cpp",
"aiq_core/algo_handlers/RkAiqAcacHandle.cpp",
"aiq_core/algo_handlers/RkAiqAdpccHandle.cpp",
"aiq_core/algo_handlers/RkAiqAldchHandle.cpp",
"aiq_core/algo_handlers/RkAiqAsharpV3Handle.cpp",
"aiq_core/algo_handlers/RkAiqAcpHandle.cpp",
"aiq_core/algo_handlers/RkAiqAgainHandle.cpp",
"aiq_core/algo_handlers/RkAiqAorbHandle.cpp",
"aiq_core/algo_handlers/RkAiqAynrHandle.cpp",
"aiq_core/algo_handlers/RkAiqAccmHandle.cpp",
"aiq_core/algo_handlers/RkAiqAdrcHandle.cpp",
"aiq_core/algo_handlers/RkAiqAlscHandle.cpp",
"aiq_core/algo_handlers/RkAiqAsharpV4Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupA3dlutHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAdehazeHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAldchHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAbayer2dnrV2Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAdpccHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAlscHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAbayertnrV2Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAdrcHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAmergeHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAblcHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAeHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAsharpV4Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAccmHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAgainV2Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAwbHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAcnrV2Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAgammaHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAynrV3Handle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAdebayerHandle.cpp",
"aiq_core/algo_camgroup_handlers/RkAiqCamGroupAgicHandle.cpp",
"aiq_core/MessageBus.cpp",
"aiq_core/RkAiqCamgroupHandle.cpp",
"aiq_core/RkAiqHandle.cpp",
"aiq_core/RkAiqResourceTranslatorV21.cpp",
"aiq_core/RkLumaCore.cpp",
"aiq_core/thumbnails.cpp",
"aiq_core/RkAiqAnalyzeGroupManager.cpp",
"aiq_core/RkAiqCore.cpp",
"aiq_core/RkAiqResourceTranslator.cpp",
"aiq_core/RkAiqResourceTranslatorV3x.cpp",
"aiq_core/scaler_service.cpp",
# ALGO_COMMON_SRC
"algos/interpolation.cpp",
# COMMON_SRC
"common/mediactl/mediactl.c",
#"common/gen_mesh/genMesh.cpp",
"common/code_to_pixel_format.cpp",
"common/media_buffer/media_buffer.c",
"common/media_buffer/media_buffer_pool.c",
# HWI_SRC
"hwi/CamHwBase.cpp",
"hwi/SensorHw.cpp",
"hwi/LensHw.cpp",
"hwi/FlashLight.cpp",
"hwi/image_processor.cpp",
"hwi/IspParamsSplitter.cpp",
"hwi/isp20/CamHwIsp20.cpp",
"hwi/isp20/Isp20Evts.cpp",
"hwi/isp20/Isp20StatsBuffer.cpp",
"hwi/isp20/PdafStreamProcUnit.cpp",
"hwi/isp20/SPStreamProcUnit.cpp",
"hwi/isp20/TnrStreamProcUnit.cpp",
"hwi/isp20/CaptureRawData.cpp",
"hwi/isp20/Isp20_module_dbg.cpp",
"hwi/isp20/NrStatsStream.cpp",
"hwi/isp20/RawStreamCapUnit.cpp",
"hwi/isp20/Stream.cpp",
"hwi/isp20/FecParamStream.cpp",
"hwi/isp20/Isp20Params.cpp",
"hwi/isp20/NrStreamProcUnit.cpp",
"hwi/isp20/RawStreamProcUnit.cpp",
"hwi/isp20/TnrStatsStream.cpp",
"hwi/isp21/CamHwIsp21.cpp",
"hwi/isp3x/CamHwIsp3x.cpp",
"hwi/fakecamera/FakeCamHwIsp20.cpp",
"hwi/fakecamera/FakeSensorHw.cpp",
# IQ_PARSER_SRC
"iq_parser/RkAiqCalibParser.cpp",
"iq_parser/RkAiqCalibDb.cpp",
"iq_parser/RkAiqCalibTag.cpp",
"iq_parser/tinyxml2.cpp",
"iq_parser/xmltags.cpp",
"iq_parser/RkAiqCalibApi.cpp",
# IQ_PARSER_V2_SRC
"iq_parser_v2/RkAiqCalibDbV2.cpp",
"iq_parser_v2/scene/scene_manager.cpp",
"iq_parser_v2/awb_xml2json.cpp",
"iq_parser_v2/bayernr_xml2json_v1.cpp",
"iq_parser_v2/mfnr_xml2json_v1.cpp",
"iq_parser_v2/ynr_xml2json_v1.cpp",
"iq_parser_v2/uvnr_xml2json_v1.cpp",
"iq_parser_v2/sharp_xml2json_v1.cpp",
"iq_parser_v2/edgefilter_xml2json_v1.cpp",
# UAPI_SRC
"uAPI2/rk_aiq_user_api2_sysctl.cpp",
"uAPI2/rk_aiq_user_api2_debug.cpp",
"uAPI2/rk_aiq_user_api2_helper.cpp",
"uAPI2/rk_aiq_user_api2_wrapper.cpp",
"common/rkaiq_ini.c",
# XCORE_SRC
"xcore/xcam_common.cpp",
"xcore/xcam_log.cpp",
"xcore/xcam_thread.cpp",
"xcore/xcam_buffer.cpp",
"xcore/video_buffer.cpp",
"xcore/v4l2_buffer_proxy.cpp",
"xcore/v4l2_device.cpp",
"xcore/buffer_pool.cpp",
"xcore/poll_thread.cpp",
"xcore/smart_buffer_priv.cpp",
"xcore/fake_v4l2_device.cpp",
# IPC_SERVER_SRC
"ipc_server/socket_server.cpp",
"ipc_server/rkaiq_tool_ae.cpp",
"ipc_server/rkaiq_tool_anr.cpp",
"ipc_server/rkaiq_tool_imgproc.cpp",
"ipc_server/rkaiq_tool_sharp.cpp",
"ipc_server/rkaiq_tool_sysctl.cpp",
"ipc_server/command_process.cpp",
"ipc_server/MessageParser.cpp",
"RkAiqManager.cpp",
"RkAiqCamGroupManager.cpp"
]
if (defined(ohos_lite)) {
import("//build/lite/config/component/lite_component.gni")
import("//build/lite/ndk/ndk.gni")
defines = []
config("rkaiq_config") {
include_dirs = [
".",
"xcore",
"xcore/base",
"common",
"common/gen_mesh",
"aiq_core",
"algo_handlers",
"algos_camgroup",
"algos",
"hwi",
"hwi/isp20",
"hwi/isp21",
"iq_parser",
"iq_parser_v2",
"uAPI",
"uAPI/include",
"uAPI2",
"ipc_server",
"include",
"include/xcore",
"include/xcore/base",
"include/common",
"include/common/mediactl",
"include/algos",
"include/iq_parser",
"include/iq_parser_v2",
"include/iq_parser_v2/j2s",
"include/uAPI",
"include/uAPI2",
"include/ipc_server",
]
if (ohos_kernel_type == "liteos_m") {
defines += [ "__unix__", "RKAIQ_CONFIG_FILE=<../port/config/config_liteos_m.h>" ]
}
if (ohos_kernel_type == "liteos_a") {
defines += [ "__unix__", "RKAIQ_CONFIG_FILE=<../port/config/config_liteos_a.h>" ]
}
cflags_cc = [
"-std=c++17",
"-DISP_HW_VERSION=-DISP_HW_V30",
"-DRKAIQ_ENABLE_PARSER_V1",
"-DRKAIQ_ENABLE_CAMGROUP",
]
}
lite_library("rkaiq_shared") {
target_type = "shared_library"
public_configs = [ ":rkaiq_config" ]
output_name = "rkaiq"
sources = rkaiq_sources
}
group("rkaiq") {
if (ohos_kernel_type == "liteos_m") {
deps = [ ":rkaiq_static" ]
} else {
deps = [ ":rkaiq_shared" ]
}
}
ndk_lib("rkaiq_ndk") {
if (ohos_kernel_type == "liteos_m") {
lib_extension = ".a"
} else {
lib_extension = ".so"
}
deps = [ ":rkaiq" ]
head_files = [ "include" ]
}
} else {
import("//build/config/clang/clang.gni")
import("//build/ohos.gni")
config("rkaiq_config") {
include_dirs = [
".",
"xcore",
"xcore/base",
"common",
"common/gen_mesh",
"aiq_core",
"algo_handlers",
"algos_camgroup",
"algos",
"hwi",
"hwi/isp20",
"hwi/isp21",
"iq_parser",
"iq_parser_v2",
"uAPI",
"uAPI/include",
"uAPI2",
"ipc_server",
"include",
"include/xcore",
"include/xcore/base",
"include/common",
"include/common/mediactl",
"include/algos",
"include/iq_parser",
"include/iq_parser_v2",
"include/iq_parser_v2/j2s",
"include/uAPI",
"include/uAPI2",
"include/ipc_server",
]
cflags_cc = [
"-DISP_HW_V30",
"-DRKAIQ_ENABLE_PARSER_V1",
"-DRKAIQ_ENABLE_CAMGROUP",
"-fPIC",
"-Wall",
"-Wno-error",
"-Wno-unused-value",
"-Wno-unused-variable",
"-Wno-unused-private-field",
"-Wno-misleading-indentation",
"-Wno-unused-function",
"-Wno-unused-label",
"-Wno-implicit-fallthrough",
"-Wno-ignored-qualifiers",
"-Wno-reorder",
"-Wno-address-of-packed-member",
"-Wno-unused-parameter",
"-Wno-overloaded-virtual",
"-Wno-extern-c-compat",
"-Wno-header-hygiene",
"-fno-strict-aliasing",
"-fno-function-sections",
"-fno-data-sections",
"-frtti",
"-std=c++11",
"-Wno-macro-redefined",
"-Wno-c99-designator",
"-Wno-missing-braces",
"-Wno-sometimes-uninitialized",
]
ldflags = [
"-fno-function-sections",
"-fno-data-sections",
]
}
ohos_prebuilt_static_library("librkaiq_ae.a") {
if (target_cpu == "arm") {
source = "algos/ae/linux/arm/librkaiq_ae.a"
} else if (target_cpu == "arm64") {
source = "algos/ae/linux/aarch64/librkaiq_ae.a"
} else {
source = ""
}
part_name = "rockchip_products"
}
ohos_prebuilt_static_library("librkaiq_af.a") {
if (target_cpu == "arm") {
source = "algos/af/linux/arm/librkaiq_af.a"
} else if (target_cpu == "arm64") {
#source = "algos/af/linux/aarch64/librkaiq_af.a"
source = "algos/af/linux/arm/librkaiq_af.a"
} else {
source = ""
}
part_name = "rockchip_products"
}
ohos_prebuilt_static_library("librkaiq_awb.a") {
if (target_cpu == "arm") {
source = "algos/awb/linux/arm/librkaiq_awb.a"
} else if (target_cpu == "arm64") {
source = "algos/awb/linux/aarch64/librkaiq_awb.a"
} else {
source = ""
}
part_name = "rockchip_products"
}
ohos_prebuilt_static_library("librkaiq_asd.a") {
if (target_cpu == "arm") {
source = "algos/asd/linux/arm/librkaiq_asd.a"
} else if (target_cpu == "arm64") {
source = "algos/asd/linux/aarch64/librkaiq_asd.a"
} else {
source = ""
}
part_name = "rockchip_products"
}
ohos_prebuilt_static_library("librkaiq_camgroup_ae.a") {
if (target_cpu == "arm") {
source = "algos_camgroup/ae/linux/arm/librkaiq_camgroup_ae.a"
} else if (target_cpu == "arm64") {
source = "algos_camgroup/ae/linux/aarch64/librkaiq_camgroup_ae.a"
} else {
source = ""
}
part_name = "rockchip_products"
}
ohos_prebuilt_static_library("librkaiq_camgroup_awb.a") {
if (target_cpu == "arm") {
source = "algos_camgroup/awb/linux/arm/librkaiq_camgroup_awb.a"
} else if (target_cpu == "arm64") {
source = "algos_camgroup/awb/linux/aarch64/librkaiq_camgroup_awb.a"
} else {
source = ""
}
part_name = "rockchip_products"
}
#ohos_prebuilt_static_library("libgenMeshLib.a") {
# if (target_cpu == "arm") {
# source = "common/gen_mesh/linux/genMesh_static_32bit/libgenMeshLib.a"
# } else if (target_cpu == "arm64") {
# source = "common/gen_mesh/linux/genMesh_static_64bit/libgenMeshLib.a"
# } else {
# source = ""
# }
# part_name = "rockchip_products"
# }
ohos_shared_library("rkaiq_shared") {
public_configs = [ ":rkaiq_config" ]
output_name = "rkaiq"
sources = rkaiq_sources
deps = [
":librkaiq_ae.a",
":librkaiq_awb.a",
":librkaiq_af.a",
":librkaiq_asd.a",
#"algos:rkaqi_pdaf_static",
"algos:rkaiq_amerge_static",
"algos:rkaiq_atmo_static",
"algos:rkaiq_anr_static",
"algos:rkaiq_acp_static",
"algos:rkaiq_aie_static",
"algos:rkaiq_asharp_static",
"algos:rkaiq_adhaz_static",
"algos:rkaiq_a3dlut_static",
"algos:rkaiq_ablc_static",
"algos:rkaiq_accm_static",
"algos:rkaiq_acgc_static",
"algos:rkaiq_adebayer_static",
"algos:rkaiq_adpcc_static",
"algos:rkaiq_afec_static",
"algos:rkaiq_agamma_static",
"algos:rkaiq_adegamma_static",
"algos:rkaiq_agic_static",
"algos:rkaiq_aldch_static",
"algos:rkaiq_alsc_static",
"algos:rkaiq_aorb_static",
"algos:rkaiq_acsm_static",
"algos:rkaiq_awdr_static",
"algos:rkaiq_adrc_static",
"algos:rkaiq_asharp_v3_static",
"algos:rkaiq_amd_static",
"algos:rkaiq_again_v1_static",
"algos:rkaiq_aynr_v1_static",
"algos:rkaiq_aynr_v2_static",
"algos:rkaiq_acnr_v1_static",
"algos:rkaiq_arawnr_v1_static",
"algos:rkaiq_arawnr_v2_static",
"algos:rkaiq_uvnr_v1_static",
"algos:rkaiq_mfnr_v1_static",
"algos:rkaiq_aeis_static",
#":libgenMeshLib.a",
"iq_parser_v2:iq_parser_v2_static",
"algos:rkaiq_aynr_v3_static",
"algos:rkaiq_acnr_v2_static",
"algos:rkaiq_abayer2dnr_v2_static",
"algos:rkaiq_abayertnr_v2_static",
"algos:rkaiq_again_v2_static",
"algos:rkaiq_acac_static",
"algos:rkaiq_asharp_v4_static",
":librkaiq_camgroup_ae.a",
":librkaiq_camgroup_awb.a",
"algos_camgroup:rkaiq_camgroup_misc_static",
]
}
group("rkaiq") {
deps = [ ":rkaiq_shared" ]
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hihope-rk3588/camera_engine_rkaiq_linux.git
git@gitee.com:hihope-rk3588/camera_engine_rkaiq_linux.git
hihope-rk3588
camera_engine_rkaiq_linux
camera_engine_rkaiq_linux
master

搜索帮助