blob: a01bf3c415675f8d2212fd3ba0fddecd5e2905c0 [file] [log] [blame]
Shalaj Jain273b3e02012-06-22 19:08:03 -07001ifneq ($(BUILD_TINY_ANDROID),true)
2
3ROOT_DIR := $(call my-dir)
Deva Ramasubramanianeede2f12013-10-22 18:00:49 -07004OMX_VIDEO_PATH := $(ROOT_DIR)/../..
Shalaj Jain273b3e02012-06-22 19:08:03 -07005
6include $(CLEAR_VARS)
7LOCAL_PATH:= $(ROOT_DIR)
8
9# ---------------------------------------------------------------------------------
10# Common definitons
11# ---------------------------------------------------------------------------------
12
13libOmxVdec-def := -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
14libOmxVdec-def += -D__align=__alignx
15libOmxVdec-def += -Dinline=__inline
16libOmxVdec-def += -g -O3
17libOmxVdec-def += -DIMAGE_APPS_PROC
18libOmxVdec-def += -D_ANDROID_
19libOmxVdec-def += -DCDECL
20libOmxVdec-def += -DT_ARM
21libOmxVdec-def += -DNO_ARM_CLZ
22libOmxVdec-def += -UENABLE_DEBUG_LOW
Arun Menonb50ddeb2013-06-05 15:33:55 -070023libOmxVdec-def += -UENABLE_DEBUG_HIGH
Shalaj Jain273b3e02012-06-22 19:08:03 -070024libOmxVdec-def += -DENABLE_DEBUG_ERROR
25libOmxVdec-def += -UINPUT_BUFFER_LOG
26libOmxVdec-def += -UOUTPUT_BUFFER_LOG
Arun Menonb66f8102014-03-18 18:37:22 -070027libOmxVdec-def += -Wno-parentheses
Shalaj Jain273b3e02012-06-22 19:08:03 -070028ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
29libOmxVdec-def += -DMAX_RES_1080P
30libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
31libOmxVdec-def += -DTEST_TS_FROM_SEI
32endif
33ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
34libOmxVdec-def += -DMAX_RES_1080P
35libOmxVdec-def += -DMAX_RES_1080P_EBI
36libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +053037libOmxVdec-def += -D_MSM8960_
Shalaj Jain273b3e02012-06-22 19:08:03 -070038endif
39ifeq ($(TARGET_BOARD_PLATFORM),msm8974)
40libOmxVdec-def += -DMAX_RES_1080P
41libOmxVdec-def += -DMAX_RES_1080P_EBI
42libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
David Ng1d9befe2012-07-18 15:31:08 -070043libOmxVdec-def += -D_MSM8974_
Arun Menond65ffb12013-05-28 16:28:06 -070044libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
Shalaj Jain273b3e02012-06-22 19:08:03 -070045endif
Praveena Pachipulusu42e91642012-07-06 10:30:58 +053046ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
47libOmxVdec-def += -DMAX_RES_720P
48endif
Aparna Mallavarapue5046552012-07-14 19:51:14 +053049ifeq ($(TARGET_BOARD_PLATFORM),msm7630_surf)
50libOmxVdec-def += -DMAX_RES_720P
51endif
David Ng75996352012-11-26 15:39:44 -080052ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
David Ngd0b30082012-12-19 07:01:22 -080053libOmxVdec-def += -DMAX_RES_1080P
54libOmxVdec-def += -DMAX_RES_1080P_EBI
55libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
Arun Menonc821d8a2013-06-15 10:03:29 -070056libOmxVdec-def += -DSMOOTH_STREAMING_DISABLED
Arun Menon888aa852013-05-30 11:24:42 -070057libOmxVdec-def += -DH264_PROFILE_LEVEL_CHECK
David Ngd0b30082012-12-19 07:01:22 -080058libOmxVdec-def += -D_MSM8974_
David Ng75996352012-11-26 15:39:44 -080059endif
60ifeq ($(TARGET_BOARD_PLATFORM),msm8226)
David Ngd0b30082012-12-19 07:01:22 -080061libOmxVdec-def += -DMAX_RES_1080P
62libOmxVdec-def += -DMAX_RES_1080P_EBI
63libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
64libOmxVdec-def += -D_MSM8974_
Arun Menonfd4a27d2013-09-16 18:06:07 -070065libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
David Ngcbf03aa2012-11-06 18:36:09 -080066endif
David Ng0926b912013-04-08 18:52:29 -070067ifeq ($(TARGET_BOARD_PLATFORM),apq8084)
68libOmxVdec-def += -DMAX_RES_1080P
69libOmxVdec-def += -DMAX_RES_1080P_EBI
70libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
71libOmxVdec-def += -D_MSM8974_
Deva Ramasubramanian96c1f872013-08-26 13:07:48 -070072libOmxVdec-def += -DVENUS_HEVC
David Ng0926b912013-04-08 18:52:29 -070073endif
Aparna Mallavarapu5f119b02013-05-23 17:01:03 +053074ifeq ($(TARGET_BOARD_PLATFORM),mpq8092)
75libOmxVdec-def += -DMAX_RES_1080P
76libOmxVdec-def += -DMAX_RES_1080P_EBI
77libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
78libOmxVdec-def += -D_MSM8974_
Jayasena Sangaraboina12ab95c2013-12-17 22:02:48 -080079libOmxVdec-def += -DVENUS_HEVC
Aparna Mallavarapu5f119b02013-05-23 17:01:03 +053080endif
Aparna Mallavarapu06757622013-10-11 14:16:44 +053081ifeq ($(TARGET_BOARD_PLATFORM),msm_bronze)
82libOmxVdec-def += -DMAX_RES_1080P
83libOmxVdec-def += -DMAX_RES_1080P_EBI
84libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
85libOmxVdec-def += -D_MSM8974_
86libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
87endif
Sivalatha Chakrala9e6354b2013-12-12 23:39:59 +053088ifeq ($(TARGET_BOARD_PLATFORM),msm8916)
89libOmxVdec-def += -DMAX_RES_1080P
90libOmxVdec-def += -DMAX_RES_1080P_EBI
91libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
92libOmxVdec-def += -D_MSM8974_
Sivalatha Chakrala9e6354b2013-12-12 23:39:59 +053093endif
Shalaj Jain0672e052013-12-18 12:30:34 -080094ifeq ($(TARGET_BOARD_PLATFORM),plutonium)
95libOmxVdec-def += -DMAX_RES_1080P
96libOmxVdec-def += -DMAX_RES_1080P_EBI
97libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
98libOmxVdec-def += -D_MSM8974_
99libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
100endif
101
Shalaj Jain273b3e02012-06-22 19:08:03 -0700102libOmxVdec-def += -D_ANDROID_ICS_
103
Haynes Mathew George94c72542012-07-16 14:25:01 -0700104ifeq ($(TARGET_USES_ION),true)
Shalaj Jain273b3e02012-06-22 19:08:03 -0700105libOmxVdec-def += -DUSE_ION
Haynes Mathew George94c72542012-07-16 14:25:01 -0700106endif
Shalaj Jain273b3e02012-06-22 19:08:03 -0700107
AUDITYA BHATTARAMbe03fab2013-11-26 02:19:31 +0530108ifneq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 18 ))" )))
Ian Maundd5b4db32013-06-17 14:47:51 -0700109libOmxVdec-def += -DANDROID_JELLYBEAN_MR1=1
110endif
111
Haynes Mathew Georgef2314392012-07-17 15:30:05 -0700112vdec-inc = $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
113
Shalaj Jain273b3e02012-06-22 19:08:03 -0700114# ---------------------------------------------------------------------------------
115# Make the Shared library (libOmxVdec)
116# ---------------------------------------------------------------------------------
117
118include $(CLEAR_VARS)
119LOCAL_PATH:= $(ROOT_DIR)
120
Shalaj Jain273b3e02012-06-22 19:08:03 -0700121libmm-vdec-inc += $(LOCAL_PATH)/inc
122libmm-vdec-inc += $(OMX_VIDEO_PATH)/vidc/common/inc
123libmm-vdec-inc += hardware/qcom/media/mm-core/inc
Shalaj Jain273b3e02012-06-22 19:08:03 -0700124#DRM include - Interface which loads the DRM library
125libmm-vdec-inc += $(OMX_VIDEO_PATH)/DivxDrmDecrypt/inc
Praveen Chavan1a760772014-04-16 15:22:42 -0700126libmm-vdec-inc += $(TARGET_OUT_HEADERS)/qcom/display
127libmm-vdec-inc += $(TARGET_OUT_HEADERS)/adreno
Shalaj Jain273b3e02012-06-22 19:08:03 -0700128libmm-vdec-inc += frameworks/native/include/media/openmax
129libmm-vdec-inc += frameworks/native/include/media/hardware
Haynes Mathew George94c72542012-07-16 14:25:01 -0700130libmm-vdec-inc += $(vdec-inc)
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530131libmm-vdec-inc += hardware/qcom/media/libc2dcolorconvert
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530132libmm-vdec-inc += frameworks/av/include/media/stagefright
Arun Menonfd4a27d2013-09-16 18:06:07 -0700133libmm-vdec-inc += $(TARGET_OUT_HEADERS)/mm-video/SwVdec
Shalaj Jain273b3e02012-06-22 19:08:03 -0700134
Arun Menon57973232013-09-25 10:41:32 -0700135ifeq ($(PLATFORM_SDK_VERSION), 18) #JB_MR2
136libOmxVdec-def += -DANDROID_JELLYBEAN_MR2=1
137libmm-vdec-inc += hardware/qcom/media/libstagefrighthw
138endif
139
Praveen Chavan99295452013-11-11 18:14:54 -0800140ifeq ($(call is-platform-sdk-version-at-least, 19),true)
141# This feature is enabled for Android KK+
142libOmxVdec-def += -DADAPTIVE_PLAYBACK_SUPPORTED
143endif
144
Shalaj Jain273b3e02012-06-22 19:08:03 -0700145LOCAL_MODULE := libOmxVdec
AUDITYA BHATTARAM5d662a02014-03-19 12:05:02 +0530146LOCAL_ADDITIONAL_DEPENDENCIES := libOmxVdecHevc
Shalaj Jain273b3e02012-06-22 19:08:03 -0700147LOCAL_MODULE_TAGS := optional
Arun Menonb66f8102014-03-18 18:37:22 -0700148LOCAL_CFLAGS := $(libOmxVdec-def) -Werror
Shalaj Jain273b3e02012-06-22 19:08:03 -0700149LOCAL_C_INCLUDES += $(libmm-vdec-inc)
150
151LOCAL_PRELINK_MODULE := false
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530152LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils libdl
Shalaj Jain273b3e02012-06-22 19:08:03 -0700153
Shalaj Jain273b3e02012-06-22 19:08:03 -0700154LOCAL_SHARED_LIBRARIES += libdivxdrmdecrypt
Shalaj Jain48af9a42012-08-03 16:54:09 -0700155LOCAL_SHARED_LIBRARIES += libqdMetaData
Shalaj Jain273b3e02012-06-22 19:08:03 -0700156
157LOCAL_SRC_FILES := src/frameparser.cpp
158LOCAL_SRC_FILES += src/h264_utils.cpp
159LOCAL_SRC_FILES += src/ts_parser.cpp
160LOCAL_SRC_FILES += src/mp4_utils.cpp
Deva Ramasubramanianeede2f12013-10-22 18:00:49 -0700161LOCAL_SRC_FILES += src/hevc_utils.cpp
Shalaj Jain0672e052013-12-18 12:30:34 -0800162ifneq (,$(filter msm8974 msm8610 msm8226 apq8084 mpq8092 msm_bronze msm8916 plutonium,$(TARGET_BOARD_PLATFORM)))
Ashray Kulkarni69a930f2012-07-30 12:31:40 -0700163LOCAL_SRC_FILES += src/omx_vdec_msm8974.cpp
164else
Ashray Kulkarni867dad62012-12-26 15:04:07 -0800165LOCAL_SHARED_LIBRARIES += libhardware
Ashray Kulkarni867dad62012-12-26 15:04:07 -0800166LOCAL_SRC_FILES += src/power_module.cpp
Shalaj Jain273b3e02012-06-22 19:08:03 -0700167LOCAL_SRC_FILES += src/omx_vdec.cpp
Ashray Kulkarni69a930f2012-07-30 12:31:40 -0700168endif
Ashray Kulkarni867dad62012-12-26 15:04:07 -0800169
Shalaj Jain273b3e02012-06-22 19:08:03 -0700170LOCAL_SRC_FILES += ../common/src/extra_data_handler.cpp
Gopikrishnaiah Anand5a99cfb2013-01-08 20:28:10 +0530171LOCAL_SRC_FILES += ../common/src/vidc_color_converter.cpp
Haynes Mathew George94c72542012-07-16 14:25:01 -0700172LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
173
Shalaj Jain273b3e02012-06-22 19:08:03 -0700174include $(BUILD_SHARED_LIBRARY)
175
Arun Menon4ab8ae82013-03-18 13:35:41 -0700176
177# ---------------------------------------------------------------------------------
178# Make the Shared library (libOmxVdecHevc)
179# ---------------------------------------------------------------------------------
180
181include $(CLEAR_VARS)
182LOCAL_PATH:= $(ROOT_DIR)
183
Maheshwar Ajjabf36bd82013-09-23 12:41:53 +0530184# libOmxVdecHevc library is not built for OSS builds as QCPATH is null in OSS builds.
Arun Menonfd4a27d2013-09-16 18:06:07 -0700185
186ifneq "$(wildcard $(QCPATH) )" ""
Shalaj Jain0672e052013-12-18 12:30:34 -0800187ifneq (,$(filter msm8974 msm8610 msm8226 msm_bronze msm8916 plutonium,$(TARGET_BOARD_PLATFORM)))
Arun Menon4ab8ae82013-03-18 13:35:41 -0700188
189LOCAL_MODULE := libOmxVdecHevc
AUDITYA BHATTARAM5d662a02014-03-19 12:05:02 +0530190LOCAL_ADDITIONAL_DEPENDENCIES := libOmxVenc
Arun Menon4ab8ae82013-03-18 13:35:41 -0700191LOCAL_MODULE_TAGS := optional
192LOCAL_CFLAGS := $(libOmxVdec-def)
193LOCAL_C_INCLUDES += $(libmm-vdec-inc)
194
195LOCAL_PRELINK_MODULE := false
196LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils libdl
197
Arun Menon4ab8ae82013-03-18 13:35:41 -0700198LOCAL_SHARED_LIBRARIES += libdivxdrmdecrypt
199LOCAL_SHARED_LIBRARIES += libqdMetaData
200
201LOCAL_SRC_FILES := src/frameparser.cpp
202LOCAL_SRC_FILES += src/h264_utils.cpp
203LOCAL_SRC_FILES += src/ts_parser.cpp
204LOCAL_SRC_FILES += src/mp4_utils.cpp
205
Rajeshwar Kurapatyaec08e22014-03-18 20:15:03 +0530206ifneq (,$(filter msm8974 msm8226 msm8916,$(TARGET_BOARD_PLATFORM)))
Arun Menonfd4a27d2013-09-16 18:06:07 -0700207LOCAL_SHARED_LIBRARIES += libHevcSwDecoder
208LOCAL_SRC_FILES += src/omx_vdec_hevc_swvdec.cpp
209else
Arun Menon4ab8ae82013-03-18 13:35:41 -0700210LOCAL_SRC_FILES += src/omx_vdec_hevc.cpp
Arun Menonfd4a27d2013-09-16 18:06:07 -0700211endif
212
Arun Menon4ab8ae82013-03-18 13:35:41 -0700213LOCAL_SRC_FILES += src/hevc_utils.cpp
214
215LOCAL_SRC_FILES += ../common/src/extra_data_handler.cpp
216LOCAL_SRC_FILES += ../common/src/vidc_color_converter.cpp
217LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
218
219include $(BUILD_SHARED_LIBRARY)
220
221endif
Arun Menonfd4a27d2013-09-16 18:06:07 -0700222endif
Arun Menon4ab8ae82013-03-18 13:35:41 -0700223
Shalaj Jain273b3e02012-06-22 19:08:03 -0700224# ---------------------------------------------------------------------------------
225# Make the apps-test (mm-vdec-omx-test)
226# ---------------------------------------------------------------------------------
227include $(CLEAR_VARS)
228
229mm-vdec-test-inc := hardware/qcom/media/mm-core/inc
230mm-vdec-test-inc += $(LOCAL_PATH)/inc
Haynes Mathew George94c72542012-07-16 14:25:01 -0700231mm-vdec-test-inc += $(vdec-inc)
Shalaj Jain273b3e02012-06-22 19:08:03 -0700232
233LOCAL_MODULE := mm-vdec-omx-test
234LOCAL_MODULE_TAGS := optional
235LOCAL_CFLAGS := $(libOmxVdec-def)
236LOCAL_C_INCLUDES := $(mm-vdec-test-inc)
237
238LOCAL_PRELINK_MODULE := false
Shobhit Pandeyf9b672e2012-11-30 22:05:29 +0530239LOCAL_SHARED_LIBRARIES := libutils libOmxCore libOmxVdec libbinder libcutils
Shalaj Jain273b3e02012-06-22 19:08:03 -0700240
241LOCAL_SRC_FILES := src/queue.c
242LOCAL_SRC_FILES += test/omx_vdec_test.cpp
Haynes Mathew George94c72542012-07-16 14:25:01 -0700243LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Shalaj Jain273b3e02012-06-22 19:08:03 -0700244
245include $(BUILD_EXECUTABLE)
246
247# ---------------------------------------------------------------------------------
248# Make the driver-test (mm-video-driver-test)
249# ---------------------------------------------------------------------------------
250include $(CLEAR_VARS)
251
252mm-vdec-drv-test-inc := hardware/qcom/media/mm-core/inc
253mm-vdec-drv-test-inc += $(LOCAL_PATH)/inc
Haynes Mathew George94c72542012-07-16 14:25:01 -0700254mm-vdec-drv-test-inc += $(vdec-inc)
Shalaj Jain273b3e02012-06-22 19:08:03 -0700255
256LOCAL_MODULE := mm-video-driver-test
257LOCAL_MODULE_TAGS := optional
258LOCAL_CFLAGS := $(libOmxVdec-def)
259LOCAL_C_INCLUDES := $(mm-vdec-drv-test-inc)
260LOCAL_PRELINK_MODULE := false
261
262LOCAL_SRC_FILES := src/message_queue.c
263LOCAL_SRC_FILES += test/decoder_driver_test.c
Haynes Mathew George94c72542012-07-16 14:25:01 -0700264LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
Shalaj Jain273b3e02012-06-22 19:08:03 -0700265
266include $(BUILD_EXECUTABLE)
267
268endif #BUILD_TINY_ANDROID
269
270# ---------------------------------------------------------------------------------
271# END
272# ---------------------------------------------------------------------------------