1# Copyright (c) 2011 Intel Corporation. All Rights Reserved. 2# 3# 4# Permission is hereby granted, free of charge, to any person obtaining a 5# copy of this software and associated documentation files (the 6# "Software"), to deal in the Software without restriction, including 7# without limitation the rights to use, copy, modify, merge, publish, 8# distribute, sub license, and/or sell copies of the Software, and to 9# permit persons to whom the Software is furnished to do so, subject to 10# the following conditions: 11# 12# The above copyright notice and this permission notice (including the 13# next paragraph) shall be included in all copies or substantial portions 14# of the Software. 15# 16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 19# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 20# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23# 24 25LOCAL_PATH:= $(call my-dir) 26 27include $(CLEAR_VARS) 28 29# pnw_H264.c, pnw_MPEG4.c, pnw_MPEG2.c, pnw_VC1.c, pnw_H263ES.c, tng_H263ES.c, etc. 30# all use GNU old-style field designator extension. 31# psb_drv_video.c: comparison of constant 32 with expression of type 'VAProfile' 32# is always false 33# pnw_H263ES.c and tng_hostcode.c has implicit conversion 34# from one enumeration type to another 35LOCAL_CLANG_CFLAGS += \ 36 -Wno-gnu-designator \ 37 -Wno-tautological-constant-out-of-range-compare \ 38 -Wno-enum-conversion 39 40LOCAL_CFLAGS := \ 41 -DLINUX -DANDROID -g -Wall -Wno-unused \ 42 -DPSBVIDEO_LOG_ENABLE -DPSBVIDEO_VXD392 \ 43 -DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC 44 45LOCAL_C_INCLUDES := \ 46 $(call include-path-for, libhardware)/hardware \ 47 system/core/libsync/include \ 48 $(TARGET_OUT_HEADERS)/libva \ 49 $(TARGET_OUT_HEADERS)/libttm \ 50 $(TARGET_OUT_HEADERS)/libwsbm \ 51 $(TARGET_OUT_HEADERS)/libdrm \ 52 $(TARGET_OUT_HEADERS)/opengles \ 53 $(TARGET_OUT_HEADERS)/pvr \ 54 $(LOCAL_PATH)/hwdefs 55 56LOCAL_SHARED_LIBRARIES += libdl libdrm libwsbm libcutils \ 57 libutils libbinder libhardware liblog libsync 58 59LOCAL_SRC_FILES := \ 60 object_heap.c \ 61 psb_buffer.c \ 62 psb_buffer_dm.c \ 63 psb_cmdbuf.c \ 64 psb_drv_video.c \ 65 psb_drv_debug.c \ 66 psb_surface_attrib.c \ 67 psb_output.c \ 68 android/psb_output_android.c \ 69 android/psb_android_glue.cpp \ 70 android/psb_surface_gralloc.c \ 71 android/psb_gralloc.cpp \ 72 psb_surface.c \ 73 psb_overlay.c \ 74 vc1_idx.c \ 75 vc1_vlc.c \ 76 pnw_H264.c \ 77 pnw_MPEG4.c \ 78 pnw_MPEG2.c \ 79 pnw_VC1.c \ 80 pnw_rotate.c \ 81 tng_vld_dec.c \ 82 tng_yuv_processor.c \ 83 tng_VP8.c \ 84 tng_jpegdec.c 85 86ifneq ($(filter $(TARGET_BOARD_PLATFORM),merrifield moorefield morganfield),) 87LOCAL_SRC_FILES += \ 88 pnw_H263ES.c \ 89 pnw_H264ES.c \ 90 pnw_MPEG4ES.c \ 91 pnw_cmdbuf.c \ 92 pnw_hostcode.c \ 93 pnw_hostheader.c \ 94 pnw_hostjpeg.c \ 95 pnw_jpeg.c \ 96 tng_ved_scaling.c \ 97 tng_cmdbuf.c \ 98 tng_hostheader.c \ 99 tng_hostcode.c \ 100 tng_picmgmt.c \ 101 tng_hostbias.c \ 102 tng_H264ES.c \ 103 tng_H263ES.c \ 104 tng_MPEG4ES.c \ 105 tng_jpegES.c \ 106 tng_slotorder.c \ 107 tng_hostair.c \ 108 tng_trace.c 109 110ifeq ($(TARGET_HAS_ISV),true) 111LOCAL_SRC_FILES += \ 112 vsp_VPP.c \ 113 vsp_cmdbuf.c \ 114 vsp_vp8.c \ 115 vsp_compose.c 116 117LOCAL_CFLAGS += \ 118 -DPSBVIDEO_MRFL_VPP \ 119 -DPSBVIDEO_VPP_TILING 120endif 121 122ifeq ($(TARGET_HAS_VPP),true) 123LOCAL_SRC_FILES += \ 124 vsp_VPP.c \ 125 vsp_vp8.c \ 126 vsp_cmdbuf.c \ 127 vsp_compose.c 128endif 129 130ifeq ($(TARGET_HAS_VPP),true) 131LOCAL_C_INCLUDES += \ 132 $(TARGET_OUT_HEADERS)/libmedia_utils_vpp 133endif 134 135 136ifeq ($(TARGET_HAS_VPP),true) 137LOCAL_SHARED_LIBRARIES += libvpp_setting 138LOCAL_CFLAGS += DPSBVIDEO_MRFL_VPP_SETTING 139endif 140 141ifeq ($(TARGET_HAS_VPP),true) 142LOCAL_CFLAGS += \ 143 -DPSBVIDEO_MRFL_VPP -DPSBVIDEO_MRFL \ 144 -DPSBVIDEO_VPP_TILING -DSLICE_HEADER_PARSING 145else 146LOCAL_CFLAGS += \ 147 -DPSBVIDEO_MRFL_VPP \ 148 -DPSBVIDEO_MRFL \ 149 -DSLICE_HEADER_PARSING 150endif 151 152ifeq ($(TARGET_BOARD_PLATFORM),merrifield) 153ifeq ($(TARGET_HAS_VPP),true) 154LOCAL_CFLAGS += -DPSBVIDEO_MRFL_VPP_ROTATE 155endif 156endif 157 158else 159LOCAL_CFLAGS += \ 160 -DPSBVIDEO_VXD392 -DBAYTRAIL \ 161 -DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC 162endif 163 164ifeq ($(TARGET_HAS_MULTIPLE_DISPLAY),true) 165LOCAL_SRC_FILES += android/psb_mds.cpp 166LOCAL_CFLAGS += -DTARGET_HAS_MULTIPLE_DISPLAY 167LOCAL_SHARED_LIBRARIES += libmultidisplay 168endif 169LOCAL_CFLAGS += -Werror 170 171LOCAL_MODULE_TAGS := optional 172LOCAL_MODULE := pvr_drv_video 173 174include $(BUILD_SHARED_LIBRARY) 175