blob: 0c218fb69eaae024b748f035c4627cc7346c97c7 [file] [log] [blame]
Shalaj Jain273b3e02012-06-22 19:08:03 -07001ifneq ($(BUILD_TINY_ANDROID),true)
2
3ROOT_DIR := $(call my-dir)
4
5include $(CLEAR_VARS)
6LOCAL_PATH:= $(ROOT_DIR)
7
8# ---------------------------------------------------------------------------------
9# Common definitons
10# ---------------------------------------------------------------------------------
11
12libOmxVdec-def := -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
13libOmxVdec-def += -D__align=__alignx
14libOmxVdec-def += -Dinline=__inline
15libOmxVdec-def += -g -O3
16libOmxVdec-def += -DIMAGE_APPS_PROC
17libOmxVdec-def += -D_ANDROID_
18libOmxVdec-def += -DCDECL
19libOmxVdec-def += -DT_ARM
20libOmxVdec-def += -DNO_ARM_CLZ
21libOmxVdec-def += -UENABLE_DEBUG_LOW
Arun Menonb50ddeb2013-06-05 15:33:55 -070022libOmxVdec-def += -UENABLE_DEBUG_HIGH
Shalaj Jain273b3e02012-06-22 19:08:03 -070023libOmxVdec-def += -DENABLE_DEBUG_ERROR
24libOmxVdec-def += -UINPUT_BUFFER_LOG
25libOmxVdec-def += -UOUTPUT_BUFFER_LOG
26ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
27libOmxVdec-def += -DMAX_RES_1080P
28libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
29libOmxVdec-def += -DTEST_TS_FROM_SEI
30endif
31ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
32libOmxVdec-def += -DMAX_RES_1080P
33libOmxVdec-def += -DMAX_RES_1080P_EBI
34libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +053035libOmxVdec-def += -D_MSM8960_
Shalaj Jain273b3e02012-06-22 19:08:03 -070036endif
37ifeq ($(TARGET_BOARD_PLATFORM),msm8974)
38libOmxVdec-def += -DMAX_RES_1080P
39libOmxVdec-def += -DMAX_RES_1080P_EBI
40libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
David Ng1d9befe2012-07-18 15:31:08 -070041libOmxVdec-def += -D_MSM8974_
Arun Menond65ffb12013-05-28 16:28:06 -070042libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
Shalaj Jain273b3e02012-06-22 19:08:03 -070043endif
Praveena Pachipulusu42e91642012-07-06 10:30:58 +053044ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
45libOmxVdec-def += -DMAX_RES_720P
46endif
Aparna Mallavarapue5046552012-07-14 19:51:14 +053047ifeq ($(TARGET_BOARD_PLATFORM),msm7630_surf)
48libOmxVdec-def += -DMAX_RES_720P
49endif
David Ng75996352012-11-26 15:39:44 -080050ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
David Ngd0b30082012-12-19 07:01:22 -080051libOmxVdec-def += -DMAX_RES_1080P
52libOmxVdec-def += -DMAX_RES_1080P_EBI
53libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
Arun Menonc821d8a2013-06-15 10:03:29 -070054libOmxVdec-def += -DSMOOTH_STREAMING_DISABLED
Arun Menon888aa852013-05-30 11:24:42 -070055libOmxVdec-def += -DH264_PROFILE_LEVEL_CHECK
David Ngd0b30082012-12-19 07:01:22 -080056libOmxVdec-def += -D_MSM8974_
David Ng75996352012-11-26 15:39:44 -080057endif
58ifeq ($(TARGET_BOARD_PLATFORM),msm8226)
David Ngd0b30082012-12-19 07:01:22 -080059libOmxVdec-def += -DMAX_RES_1080P
60libOmxVdec-def += -DMAX_RES_1080P_EBI
61libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
62libOmxVdec-def += -D_MSM8974_
Arun Menonfd4a27d2013-09-16 18:06:07 -070063libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
David Ngcbf03aa2012-11-06 18:36:09 -080064endif
David Ng0926b912013-04-08 18:52:29 -070065ifeq ($(TARGET_BOARD_PLATFORM),apq8084)
66libOmxVdec-def += -DMAX_RES_1080P
67libOmxVdec-def += -DMAX_RES_1080P_EBI
68libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
69libOmxVdec-def += -D_MSM8974_
Deva Ramasubramanian96c1f872013-08-26 13:07:48 -070070libOmxVdec-def += -DVENUS_HEVC
David Ng0926b912013-04-08 18:52:29 -070071endif
Aparna Mallavarapu5f119b02013-05-23 17:01:03 +053072ifeq ($(TARGET_BOARD_PLATFORM),mpq8092)
73libOmxVdec-def += -DMAX_RES_1080P
74libOmxVdec-def += -DMAX_RES_1080P_EBI
75libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
76libOmxVdec-def += -D_MSM8974_
77endif
Shalaj Jain273b3e02012-06-22 19:08:03 -070078libOmxVdec-def += -D_ANDROID_ICS_
79
Haynes Mathew George94c72542012-07-16 14:25:01 -070080ifeq ($(TARGET_USES_ION),true)
Shalaj Jain273b3e02012-06-22 19:08:03 -070081libOmxVdec-def += -DUSE_ION
Haynes Mathew George94c72542012-07-16 14:25:01 -070082endif
Shalaj Jain273b3e02012-06-22 19:08:03 -070083
Ian Maundd5b4db32013-06-17 14:47:51 -070084ifneq ($(call is-platform-sdk-version-at-least,18),true)
85libOmxVdec-def += -DANDROID_JELLYBEAN_MR1=1
86endif
87
Haynes Mathew Georgef2314392012-07-17 15:30:05 -070088vdec-inc = $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
89
Shalaj Jain273b3e02012-06-22 19:08:03 -070090# ---------------------------------------------------------------------------------
91# Make the Shared library (libOmxVdec)
92# ---------------------------------------------------------------------------------
93
94include $(CLEAR_VARS)
95LOCAL_PATH:= $(ROOT_DIR)
96
97libmm-vdec-inc := bionic/libc/include
98libmm-vdec-inc += bionic/libstdc++/include
99libmm-vdec-inc += $(LOCAL_PATH)/inc
100libmm-vdec-inc += $(OMX_VIDEO_PATH)/vidc/common/inc
101libmm-vdec-inc += hardware/qcom/media/mm-core/inc
Shalaj Jain273b3e02012-06-22 19:08:03 -0700102#DRM include - Interface which loads the DRM library
103libmm-vdec-inc += $(OMX_VIDEO_PATH)/DivxDrmDecrypt/inc
104libmm-vdec-inc += hardware/qcom/display/libgralloc
Shalaj Jain273b3e02012-06-22 19:08:03 -0700105libmm-vdec-inc += frameworks/native/include/media/openmax
106libmm-vdec-inc += frameworks/native/include/media/hardware
Haynes Mathew George94c72542012-07-16 14:25:01 -0700107libmm-vdec-inc += $(vdec-inc)
Shalaj Jain48af9a42012-08-03 16:54:09 -0700108libmm-vdec-inc += hardware/qcom/display/libqdutils
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530109libmm-vdec-inc += hardware/qcom/media/libc2dcolorconvert
110libmm-vdec-inc += hardware/qcom/display/libcopybit
111libmm-vdec-inc += frameworks/av/include/media/stagefright
Arun Menonfd4a27d2013-09-16 18:06:07 -0700112libmm-vdec-inc += $(TARGET_OUT_HEADERS)/mm-video/SwVdec
Shalaj Jain273b3e02012-06-22 19:08:03 -0700113
114LOCAL_MODULE := libOmxVdec
115LOCAL_MODULE_TAGS := optional
116LOCAL_CFLAGS := $(libOmxVdec-def)
117LOCAL_C_INCLUDES += $(libmm-vdec-inc)
118
119LOCAL_PRELINK_MODULE := false
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530120LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils libdl
Shalaj Jain273b3e02012-06-22 19:08:03 -0700121
Shalaj Jain273b3e02012-06-22 19:08:03 -0700122LOCAL_SHARED_LIBRARIES += libdivxdrmdecrypt
Shalaj Jain48af9a42012-08-03 16:54:09 -0700123LOCAL_SHARED_LIBRARIES += libqdMetaData
Shalaj Jain273b3e02012-06-22 19:08:03 -0700124
125LOCAL_SRC_FILES := src/frameparser.cpp
126LOCAL_SRC_FILES += src/h264_utils.cpp
127LOCAL_SRC_FILES += src/ts_parser.cpp
128LOCAL_SRC_FILES += src/mp4_utils.cpp
Aparna Mallavarapu5f119b02013-05-23 17:01:03 +0530129ifeq ($(call is-board-platform-in-list,msm8974 msm8610 msm8226 apq8084 mpq8092),true)
Ashray Kulkarni69a930f2012-07-30 12:31:40 -0700130LOCAL_SRC_FILES += src/omx_vdec_msm8974.cpp
131else
Ashray Kulkarni867dad62012-12-26 15:04:07 -0800132LOCAL_SHARED_LIBRARIES += libhardware
Ashray Kulkarni867dad62012-12-26 15:04:07 -0800133libmm-vdec-inc += hardware/qcom/display/libhwcomposer
134LOCAL_SRC_FILES += src/power_module.cpp
Shalaj Jain273b3e02012-06-22 19:08:03 -0700135LOCAL_SRC_FILES += src/omx_vdec.cpp
Ashray Kulkarni69a930f2012-07-30 12:31:40 -0700136endif
Ashray Kulkarni867dad62012-12-26 15:04:07 -0800137
Shalaj Jain273b3e02012-06-22 19:08:03 -0700138LOCAL_SRC_FILES += ../common/src/extra_data_handler.cpp
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530139LOCAL_SRC_FILES += ../common/src/vidc_color_converter.cpp
Haynes Mathew George94c72542012-07-16 14:25:01 -0700140LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
141
Shalaj Jain273b3e02012-06-22 19:08:03 -0700142include $(BUILD_SHARED_LIBRARY)
143
Arun Menon4ab8ae82013-03-18 13:35:41 -0700144
145# ---------------------------------------------------------------------------------
146# Make the Shared library (libOmxVdecHevc)
147# ---------------------------------------------------------------------------------
148
149include $(CLEAR_VARS)
150LOCAL_PATH:= $(ROOT_DIR)
151
Arun Menonfd4a27d2013-09-16 18:06:07 -0700152# QCPATH is defined if vendor/qcom/proprietary folder is present in the build.
153# The above folder will be removed in for open source(OSS) builds.
154# Hence libOmxVdecHevc library is not built for OSS build as QCPATH is null in OSS build.
155
156ifneq "$(wildcard $(QCPATH) )" ""
157ifeq ($(call is-board-platform-in-list,msm8974 msm8610 apq8084 mpq8092 msm8226),true)
Arun Menon4ab8ae82013-03-18 13:35:41 -0700158
159LOCAL_MODULE := libOmxVdecHevc
160LOCAL_MODULE_TAGS := optional
161LOCAL_CFLAGS := $(libOmxVdec-def)
162LOCAL_C_INCLUDES += $(libmm-vdec-inc)
163
164LOCAL_PRELINK_MODULE := false
165LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils libdl
166
Arun Menon4ab8ae82013-03-18 13:35:41 -0700167LOCAL_SHARED_LIBRARIES += libdivxdrmdecrypt
168LOCAL_SHARED_LIBRARIES += libqdMetaData
169
170LOCAL_SRC_FILES := src/frameparser.cpp
171LOCAL_SRC_FILES += src/h264_utils.cpp
172LOCAL_SRC_FILES += src/ts_parser.cpp
173LOCAL_SRC_FILES += src/mp4_utils.cpp
174
Arun Menonfd4a27d2013-09-16 18:06:07 -0700175ifeq ($(call is-board-platform-in-list,msm8974 msm8226),true)
176LOCAL_SHARED_LIBRARIES += libHevcSwDecoder
177LOCAL_SRC_FILES += src/omx_vdec_hevc_swvdec.cpp
178else
Arun Menon4ab8ae82013-03-18 13:35:41 -0700179LOCAL_SRC_FILES += src/omx_vdec_hevc.cpp
Arun Menonfd4a27d2013-09-16 18:06:07 -0700180endif
181
Arun Menon4ab8ae82013-03-18 13:35:41 -0700182LOCAL_SRC_FILES += src/hevc_utils.cpp
183
184LOCAL_SRC_FILES += ../common/src/extra_data_handler.cpp
185LOCAL_SRC_FILES += ../common/src/vidc_color_converter.cpp
186LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
187
188include $(BUILD_SHARED_LIBRARY)
189
190endif
Arun Menonfd4a27d2013-09-16 18:06:07 -0700191endif
Arun Menon4ab8ae82013-03-18 13:35:41 -0700192
Shalaj Jain273b3e02012-06-22 19:08:03 -0700193# ---------------------------------------------------------------------------------
194# Make the apps-test (mm-vdec-omx-test)
195# ---------------------------------------------------------------------------------
196include $(CLEAR_VARS)
197
198mm-vdec-test-inc := hardware/qcom/media/mm-core/inc
199mm-vdec-test-inc += $(LOCAL_PATH)/inc
Haynes Mathew George94c72542012-07-16 14:25:01 -0700200mm-vdec-test-inc += $(vdec-inc)
Shalaj Jain273b3e02012-06-22 19:08:03 -0700201
202LOCAL_MODULE := mm-vdec-omx-test
203LOCAL_MODULE_TAGS := optional
204LOCAL_CFLAGS := $(libOmxVdec-def)
205LOCAL_C_INCLUDES := $(mm-vdec-test-inc)
206
207LOCAL_PRELINK_MODULE := false
Shobhit Pandeyf9b672e2012-11-30 22:05:29 +0530208LOCAL_SHARED_LIBRARIES := libutils libOmxCore libOmxVdec libbinder libcutils
Shalaj Jain273b3e02012-06-22 19:08:03 -0700209
210LOCAL_SRC_FILES := src/queue.c
211LOCAL_SRC_FILES += test/omx_vdec_test.cpp
Haynes Mathew George94c72542012-07-16 14:25:01 -0700212LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Shalaj Jain273b3e02012-06-22 19:08:03 -0700213
214include $(BUILD_EXECUTABLE)
215
216# ---------------------------------------------------------------------------------
217# Make the driver-test (mm-video-driver-test)
218# ---------------------------------------------------------------------------------
219include $(CLEAR_VARS)
220
221mm-vdec-drv-test-inc := hardware/qcom/media/mm-core/inc
222mm-vdec-drv-test-inc += $(LOCAL_PATH)/inc
Haynes Mathew George94c72542012-07-16 14:25:01 -0700223mm-vdec-drv-test-inc += $(vdec-inc)
Shalaj Jain273b3e02012-06-22 19:08:03 -0700224
225LOCAL_MODULE := mm-video-driver-test
226LOCAL_MODULE_TAGS := optional
227LOCAL_CFLAGS := $(libOmxVdec-def)
228LOCAL_C_INCLUDES := $(mm-vdec-drv-test-inc)
229LOCAL_PRELINK_MODULE := false
230
231LOCAL_SRC_FILES := src/message_queue.c
232LOCAL_SRC_FILES += test/decoder_driver_test.c
Haynes Mathew George94c72542012-07-16 14:25:01 -0700233LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Shalaj Jain273b3e02012-06-22 19:08:03 -0700234
235include $(BUILD_EXECUTABLE)
236
237endif #BUILD_TINY_ANDROID
238
239# ---------------------------------------------------------------------------------
240# END
241# ---------------------------------------------------------------------------------