1# Copyright (C) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//foundation/multimedia/image_framework/ide/image_decode_config.gni") 16 17if (use_clang_ios) { 18 ohos_source_set("image_utils") { 19 include_dirs = [ 20 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 21 "//foundation/multimedia/utils/include", 22 "//foundation/multimedia/image_framework/plugins/manager/include", 23 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 24 "//commonlibrary/c_utils/base/include", 25 "//foundation/multimedia/media_utils_lite/interfaces/kits", 26 "//foundation/communication/ipc/utils/include", 27 "${image_subsystem}/frameworks/innerkitsimpl/common/include", 28 ] 29 30 sources = [ 31 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp", 32 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_utils.cpp", 33 "src/color_utils.cpp", 34 "src/image_system_properties.cpp", 35 "src/image_type_converter.cpp", 36 "src/pixel_yuv_utils.cpp", 37 "src/vpe_utils.cpp", 38 ] 39 40 defines = image_decode_ios_defines 41 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 42 sources += [ "src/image_dfx.cpp" ] 43 sources += [ "src/image_data_statistics.cpp" ] 44 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 45 include_dirs += [ "//third_party/ffmpeg" ] 46 deps = [ 47 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 48 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 49 ] 50 deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ] 51 if (defined(global_parts_info) && 52 defined(global_parts_info.open_source_libyuv)) { 53 defines += [ "EXT_PIXEL" ] 54 sources += [ "src/pixel_yuv_ext_utils.cpp" ] 55 } 56 57 #relative_install_dir = "module/multimedia" 58 subsystem_name = "multimedia" 59 part_name = "image_framework" 60 } 61} else { 62 ohos_shared_library("image_utils") { 63 if (!use_clang_android) { 64 branch_protector_ret = "pac_ret" 65 sanitize = { 66 cfi = true 67 cfi_cross_dso = true 68 cfi_vcall_icall_only = true 69 debug = false 70 } 71 } 72 include_dirs = [ 73 "${image_subsystem}/frameworks/innerkitsimpl/common/include", 74 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 75 "//foundation/multimedia/image_framework/plugins/manager/include", 76 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 77 ] 78 79 sources = [ 80 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp", 81 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_utils.cpp", 82 "src/color_utils.cpp", 83 "src/image_convert_tools.cpp", 84 "src/image_system_properties.cpp", 85 "src/image_type_converter.cpp", 86 "src/pixel_yuv_utils.cpp", 87 "src/vpe_utils.cpp", 88 ] 89 90 external_deps = 91 [ "drivers_interface_display:libdisplay_commontype_proxy_1.0" ] 92 if (use_mingw_win) { 93 defines = image_decode_windows_defines 94 include_dirs += [ "//third_party/ffmpeg" ] 95 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 96 include_dirs += 97 [ "//foundation/multimedia/image_framework/mock/native/include" ] 98 deps = [ 99 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 100 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 101 ] 102 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 103 } else if (use_clang_mac) { 104 defines = image_decode_mac_defines 105 include_dirs += [ "//third_party/ffmpeg" ] 106 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 107 include_dirs += [ 108 "//foundation/multimedia/image_framework/mock/native/include", 109 "//third_party/bounds_checking_function/include", 110 ] 111 deps = [ 112 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 113 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 114 "//third_party/bounds_checking_function:libsec_static", 115 ] 116 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 117 } else if (use_clang_android) { 118 defines = image_decode_android_defines 119 include_dirs += [ "//third_party/ffmpeg" ] 120 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 121 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 122 deps = [ 123 "//commonlibrary/c_utils/base:utils", 124 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 125 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 126 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 127 ] 128 sources += [ "src/image_dfx.cpp" ] 129 sources += [ "src/image_data_statistics.cpp" ] 130 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 131 } else { 132 defines = [ "DUAL_ADAPTER" ] 133 134 deps = [ 135 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 136 ] 137 138 sources += [ 139 "src/image_data_statistics.cpp", 140 "src/image_dfx.cpp", 141 "src/image_func_timer.cpp", 142 "src/image_fwk_ext_manager.cpp", 143 ] 144 external_deps += [ 145 "access_token:libprivacy_sdk", 146 "bundle_framework:appexecfwk_base", 147 "bundle_framework:appexecfwk_core", 148 "c_utils:utils", 149 "ffmpeg:libohosffmpeg", 150 "ffrt:libffrt", 151 "graphic_2d:color_manager", 152 "graphic_surface:surface", 153 "hilog:libhilog", 154 "hisysevent:libhisysevent", 155 "hitrace:hitrace_meter", 156 "ipc:ipc_single", 157 "os_account:os_account_innerkits", 158 "samgr:samgr_proxy", 159 ] 160 161 if (is_standard_system) { 162 external_deps += [ "init:libbegetutil" ] 163 } else { 164 external_deps += [ "startup:syspara" ] 165 } 166 } 167 168 if (defined(global_parts_info) && 169 defined(global_parts_info.open_source_libyuv)) { 170 defines += [ "EXT_PIXEL" ] 171 sources += [ "src/pixel_yuv_ext_utils.cpp" ] 172 } 173 174 #relative_install_dir = "module/multimedia" 175 subsystem_name = "multimedia" 176 innerapi_tags = [ "platformsdk_indirect" ] 177 part_name = "image_framework" 178 } 179} 180 181ohos_static_library("image_utils_static") { 182 if (!is_arkui_x) { 183 sanitize = { 184 cfi = true 185 cfi_cross_dso = true 186 cfi_vcall_icall_only = true 187 debug = false 188 } 189 } 190 191 include_dirs = [ 192 "${image_subsystem}/frameworks/innerkitsimpl/common/include", 193 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 194 "//foundation/multimedia/image_framework/plugins/manager/include", 195 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 196 ] 197 198 if (is_arkui_x) { 199 include_dirs += [ "//commonlibrary/c_utils/base/include" ] 200 } 201 202 sources = [ 203 "src/color_utils.cpp", 204 "src/image_convert_tools.cpp", 205 "src/image_system_properties.cpp", 206 "src/image_type_converter.cpp", 207 "src/image_utils.cpp", 208 "src/pixel_yuv_utils.cpp", 209 "src/vpe_utils.cpp", 210 ] 211 212 if (use_mingw_win) { 213 defines = image_decode_windows_defines 214 include_dirs += [ "//third_party/ffmpeg" ] 215 include_dirs += 216 [ "//foundation/multimedia/image_framework/mock/native/include" ] 217 deps = [ 218 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 219 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 220 ] 221 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 222 } else if (use_clang_mac) { 223 defines = image_decode_mac_defines 224 include_dirs += [ "//third_party/ffmpeg" ] 225 include_dirs += [ 226 "//foundation/multimedia/image_framework/mock/native/include", 227 "//third_party/bounds_checking_function/include", 228 ] 229 deps = [ 230 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 231 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 232 "//third_party/bounds_checking_function:libsec_static", 233 ] 234 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 235 } else if (use_clang_ios) { 236 defines = image_decode_ios_defines 237 include_dirs += [ 238 "$image_subsystem/mock/native/include/log", 239 "//third_party/bounds_checking_function/include", 240 ] 241 include_dirs += [ "//third_party/ffmpeg" ] 242 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 243 deps = [ 244 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 245 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 246 ] 247 sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 248 sources += [ 249 "src/image_data_statistics.cpp", 250 "src/image_dfx.cpp", 251 "src/image_func_timer.cpp", 252 "src/image_fwk_ext_manager.cpp", 253 ] 254 deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ] 255 } else if (use_clang_android) { 256 defines = image_decode_android_defines 257 include_dirs += [ 258 "$image_subsystem/mock/native/include/log", 259 "//third_party/bounds_checking_function/include", 260 ] 261 include_dirs += [ "//third_party/ffmpeg" ] 262 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 263 deps = [ 264 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 265 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 266 ] 267 sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 268 sources += [ 269 "src/image_data_statistics.cpp", 270 "src/image_dfx.cpp", 271 "src/image_func_timer.cpp", 272 "src/image_fwk_ext_manager.cpp", 273 ] 274 deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ] 275 } else { 276 sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 277 sources += [ 278 "src/image_data_statistics.cpp", 279 "src/image_dfx.cpp", 280 "src/image_func_timer.cpp", 281 "src/image_fwk_ext_manager.cpp", 282 ] 283 deps = [ 284 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 285 ] 286 287 external_deps = [ 288 "c_utils:utils", 289 "drivers_interface_display:libdisplay_commontype_proxy_1.0", 290 "ffmpeg:libohosffmpeg", 291 "ffrt:libffrt", 292 "graphic_2d:color_manager", 293 "graphic_surface:surface", 294 "hilog:libhilog", 295 "hisysevent:libhisysevent", 296 "hitrace:hitrace_meter", 297 ] 298 299 if (is_standard_system) { 300 external_deps += [ "init:libbegetutil" ] 301 } else { 302 external_deps += [ "startup:syspara" ] 303 } 304 } 305 if (defined(global_parts_info) && 306 defined(global_parts_info.open_source_libyuv)) { 307 defines = [ "EXT_PIXEL" ] 308 sources += [ "src/pixel_yuv_ext_utils.cpp" ] 309 } 310 subsystem_name = "multimedia" 311 part_name = "image_framework" 312} 313