Home | History | Annotate | Download | only in src
      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