VPP_TARGET_USES_GPU      := NO
VPP_TARGET_USES_HVX      := NO
VPP_TARGET_USES_HVX_CORE := NO
VPP_TARGET_USES_HCP      := NO
VPP_TARGET_USES_FRC_CORE := NO
VPP_TARGET_USES_FRC_ME   := NO
VPP_TARGET_USES_FRC_MC   := NO
VPP_TARGET_USES_C2D      := NO
VPP_TARGET_USES_GRALLOC  := YES
VPP_TARGET_USES_SERVICE  ?= YES

SUPPORTED_PLATFORMS := msm8937 msm8952 msm8953 msm8996 msm8998
SUPPORTED_PLATFORMS += sdm660 sdm670
SUPPORTED_PLATFORMS += sdm845 $(MSMSTEPPE)
SUPPORTED_PLATFORMS += msmskunk msmpeafowl msmnile sdmshrike kona lito atoll

ifneq (,$(filter $(SUPPORTED_PLATFORMS),$(TARGET_BOARD_PLATFORM)))
LOCAL_BOARD_PLATFORM := $(TARGET_BOARD_PLATFORM)
else
LOCAL_BOARD_PLATFORM := default
endif

ifeq ($(LOCAL_BOARD_PLATFORM),msmpeafowl)
LOCAL_BOARD_PLATFORM := sdm670
endif

ifeq ($(LOCAL_BOARD_PLATFORM),msmskunk)
LOCAL_BOARD_PLATFORM := sdm845
endif

DSP_RPC_LIB := libadsprpc

VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_MSM

ifeq ($(LOCAL_BOARD_PLATFORM),msm8937)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_GPU := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),msm8952)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_GPU := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),msm8953)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_GPU := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),msm8996)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_HVX := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_FRC_CORE := YES
VPP_TARGET_USES_FRC_ME := YES
VPP_TARGET_USES_FRC_MC := YES
LOCAL_CFLAGS += -DVPP_RES_DI_IS_DISABLED_FOR_AUTO=VPP_RESOLUTION_UHD

else ifeq ($(LOCAL_BOARD_PLATFORM),msm8998)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_HVX := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_FRC_CORE := YES
VPP_TARGET_USES_FRC_ME := YES
VPP_TARGET_USES_FRC_MC := YES
LOCAL_CFLAGS += -DVPP_RES_DI_IS_DISABLED_FOR_AUTO=VPP_RESOLUTION_UHD

else ifeq ($(LOCAL_BOARD_PLATFORM),sdm660)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_HVX := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_GPU := YES
LOCAL_CFLAGS += -DVPP_RES_DI_IS_DISABLED_FOR_AUTO=VPP_RESOLUTION_UHD
DSP_RPC_LIB := libcdsprpc

else ifeq ($(LOCAL_BOARD_PLATFORM),sdm670)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_FRC_CORE := YES
VPP_TARGET_USES_FRC_ME := YES
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),sdm845)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_FRC_CORE := YES
VPP_TARGET_USES_FRC_ME := YES
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HCP := YES
LOCAL_CFLAGS += -DVPP_RES_DI_IS_DISABLED_FOR_AUTO=VPP_RESOLUTION_UHD

else ifeq ($(LOCAL_BOARD_PLATFORM),msmnile)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HCP := YES
VPP_TARGET_USES_IMMOTION := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),sdmshrike)
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HCP := YES
VPP_TARGET_USES_IMMOTION := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),$(MSMSTEPPE))
VPP_TARGET_EXTRADATA_FORMAT := EXTRADATA_BUFFER_FORMAT_OMX
VPP_TARGET_USES_FRC_CORE := YES
VPP_TARGET_USES_FRC_ME := YES
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HVX := YES
VPP_TARGET_USES_C2D := YES
VPP_TARGET_USES_IMMOTION := YES

else ifeq ($(LOCAL_BOARD_PLATFORM),kona)
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HCP := YES
VPP_TARGET_USES_IMMOTION := YES
VPP_TARGET_USES_C2D := YES
VPP_TARGET_USES_HVX := YES
DSP_RPC_LIB := libcdsprpc

else ifeq ($(LOCAL_BOARD_PLATFORM),lito)
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HCP := YES
VPP_TARGET_USES_HVX := YES
DSP_RPC_LIB := libcdsprpc

else ifeq ($(LOCAL_BOARD_PLATFORM),atoll)
VPP_TARGET_USES_FRC_CORE := YES
VPP_TARGET_USES_FRC_ME := YES
VPP_TARGET_USES_FRC_MC := YES
VPP_TARGET_USES_HVX_CORE := YES
VPP_TARGET_USES_HVX := YES
DSP_RPC_LIB := libcdsprpc
endif

ifeq "$(VPP_TARGET_USES_GPU)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_GPU=1
LOCAL_CFLAGS += -DLOCAL_BOARD_PLATFORM=\"$(LOCAL_BOARD_PLATFORM)\"
#$(info VPP_TARGET_USES_GPU=YES)
endif

LOCAL_CFLAGS += -DVPP_EXTERNAL_EXTRADATA_TYPE=$(VPP_TARGET_EXTRADATA_FORMAT)

ifeq "$(VPP_TARGET_USES_GRALLOC)" "NO"
LOCAL_CFLAGS += -DVPP_GRALLOC_DOES_NOT_EXIST
endif

ifeq "$(VPP_TARGET_USES_HVX)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_HVX=1
#$(info VPP_TARGET_USES_HVX=YES)
endif

ifeq "$(VPP_TARGET_USES_HCP)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_HCP=1
#$(info VPP_TARGET_USES_HCP=YES)
endif

ifeq "$(VPP_TARGET_USES_FRC_CORE)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_FRC_CORE=1
#$(info VPP_TARGET_USES_FRC_CORE=YES)
endif

ifeq "$(VPP_TARGET_USES_FRC_ME)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_FRC_ME=1
#$(info VPP_TARGET_USES_FRC_ME=YES)
endif

ifeq "$(VPP_TARGET_USES_FRC_MC)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_FRC_MC=1
#$(info VPP_TARGET_USES_FRC_MC=YES)
endif

ifeq "$(VPP_TARGET_USES_C2D)" "YES"
LOCAL_CFLAGS += -DVPP_TARGET_USES_C2D=1
#$(info VPP_TARGET_USES_C2D=YES)
endif

ifeq "$(VPP_TEST_ENV)" "YES"
LOCAL_CFLAGS += -DVPP_TEST_BUILD
endif

# Integer Overflow Sanitization
VPP_SANITIZE := integer_overflow
#VPP_SANITIZE_DIAG := integer_overflow
