# Copyright (C) 2021 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.
import("//build/ohos.gni")
import("//foundation/multimedia/image_framework/ide/image_decode_config.gni")
if (use_clang_ios) {
ohos_source_set("image_utils") {
include_dirs = [
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
"//foundation/multimedia/utils/include",
"//foundation/multimedia/image_framework/plugins/manager/include",
"//foundation/multimedia/image_framework/interfaces/innerkits/include",
"//commonlibrary/c_utils/base/include",
"//foundation/multimedia/media_utils_lite/interfaces/kits",
"//foundation/communication/ipc/utils/include",
"${image_subsystem}/frameworks/innerkitsimpl/common/include",
]
sources = [
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp",
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_utils.cpp",
"src/color_utils.cpp",
"src/image_system_properties.cpp",
"src/image_type_converter.cpp",
"src/pixel_yuv_utils.cpp",
"src/vpe_utils.cpp",
]
defines = image_decode_ios_defines
defines += [ "CROSS_PLATFORM" ]
sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
sources += [ "src/image_dfx.cpp" ]
sources += [ "src/image_data_statistics.cpp" ]
include_dirs += [ "$image_subsystem/mock/native/include/log" ]
include_dirs += [ "//third_party/ffmpeg" ]
deps = [
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ]
if (defined(global_parts_info) &&
defined(global_parts_info.open_source_libyuv)) {
defines += [ "EXT_PIXEL" ]
sources += [ "src/pixel_yuv_ext_utils.cpp" ]
}
#relative_install_dir = "module/multimedia"
subsystem_name = "multimedia"
part_name = "image_framework"
}
} else {
ohos_shared_library("image_utils") {
if (!use_clang_android) {
branch_protector_ret = "pac_ret"
sanitize = {
cfi = true
cfi_cross_dso = true
cfi_vcall_icall_only = true
debug = false
}
}
include_dirs = [
"${image_subsystem}/frameworks/innerkitsimpl/common/include",
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
"//foundation/multimedia/image_framework/plugins/manager/include",
"//foundation/multimedia/image_framework/interfaces/innerkits/include",
]
sources = [
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp",
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_handle.cpp",
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_utils.cpp",
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/memory_manager.cpp",
"src/color_utils.cpp",
"src/image_convert_tools.cpp",
"src/image_system_properties.cpp",
"src/image_type_converter.cpp",
"src/pixel_yuv_utils.cpp",
"src/vpe_utils.cpp",
]
external_deps = [
"drivers_interface_display:libdisplay_commontype_proxy_1.0",
]
if (use_mingw_win) {
defines = image_decode_windows_defines
include_dirs += [ "//third_party/ffmpeg" ]
sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
include_dirs +=
[ "//foundation/multimedia/image_framework/mock/native/include" ]
deps = [
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg" ]
} else if (use_clang_mac) {
defines = image_decode_mac_defines
include_dirs += [ "//third_party/ffmpeg" ]
sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
include_dirs += [
"//foundation/multimedia/image_framework/mock/native/include",
"//third_party/bounds_checking_function/include",
]
deps = [
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
"//third_party/bounds_checking_function:libsec_static",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg" ]
} else if (use_clang_android) {
defines = image_decode_android_defines
defines += [ "CROSS_PLATFORM" ]
include_dirs += [ "//third_party/ffmpeg" ]
sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
include_dirs += [ "$image_subsystem/mock/native/include/log" ]
deps = [
"//commonlibrary/c_utils/base:utils",
"//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
]
sources += [ "src/image_dfx.cpp" ]
sources += [ "src/image_data_statistics.cpp" ]
deps += [ "//third_party/ffmpeg:libohosffmpeg" ]
} else {
defines = [ "DUAL_ADAPTER" ]
deps = [
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
]
sources += [
"src/image_data_statistics.cpp",
"src/image_dfx.cpp",
"src/image_func_timer.cpp",
"src/image_fwk_ext_manager.cpp",
"src/hispeed_image_manager.cpp",
]
external_deps += [
"access_token:libprivacy_sdk",
"access_token:libtokenid_sdk",
"bounds_checking_function:libsec_shared",
"bundle_framework:appexecfwk_base",
"bundle_framework:appexecfwk_core",
"c_utils:utils",
"ffmpeg:libohosffmpeg",
"ffrt:libffrt",
"graphic_2d:color_manager",
"graphic_surface:surface",
"hilog:libhilog",
"hisysevent:libhisysevent",
"hitrace:hitrace_meter",
"ipc:ipc_single",
"ipc:ipc_core",
"os_account:os_account_innerkits",
"samgr:samgr_proxy",
"json:nlohmann_json_static",
]
if (defined(global_parts_info) &&
defined(global_parts_info.multimedia_video_processing_engine)) {
defines += [ "IMAGE_VPE_FLAG" ]
}
if (is_emulator) {
defines += [ "IS_EMULATOR" ]
}
if (is_standard_system) {
external_deps += [ "init:libbegetutil" ]
} else {
external_deps += [ "startup:syspara" ]
}
}
if (defined(global_parts_info) &&
defined(global_parts_info.open_source_libyuv)) {
defines += [ "EXT_PIXEL" ]
sources += [ "src/pixel_yuv_ext_utils.cpp" ]
}
#relative_install_dir = "module/multimedia"
subsystem_name = "multimedia"
innerapi_tags = [ "platformsdk_indirect" ]
part_name = "image_framework"
}
}
if (use_mingw_win || use_clang_mac || use_clang_ios || use_clang_android) {
ohos_static_library("image_utils_static") {
if (!is_arkui_x) {
sanitize = {
cfi = true
cfi_cross_dso = true
cfi_vcall_icall_only = true
debug = false
}
}
include_dirs = [
"${image_subsystem}/frameworks/innerkitsimpl/common/include",
"//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
"//foundation/multimedia/image_framework/plugins/manager/include",
"//foundation/multimedia/image_framework/interfaces/innerkits/include",
]
if (is_arkui_x) {
include_dirs += [ "//commonlibrary/c_utils/base/include" ]
}
sources = [
"src/color_utils.cpp",
"src/image_convert_tools.cpp",
"src/image_system_properties.cpp",
"src/image_type_converter.cpp",
"src/image_utils.cpp",
"src/pixel_yuv_utils.cpp",
"src/vpe_utils.cpp",
]
if (use_mingw_win) {
defines = image_decode_windows_defines
include_dirs += [ "//third_party/ffmpeg" ]
include_dirs +=
[ "//foundation/multimedia/image_framework/mock/native/include" ]
deps = [
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg" ]
} else if (use_clang_mac) {
defines = image_decode_mac_defines
include_dirs += [ "//third_party/ffmpeg" ]
include_dirs += [
"//foundation/multimedia/image_framework/mock/native/include",
"//third_party/bounds_checking_function/include",
]
deps = [
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
"//third_party/bounds_checking_function:libsec_static",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg" ]
} else if (use_clang_ios) {
defines = image_decode_ios_defines
defines += [ "CROSS_PLATFORM" ]
include_dirs += [
"$image_subsystem/mock/native/include/log",
"//third_party/bounds_checking_function/include",
]
include_dirs += [ "//third_party/ffmpeg" ]
include_dirs += [ "$image_subsystem/mock/native/include/log" ]
deps = [
"//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
]
sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
sources += [
"src/image_data_statistics.cpp",
"src/image_dfx.cpp",
"src/image_func_timer.cpp",
"src/image_fwk_ext_manager.cpp",
"src/hispeed_image_manager.cpp",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ]
} else if (use_clang_android) {
defines = image_decode_android_defines
defines += [ "CROSS_PLATFORM" ]
include_dirs += [
"$image_subsystem/mock/native/include/log",
"//third_party/bounds_checking_function/include",
]
include_dirs += [ "//third_party/ffmpeg" ]
include_dirs += [ "$image_subsystem/mock/native/include/log" ]
deps = [
"//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
"//foundation/multimedia/image_framework/mock/native:log_mock_static",
]
sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
sources += [
"src/image_data_statistics.cpp",
"src/image_dfx.cpp",
"src/image_func_timer.cpp",
"src/image_fwk_ext_manager.cpp",
"src/hispeed_image_manager.cpp",
]
deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ]
} else {
sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ]
sources += [
"src/image_data_statistics.cpp",
"src/image_dfx.cpp",
"src/image_func_timer.cpp",
"src/image_fwk_ext_manager.cpp",
"src/hispeed_image_manager.cpp",
]
deps = [
"//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
]
external_deps = [
"bounds_checking_function:libsec_shared",
"c_utils:utils",
"drivers_interface_display:libdisplay_commontype_proxy_1.0",
"ffmpeg:libohosffmpeg",
"ffrt:libffrt",
"graphic_2d:color_manager",
"graphic_surface:surface",
"hilog:libhilog",
"hisysevent:libhisysevent",
"hitrace:hitrace_meter",
]
if (is_standard_system) {
external_deps += [ "init:libbegetutil" ]
} else {
external_deps += [ "startup:syspara" ]
}
}
if (defined(global_parts_info) &&
defined(global_parts_info.open_source_libyuv)) {
defines = [ "EXT_PIXEL" ]
sources += [ "src/pixel_yuv_ext_utils.cpp" ]
}
subsystem_name = "multimedia"
part_name = "image_framework"
}
}