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 25 ifeq ($(ENABLE_IMG_GRAPHICS),true) 26 27 LOCAL_PATH:= $(call my-dir) 28 29 include $(CLEAR_VARS) 30 31 # pnw_H264.c, pnw_MPEG4.c, pnw_MPEG2.c, pnw_VC1.c, pnw_H263ES.c, tng_H263ES.c, etc. 32 # all use GNU old-style field designator extension. 33 # psb_drv_video.c: comparison of constant 32 with expression of type 'VAProfile' 34 # is always false 35 # pnw_H263ES.c and tng_hostcode.c has implicit conversion 36 # from one enumeration type to another 37 LOCAL_CLANG_CFLAGS += \ 38 -Wno-gnu-designator \ 39 -Wno-tautological-constant-out-of-range-compare \ 40 -Wno-enum-conversion 41 42 LOCAL_CFLAGS := \ 43 -DLINUX -DANDROID -g -Wall -Wno-unused \ 44 -DPSBVIDEO_LOG_ENABLE -DPSBVIDEO_VXD392 \ 45 -DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC 46 47 LOCAL_C_INCLUDES := \ 48 $(call include-path-for, libhardware)/hardware \ 49 system/core/libsync/include \ 50 $(TARGET_OUT_HEADERS)/libva \ 51 $(TARGET_OUT_HEADERS)/libttm \ 52 $(TARGET_OUT_HEADERS)/libwsbm \ 53 $(TARGET_OUT_HEADERS)/libdrm \ 54 $(TARGET_OUT_HEADERS)/opengles \ 55 $(TARGET_OUT_HEADERS)/pvr \ 56 $(LOCAL_PATH)/hwdefs 57 58 # Use the frozen version of ion.h. 59 LOCAL_C_INCLUDES += \ 60 $(TOP)/system/core/libion/kernel-headers \ 61 62 LOCAL_SHARED_LIBRARIES += libdl libdrm libwsbm libcutils \ 63 libutils libbinder libhardware liblog libsync libnativewindow 64 65 LOCAL_HEADER_LIBRARIES := \ 66 libsystem_headers 67 68 LOCAL_SRC_FILES := \ 69 object_heap.c \ 70 psb_buffer.c \ 71 psb_buffer_dm.c \ 72 psb_cmdbuf.c \ 73 psb_drv_video.c \ 74 psb_drv_debug.c \ 75 psb_surface_attrib.c \ 76 psb_output.c \ 77 android/psb_output_android.c \ 78 android/psb_android_glue.cpp \ 79 android/psb_surface_gralloc.c \ 80 android/psb_gralloc.cpp \ 81 psb_surface.c \ 82 psb_overlay.c \ 83 vc1_idx.c \ 84 vc1_vlc.c \ 85 pnw_H264.c \ 86 pnw_MPEG4.c \ 87 pnw_MPEG2.c \ 88 pnw_VC1.c \ 89 pnw_rotate.c \ 90 tng_vld_dec.c \ 91 tng_yuv_processor.c \ 92 tng_VP8.c \ 93 tng_jpegdec.c 94 95 ifneq ($(filter $(TARGET_BOARD_PLATFORM),merrifield moorefield morganfield),) 96 LOCAL_SRC_FILES += \ 97 pnw_H263ES.c \ 98 pnw_H264ES.c \ 99 pnw_MPEG4ES.c \ 100 pnw_cmdbuf.c \ 101 pnw_hostcode.c \ 102 pnw_hostheader.c \ 103 pnw_hostjpeg.c \ 104 pnw_jpeg.c \ 105 tng_ved_scaling.c \ 106 tng_cmdbuf.c \ 107 tng_hostheader.c \ 108 tng_hostcode.c \ 109 tng_picmgmt.c \ 110 tng_hostbias.c \ 111 tng_H264ES.c \ 112 tng_H263ES.c \ 113 tng_MPEG4ES.c \ 114 tng_jpegES.c \ 115 tng_slotorder.c \ 116 tng_hostair.c \ 117 tng_trace.c 118 119 ifeq ($(TARGET_HAS_ISV),true) 120 LOCAL_SRC_FILES += \ 121 vsp_VPP.c \ 122 vsp_cmdbuf.c \ 123 vsp_vp8.c \ 124 vsp_compose.c 125 126 LOCAL_CFLAGS += \ 127 -DPSBVIDEO_MRFL_VPP \ 128 -DPSBVIDEO_VPP_TILING 129 endif 130 131 ifeq ($(TARGET_HAS_VPP),true) 132 LOCAL_SRC_FILES += \ 133 vsp_VPP.c \ 134 vsp_vp8.c \ 135 vsp_cmdbuf.c \ 136 vsp_compose.c 137 endif 138 139 ifeq ($(TARGET_HAS_VPP),true) 140 LOCAL_C_INCLUDES += \ 141 $(TARGET_OUT_HEADERS)/libmedia_utils_vpp 142 endif 143 144 145 ifeq ($(TARGET_HAS_VPP),true) 146 LOCAL_SHARED_LIBRARIES += libvpp_setting 147 LOCAL_CFLAGS += DPSBVIDEO_MRFL_VPP_SETTING 148 endif 149 150 ifeq ($(TARGET_HAS_VPP),true) 151 LOCAL_CFLAGS += \ 152 -DPSBVIDEO_MRFL_VPP -DPSBVIDEO_MRFL \ 153 -DPSBVIDEO_VPP_TILING -DSLICE_HEADER_PARSING 154 else 155 LOCAL_CFLAGS += \ 156 -DPSBVIDEO_MRFL_VPP \ 157 -DPSBVIDEO_MRFL \ 158 -DSLICE_HEADER_PARSING 159 endif 160 161 ifeq ($(TARGET_BOARD_PLATFORM),merrifield) 162 ifeq ($(TARGET_HAS_VPP),true) 163 LOCAL_CFLAGS += -DPSBVIDEO_MRFL_VPP_ROTATE 164 endif 165 endif 166 167 else 168 LOCAL_CFLAGS += \ 169 -DPSBVIDEO_VXD392 -DBAYTRAIL \ 170 -DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC 171 endif 172 173 ifeq ($(TARGET_HAS_MULTIPLE_DISPLAY),true) 174 LOCAL_SRC_FILES += android/psb_mds.cpp 175 LOCAL_CFLAGS += -DTARGET_HAS_MULTIPLE_DISPLAY 176 LOCAL_SHARED_LIBRARIES += libmultidisplay 177 endif 178 LOCAL_CFLAGS += -Werror 179 180 LOCAL_MODULE_TAGS := optional 181 LOCAL_MODULE := pvr_drv_video 182 183 include $(BUILD_SHARED_LIBRARY) 184 185 endif # ($(ENABLE_IMG_GRAPHICS),true) 186