• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
25ifeq ($(ENABLE_IMG_GRAPHICS),true)
26
27LOCAL_PATH:= $(call my-dir)
28
29include $(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
37LOCAL_CLANG_CFLAGS += \
38    -Wno-gnu-designator \
39    -Wno-tautological-constant-out-of-range-compare \
40    -Wno-enum-conversion
41
42LOCAL_CFLAGS := \
43    -DLINUX -DANDROID -g -Wall -Wno-unused \
44    -DPSBVIDEO_LOG_ENABLE -DPSBVIDEO_VXD392 \
45    -DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC
46
47LOCAL_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.
59LOCAL_C_INCLUDES += \
60    $(TOP)/system/core/libion/kernel-headers \
61
62LOCAL_SHARED_LIBRARIES += libdl libdrm libwsbm libcutils \
63    libutils libbinder libhardware liblog libsync libnativewindow
64
65LOCAL_HEADER_LIBRARIES := \
66    libsystem_headers
67
68LOCAL_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
95ifneq ($(filter $(TARGET_BOARD_PLATFORM),merrifield moorefield morganfield),)
96LOCAL_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
119ifeq ($(TARGET_HAS_ISV),true)
120LOCAL_SRC_FILES += \
121    vsp_VPP.c \
122    vsp_cmdbuf.c \
123    vsp_vp8.c \
124    vsp_compose.c
125
126LOCAL_CFLAGS += \
127    -DPSBVIDEO_MRFL_VPP \
128    -DPSBVIDEO_VPP_TILING
129endif
130
131ifeq ($(TARGET_HAS_VPP),true)
132LOCAL_SRC_FILES += \
133    vsp_VPP.c \
134    vsp_vp8.c \
135    vsp_cmdbuf.c \
136    vsp_compose.c
137endif
138
139ifeq ($(TARGET_HAS_VPP),true)
140LOCAL_C_INCLUDES += \
141    $(TARGET_OUT_HEADERS)/libmedia_utils_vpp
142endif
143
144
145ifeq ($(TARGET_HAS_VPP),true)
146LOCAL_SHARED_LIBRARIES += libvpp_setting
147LOCAL_CFLAGS += DPSBVIDEO_MRFL_VPP_SETTING
148endif
149
150ifeq ($(TARGET_HAS_VPP),true)
151LOCAL_CFLAGS += \
152    -DPSBVIDEO_MRFL_VPP -DPSBVIDEO_MRFL \
153    -DPSBVIDEO_VPP_TILING -DSLICE_HEADER_PARSING
154else
155LOCAL_CFLAGS += \
156    -DPSBVIDEO_MRFL_VPP \
157    -DPSBVIDEO_MRFL \
158    -DSLICE_HEADER_PARSING
159endif
160
161ifeq ($(TARGET_BOARD_PLATFORM),merrifield)
162ifeq ($(TARGET_HAS_VPP),true)
163LOCAL_CFLAGS += -DPSBVIDEO_MRFL_VPP_ROTATE
164endif
165endif
166
167else
168LOCAL_CFLAGS += \
169    -DPSBVIDEO_VXD392 -DBAYTRAIL \
170    -DPSBVIDEO_MSVDX_DEC_TILING -DPSBVIDEO_MSVDX_EC
171endif
172
173ifeq ($(TARGET_HAS_MULTIPLE_DISPLAY),true)
174LOCAL_SRC_FILES += android/psb_mds.cpp
175LOCAL_CFLAGS += -DTARGET_HAS_MULTIPLE_DISPLAY
176LOCAL_SHARED_LIBRARIES += libmultidisplay
177endif
178LOCAL_CFLAGS += -Werror
179
180LOCAL_MODULE_TAGS := optional
181LOCAL_MODULE := pvr_drv_video
182
183include $(BUILD_SHARED_LIBRARY)
184
185endif # ($(ENABLE_IMG_GRAPHICS),true)
186