# Copyright (c) 2011 Intel Corporation. All Rights Reserved.
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sub license, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice (including the
# next paragraph) shall be included in all copies or substantial portions
# of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
# pnw_H264.c, pnw_MPEG4.c, pnw_MPEG2.c, pnw_VC1.c, pnw_H263ES.c, tng_H263ES.c, etc.
# all use GNU old-style field designator extension.
# psb_drv_video.c: comparison of constant 32 with expression of type 'VAProfile'
# is always false
# pnw_H263ES.c and tng_hostcode.c has implicit conversion
# from one enumeration type to another
LOCAL_CLANG_CFLAGS += \
-Wno-gnu-designator \
-Wno-tautological-constant-out-of-range-compare \
-Wno-enum-conversion
LOCAL_CFLAGS := \
-DLINUX -DANDROID -g -Wall -Wno-unused \
-DPSBVIDEO_LOG_ENABLE -DPSBVIDEO_VXD392 \
-DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC
LOCAL_C_INCLUDES := \
$(call include-path-for, libhardware)/hardware \
$(TARGET_OUT_HEADERS)/libva \
$(TARGET_OUT_HEADERS)/libttm \
$(TARGET_OUT_HEADERS)/libwsbm \
$(TARGET_OUT_HEADERS)/libdrm \
$(TARGET_OUT_HEADERS)/opengles \
$(TARGET_OUT_HEADERS)/pvr \
$(LOCAL_PATH)/hwdefs
LOCAL_SHARED_LIBRARIES += libdl libdrm libwsbm libcutils \
libutils libbinder libhardware liblog
LOCAL_SRC_FILES := \
object_heap.c \
psb_buffer.c \
psb_buffer_dm.c \
psb_cmdbuf.c \
psb_drv_video.c \
psb_drv_debug.c \
psb_surface_attrib.c \
psb_output.c \
android/psb_output_android.c \
android/psb_android_glue.cpp \
android/psb_surface_gralloc.c \
android/psb_gralloc.cpp \
psb_surface.c \
psb_overlay.c \
vc1_idx.c \
vc1_vlc.c \
pnw_H264.c \
pnw_MPEG4.c \
pnw_MPEG2.c \
pnw_VC1.c \
pnw_rotate.c \
tng_vld_dec.c \
tng_yuv_processor.c \
tng_VP8.c \
tng_jpegdec.c
ifneq ($(filter $(TARGET_BOARD_PLATFORM),merrifield moorefield morganfield),)
LOCAL_SRC_FILES += \
pnw_H263ES.c \
pnw_H264ES.c \
pnw_MPEG4ES.c \
pnw_cmdbuf.c \
pnw_hostcode.c \
pnw_hostheader.c \
pnw_hostjpeg.c \
pnw_jpeg.c \
tng_ved_scaling.c \
tng_cmdbuf.c \
tng_hostheader.c \
tng_hostcode.c \
tng_picmgmt.c \
tng_hostbias.c \
tng_H264ES.c \
tng_H263ES.c \
tng_MPEG4ES.c \
tng_jpegES.c \
tng_slotorder.c \
tng_hostair.c \
tng_trace.c
ifeq ($(TARGET_HAS_ISV),true)
LOCAL_SRC_FILES += \
vsp_VPP.c \
vsp_cmdbuf.c \
vsp_vp8.c \
vsp_compose.c
LOCAL_CFLAGS += \
-DPSBVIDEO_MRFL_VPP \
-DPSBVIDEO_VPP_TILING
endif
ifeq ($(TARGET_HAS_VPP),true)
LOCAL_SRC_FILES += \
vsp_VPP.c \
vsp_vp8.c \
vsp_cmdbuf.c \
vsp_compose.c
endif
ifeq ($(TARGET_HAS_VPP),true)
LOCAL_C_INCLUDES += \
$(TARGET_OUT_HEADERS)/libmedia_utils_vpp
endif
ifeq ($(TARGET_HAS_VPP),true)
LOCAL_SHARED_LIBRARIES += libvpp_setting
LOCAL_CFLAGS += DPSBVIDEO_MRFL_VPP_SETTING
endif
ifeq ($(TARGET_HAS_VPP),true)
LOCAL_CFLAGS += \
-DPSBVIDEO_MRFL_VPP -DPSBVIDEO_MRFL \
-DPSBVIDEO_VPP_TILING -DSLICE_HEADER_PARSING
else
LOCAL_CFLAGS += \
-DPSBVIDEO_MRFL_VPP \
-DPSBVIDEO_MRFL \
-DSLICE_HEADER_PARSING
endif
ifeq ($(TARGET_BOARD_PLATFORM),merrifield)
ifeq ($(TARGET_HAS_VPP),true)
LOCAL_CFLAGS += -DPSBVIDEO_MRFL_VPP_ROTATE
endif
endif
else
LOCAL_CFLAGS += \
-DPSBVIDEO_VXD392 -DBAYTRAIL \
-DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC
endif
ifeq ($(TARGET_HAS_MULTIPLE_DISPLAY),true)
LOCAL_SRC_FILES += android/psb_mds.cpp
LOCAL_CFLAGS += -DTARGET_HAS_MULTIPLE_DISPLAY
LOCAL_SHARED_LIBRARIES += libmultidisplay
endif
LOCAL_CFLAGS += -Werror
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := pvr_drv_video
include $(BUILD_SHARED_LIBRARY)