# Copyright (c) 2023 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.

VIDEO_PROCESSING_ENGINE_ROOT_DIR    = "//foundation/multimedia/video_processing_engine"

FRAMEWORK_DIR                       = "$VIDEO_PROCESSING_ENGINE_ROOT_DIR/framework"
ALGORITHM_DIR                       = "$FRAMEWORK_DIR/algorithm"
CAPI_DIR                            = "$FRAMEWORK_DIR/capi"
COMMON_DIR                          = "$FRAMEWORK_DIR/common"
DFX_DIR                             = "$FRAMEWORK_DIR/dfx"
PLUGIN_DIR                          = "$FRAMEWORK_DIR/plugin"

AIHDR_ENHANCER_DIR                  = "$ALGORITHM_DIR/aihdr_enhancer"
AIHDR_ENHANCER_VIDEO_DIR            = "$ALGORITHM_DIR/aihdr_enhancer_video"
COLORSPACE_CONVERTER_DIR            = "$ALGORITHM_DIR/colorspace_converter"
COLORSPACE_CONVERTER_DISPLAY_DIR    = "$ALGORITHM_DIR/colorspace_converter_display"
COLORSPACE_CONVERTER_VIDEO_DIR      = "$ALGORITHM_DIR/colorspace_converter_video"
METADATA_GENERATOR_DIR              = "$ALGORITHM_DIR/metadata_generator"
METADATA_GENERATOR_VIDEO_DIR        = "$ALGORITHM_DIR/metadata_generator_video"
ALGORITHM_EXTENSION_MANAGER_DIR     = "$ALGORITHM_DIR/extension_manager"
ALGORITHM_EXTENSION_SKIA_DIR        = "$ALGORITHM_DIR/extensions/skia" 
ALGORITHM_COMMON_DIR                = "$ALGORITHM_DIR/common"
DETAIL_ENHANCER_DIR                 = "$ALGORITHM_DIR/detail_enhancer"
DETAIL_ENHANCER_VIDEO_DIR           = "$ALGORITHM_DIR/detail_enhancer_video"
AUTO_EFFECT_AISR_VIDEO_DIR          = "$ALGORITHM_DIR/auto_effect_aisr_video"
VIDEO_REFRESHRATE_PREDICTION_DIR    = "$ALGORITHM_DIR/video_variable_refresh_rate"

SERVICES_DIR                       = "$VIDEO_PROCESSING_ENGINE_ROOT_DIR/services"

#CAPI
CAPI_IMAGE_DIR                      = "$FRAMEWORK_DIR/capi/image_processing"
CAPI_COLORSPACE_CONVERTER_DIR       = "$CAPI_IMAGE_DIR/colorspace_converter"
CAPI_METADATA_GENERATOR_DIR         = "$CAPI_IMAGE_DIR/metadata_generator"
CAPI_IMAGE_DETAIL_ENHANCER_DIR      = "$CAPI_IMAGE_DIR/detail_enhancer"
CAPI_VIDEO_DIR                      = "$FRAMEWORK_DIR/capi/video_processing"
CAPI_VIDEO_DETAIL_ENHANCER_DIR      = "$CAPI_VIDEO_DIR/detail_enhancer"
CAPI_VIDEO_COLORSPACE_CONVERTER_DIR = "$CAPI_VIDEO_DIR/colorspace_converter"
CAPI_VIDEO_METADATA_GENERATOR_DIR   = "$CAPI_VIDEO_DIR/metadata_generator"

INTERFACES_DIR                      = "$VIDEO_PROCESSING_ENGINE_ROOT_DIR/interfaces"
INTERFACES_INNER_API_DIR            = "$INTERFACES_DIR/inner_api"
INTERFACES_CAPI_DIR                 = "$INTERFACES_DIR/kits/c"
INTERFACES_PLUGIN_DIR               = "$INTERFACES_DIR/plugin"

SKIA_DIR                            = "//third_party/skia"
EGL_DIR                             = "//third_party/EGL"
OPENGLES_DIR                        = "//third_party/openGLES"

#cuva
CUVA_DIR                            = "$ALGORITHM_DIR/extensions/colorspace_converter_display/cuva_libs"

#detail enhancer
IMAGE_AISR_DIR                      = "$ALGORITHM_DIR/extensions/detail_enhancer/image/ai_super_resolution"
IMAGE_EVE_DIR                       = "$ALGORITHM_DIR/extensions/detail_enhancer/image/extream_vision_engine"
IMAGE_LIBYUV_DIR                    = "$ALGORITHM_DIR/extensions/detail_enhancer/image/libyuv"
VIDEO_AISR_DIR                      = "$ALGORITHM_DIR/extensions/detail_enhancer/video/ai_super_resolution"

#contrast enhancer
CONTRAST_ENHANCER_DIR               = "$ALGORITHM_DIR/contrast_enhancer"

TEST_UTILS_PATH                     = "$VIDEO_PROCESSING_ENGINE_ROOT_DIR/test/utils"
UNIT_TEST_OUTPUT_PATH               = "video_processing_engine/unittest"
MODULE_TEST_OUTPUT_PATH             = "video_processing_engine/moduletest"

VIDEO_PROCESSING_ENGINE_CFLAGS = [
  "-std=c++17",
  "-fno-rtti",
  "-fno-exceptions",
  "-Wall",
  "-fno-common",
  "-fstack-protector-strong",
  "-Wshadow",
  "-FPIC",
  "-FS",
  "-O2",
  "-D_FORTIFY_SOURCE=2",
  "-Wformat=2",
  "-Wdate-time",
  "-Werror",
  "-Wextra",
  "-Wimplicit-fallthrough",
  "-Wsign-compare",
  "-Wunused-parameter"
]

if (defined(global_parts_info) && defined(global_parts_info.third_party_skia)) {
  has_skia = true
} else {
  has_skia = false
}