1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

377 lines
11 KiB

#--------------------------------------------------------------------------
# Copyright (C) 2018 Fuzhou Rockchip Electronics Co. Ltd. All rights reserved.
#Redistribution and use in source and binary forms, with or without
#modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
#NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
#CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
#EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#--------------------------------------------------------------------------
ifeq (1,$(strip $(shell expr $(BOARD_DEFAULT_CAMERA_HAL_VERSION) \>= 3.0)))
LOCAL_PATH:= $(call my-dir)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
AALSRC = AAL/Camera3HAL.cpp \
AAL/Camera3Request.cpp \
AAL/CameraStream.cpp \
AAL/ICameraHw.cpp \
AAL/RequestThread.cpp \
AAL/ResultProcessor.cpp
V4L2SRC = common/v4l2dev/v4l2devicebase.cpp \
common/v4l2dev/v4l2subdevice.cpp \
common/v4l2dev/v4l2videonode.cpp
PLATFORMDATASRC = common/platformdata/CameraMetadataHelper.cpp \
common/platformdata/CameraProfiles.cpp \
common/platformdata/ChromeCameraProfiles.cpp \
common/platformdata/Metadata.cpp \
common/platformdata/PlatformData.cpp \
common/platformdata/IPSLConfParser.cpp
MEDIACONTROLLERSRC = common/mediacontroller/MediaController.cpp \
common/mediacontroller/MediaEntity.cpp
IMAGEPROCESSSRC = common/imageProcess/ColorConverter.cpp \
common/imageProcess/ImageScalerCore.cpp
COMMONSRC = common/SysCall.cpp \
common/Camera3V4l2Format.cpp \
common/CameraWindow.cpp \
common/LogHelper.cpp \
common/LogHelperAndroid.cpp \
common/EnumPrinthelper.cpp \
common/FlashLight.cpp \
common/MessageThread.cpp \
common/PerformanceTraces.cpp \
common/PollerThread.cpp \
common/Utils.cpp \
common/CommonBuffer.cpp \
common/IaAtrace.cpp \
common/GFXFormatLinuxGeneric.cpp
ifeq ($(TARGET_RK_GRALLOC_VERSION),4)
LOCAL_CFLAGS += -DRK_GRALLOC_4
COMMONSRC += common/camera_buffer_manager_gralloc4_impl.cpp
else
COMMONSRC += common/camera_buffer_manager_gralloc_impl.cpp
endif
JPEGSRC = common/jpeg/ExifCreater.cpp \
common/jpeg/EXIFMaker.cpp \
common/jpeg/EXIFMetaData.cpp \
common/jpeg/ImgEncoderCore.cpp \
common/jpeg/ImgEncoder.cpp \
common/jpeg/JpegMakerCore.cpp \
common/jpeg/JpegMaker.cpp \
common/jpeg/jpeg_compressor.cpp
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 30)))
JPEGSRC += common/jpeg/ImgHWEncoderMpp.cpp
else
JPEGSRC += common/jpeg/ImgHWEncoder.cpp
endif
GCSSSRC = common/gcss/graph_query_manager.cpp \
common/gcss/gcss_item.cpp \
common/gcss/gcss_utils.cpp \
common/gcss/GCSSParser.cpp \
common/gcss/gcss_formats.cpp
ISP_VERSION := rkisp1
#rk1126,rk356x,rk3588 use RKISP2CameraHw
ifneq ($(filter rk1126 rk356x rk3588, $(strip $(TARGET_BOARD_PLATFORM))), )
ISP_VERSION := rkisp2
endif
ifneq ($(filter rk356x rk3588, $(strip $(TARGET_BOARD_PLATFORM))), )
ifeq ($(PRODUCT_HAVE_EPTZ),true)
LOCAL_CFLAGS += -DRK_EPTZ
endif
ifeq ($(PRODUCT_HAVE_FEC),true)
LOCAL_CFLAGS += -DRK_FEC
endif
endif
ifeq ($(strip $(ISP_VERSION)),rkisp2)
include $(LOCAL_PATH)/psl/rkisp2/Android.mk
else
include $(LOCAL_PATH)/psl/rkisp1/Android.mk
endif
LOCAL_SRC_FILES := \
$(AALSRC) \
$(V4L2SRC) \
$(PLATFORMDATASRC) \
$(MEDIACONTROLLERSRC) \
$(IMAGEPROCESSSRC) \
$(COMMONSRC) \
$(JPEGSRC) \
$(PSLSRC) \
$(GCSSSRC) \
Camera3HALModule.cpp
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 26)))
LOCAL_HEADER_LIBRARIES += \
libhardware_headers \
libbinder_headers \
gl_headers \
libutils_headers
else
LOCAL_C_INCLUDES += \
hardware/libhardware/include \
hardware/libhardware/modules/gralloc \
system/core/include \
system/core/include/utils \
frameworks/av/include \
hardware/libhardware/include
endif
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 29)))
LOCAL_C_INCLUDES += \
system/core/liblog/include
endif
LOCAL_C_INCLUDES += \
hardware/libhardware/include \
system/media/camera/include \
system/core/libsync \
system/core/liblog/include \
kernel/include/uapi \
hardware/rockchip/librkvpu \
hardware/rockchip/librga \
external/libchrome \
external/libdrm/include/drm \
$(LOCAL_PATH)/include/arc
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 30)))
LOCAL_C_INCLUDES += hardware/rockchip/libhwjpeg/inc
else
LOCAL_C_INCLUDES += hardware/rockchip/jpeghw
endif
# API 29 -> Android 10.0
ifneq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \< 29)))
ifneq (,$(filter mali-tDVx mali-G52, $(TARGET_BOARD_PLATFORM_GPU)))
LOCAL_C_INCLUDES += \
hardware/rockchip/libgralloc/bifrost \
hardware/rockchip/libgralloc/bifrost/src
endif
ifneq (,$(filter mali-t860 mali-t760, $(TARGET_BOARD_PLATFORM_GPU)))
LOCAL_C_INCLUDES += \
hardware/rockchip/libgralloc/midgard
endif
ifneq (,$(filter mali400 mali450, $(TARGET_BOARD_PLATFORM_GPU)))
LOCAL_C_INCLUDES += \
hardware/rockchip/libgralloc/utgard
endif
else
LOCAL_C_INCLUDES += \
hardware/rockchip/libgralloc
endif
#cpphacks
CPPHACKS = \
-DPAGESIZE=4096 \
-DCAMERA_HAL_DEBUG \
-DDUMP_IMAGE \
-DRKCAMERA_REDEFINE_LOG \
-DRK_DRM_GRALLOC=1 \
-DRK_HW_JPEG_ENCODE \
-DPLATFORM_SDK_API_VERSION=$(PLATFORM_SDK_VERSION) \
#CPPHACKS += -DRK_HW_JPEG_MIRROR_ROTATE
#CPPHACKS += -DRK_HW_VIDEO_MIRROR_ROTATE
# rk3368 gralloc module from other platforms
ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3368)
LOCAL_CFLAGS += -DTARGET_RK3368
endif
ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3126c)
LOCAL_CFLAGS += -DTARGET_RK312X
endif
ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3588)
LOCAL_CFLAGS += -DTARGET_RK3588
LOCAL_CFLAGS += -DGRALLOC_USAGE_RGA_ACCESS
endif
ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk356x)
LOCAL_CFLAGS += -DTARGET_RK356x
LOCAL_CFLAGS += -DGRALLOC_USAGE_RGA_ACCESS
endif
ifeq ($(strip $(Have3AControlLoop)), true)
CPPHACKS += \
-DHAVE_3A_CONTROL_LOOP
endif
LOCAL_CFLAGS += -Wno-error
LOCAL_CPPFLAGS := $(CPPHACKS)
# Enable large file support.
LOCAL_CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
#Namespace Declaration
LOCAL_CPPFLAGS += -DNAMESPACE_DECLARATION=namespace\ android\ {\namespace\ camera2
LOCAL_CPPFLAGS += -DNAMESPACE_DECLARATION_END=}
LOCAL_CPPFLAGS += -DUSING_DECLARED_NAMESPACE=using\ namespace\ android::camera2
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 26)))
LOCAL_CPPFLAGS += \
-DUSING_METADATA_NAMESPACE=using\ ::android::hardware::camera::common::V1_0::helper::CameraMetadata
else
LOCAL_CPPFLAGS += -DUSING_METADATA_NAMESPACE=
endif
ALLINCLUDES = \
$(PSLCPPFLAGS) \
-I$(LOCAL_PATH) \
-I$(LOCAL_PATH)/common \
-I$(LOCAL_PATH)/common/platformdata \
-I$(LOCAL_PATH)/common/platformdata/gc \
-I$(LOCAL_PATH)/common/3a \
-I$(LOCAL_PATH)/common/mediacontroller \
-I$(LOCAL_PATH)/common/v4l2dev \
-I$(LOCAL_PATH)/AAL \
-I$(LOCAL_PATH)/common/imageProcess \
-I$(LOCAL_PATH)/common/jpeg \
-I$(LOCAL_PATH)/common/gcss \
-I$(LOCAL_PATH)/common/3awrapper
LOCAL_CPPFLAGS += $(ALLINCLUDES)
# LOCAL_CPPFLAGS += -v
LOCAL_STATIC_LIBRARIES := \
libyuv_static
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 26)))
LOCAL_STATIC_LIBRARIES += android.hardware.camera.common@1.0-helper
endif
LOCAL_SHARED_LIBRARIES:= \
libbase \
libcutils \
libutils \
libjpeg \
libchrome \
libexpat \
libdl \
libsync \
libui \
librkisp \
libhardware \
libvpu \
libcamera_metadata \
librga
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 30)))
LOCAL_SHARED_LIBRARIES += libhwjpeg
else
LOCAL_SHARED_LIBRARIES += libjpeghwenc
endif
ifneq ($(filter rk356x rk3588, $(strip $(TARGET_BOARD_PLATFORM))), )
ifeq ($(PRODUCT_HAVE_EPTZ),true)
LOCAL_SHARED_LIBRARIES += \
libeptz \
librockx
endif
endif
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 26)))
LOCAL_SHARED_LIBRARIES += \
libnativewindow \
liblog
else
LOCAL_SHARED_LIBRARIES += \
libcamera_client
endif
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 28)))
LOCAL_SHARED_LIBRARIES += \
libsync_vendor
endif
ifeq ($(TARGET_RK_GRALLOC_VERSION),4)
LOCAL_STATIC_LIBRARIES += \
libgrallocusage
LOCAL_SHARED_LIBRARIES += \
android.hardware.graphics.allocator@2.0 \
android.hardware.graphics.allocator@3.0 \
android.hardware.graphics.allocator@4.0 \
android.hardware.graphics.common@1.2 \
android.hardware.graphics.mapper@2.0 \
android.hardware.graphics.mapper@2.1 \
android.hardware.graphics.mapper@3.0 \
android.hardware.graphics.mapper@4.0 \
libgralloctypes \
libhidlbase
LOCAL_HEADER_LIBRARIES += \
android.hardware.graphics.common@1.2 \
android.hardware.graphics.mapper@4.0 \
libgralloctypes
endif
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 26)))
LOCAL_CFLAGS += -DANDROID_VERSION_ABOVE_8_X
endif
LOCAL_LDFLAGS := -Wl,-z,defs
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 26)))
LOCAL_PROPRIETARY_MODULE := true
endif
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 29)))
LOCAL_CFLAGS += -DANDROID_VERSION_ABOVE_10_X
LOCAL_CPPFLAGS += -std=c++1z
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 31)))
LOCAL_CFLAGS += -DANDROID_VERSION_ABOVE_12_X
LOCAL_CPPFLAGS += -Wno-unreachable-code-loop-increment
LOCAL_HEADER_LIBRARIES += \
libhardware_rockchip_headers
endif
ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3368)
ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \>= 30)))
LOCAL_C_INCLUDES += \
system/memory/libion/kernel-headers \
system/memory/libion/include
else
LOCAL_C_INCLUDES += \
system/core/libion/original-kernel-headers
endif
endif
endif
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_MODULE:= camera.$(TARGET_BOARD_HARDWARE)
LOCAL_MODULE_TAGS:= optional
include $(BUILD_SHARED_LIBRARY)
endif