blob: 8a09d083be8f26a021ff7441781111a104350e6d [file] [log] [blame]
Shalaj Jainc17db622014-06-04 18:36:39 -07001LOCAL_PATH := $(call my-dir)
Shalaj Jain273b3e02012-06-22 19:08:03 -07002include $(CLEAR_VARS)
Shalaj Jain273b3e02012-06-22 19:08:03 -07003
4# ---------------------------------------------------------------------------------
5# Common definitons
6# ---------------------------------------------------------------------------------
7
Shalaj Jain79aa8162014-09-16 22:22:17 -07008libmm-vdec-def := -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
9libmm-vdec-def += -D__align=__alignx
10libmm-vdec-def += -Dinline=__inline
11libmm-vdec-def += -g -O3
12libmm-vdec-def += -DIMAGE_APPS_PROC
13libmm-vdec-def += -D_ANDROID_
14libmm-vdec-def += -DCDECL
15libmm-vdec-def += -DT_ARM
16libmm-vdec-def += -DNO_ARM_CLZ
17libmm-vdec-def += -UENABLE_DEBUG_LOW
18libmm-vdec-def += -UENABLE_DEBUG_HIGH
19libmm-vdec-def += -DENABLE_DEBUG_ERROR
20libmm-vdec-def += -UINPUT_BUFFER_LOG
21libmm-vdec-def += -UOUTPUT_BUFFER_LOG
22libmm-vdec-def += -Wno-parentheses
23libmm-vdec-def += -D_ANDROID_ICS_
24libmm-vdec-def += -D_MSM8974_
25libmm-vdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
26libmm-vdec-def += -DMAX_RES_1080P
27libmm-vdec-def += -DMAX_RES_1080P_EBI
28
29TARGETS_THAT_USE_HEVC_ADSP_HEAP := msm8226 msm8974
30TARGETS_THAT_HAVE_VENUS_HEVC := apq8084 msm8994
31TARGETS_THAT_NEED_HEVC_LIB := msm8974 msm8610 msm8226 msm8916
32TARGETS_THAT_NEED_SW_HEVC := msm8974 msm8226 msm8916
33
34ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_USE_HEVC_ADSP_HEAP)),true)
35libmm-vdec-def += -D_HEVC_USE_ADSP_HEAP_
Shalaj Jain0672e052013-12-18 12:30:34 -080036endif
37
Shalaj Jain79aa8162014-09-16 22:22:17 -070038ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_HAVE_VENUS_HEVC)),true)
39libmm-vdec-def += -DVENUS_HEVC
40endif
41
42ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
43libmm-vdec-def += -DSMOOTH_STREAMING_DISABLED
44libmm-vdec-def += -DH264_PROFILE_LEVEL_CHECK
45endif
Shalaj Jain273b3e02012-06-22 19:08:03 -070046
Haynes Mathew George94c72542012-07-16 14:25:01 -070047ifeq ($(TARGET_USES_ION),true)
Shalaj Jain79aa8162014-09-16 22:22:17 -070048libmm-vdec-def += -DUSE_ION
Haynes Mathew George94c72542012-07-16 14:25:01 -070049endif
Shalaj Jain273b3e02012-06-22 19:08:03 -070050
AUDITYA BHATTARAMbe03fab2013-11-26 02:19:31 +053051ifneq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) >= 18 ))" )))
Shalaj Jain79aa8162014-09-16 22:22:17 -070052libmm-vdec-def += -DANDROID_JELLYBEAN_MR1=1
Ian Maundd5b4db32013-06-17 14:47:51 -070053endif
54
Shalaj Jain273b3e02012-06-22 19:08:03 -070055include $(CLEAR_VARS)
Shalaj Jain273b3e02012-06-22 19:08:03 -070056
Shalaj Jain79aa8162014-09-16 22:22:17 -070057# Common Includes
58libmm-vdec-inc := $(LOCAL_PATH)/inc
Shalaj Jain273b3e02012-06-22 19:08:03 -070059libmm-vdec-inc += $(OMX_VIDEO_PATH)/vidc/common/inc
Ethan Chen639ec652015-12-24 20:22:06 -080060libmm-vdec-inc += $(TOP)/$(call project-path-for,qcom-media)/mm-core/inc
Praveen Chavan1a760772014-04-16 15:22:42 -070061libmm-vdec-inc += $(TARGET_OUT_HEADERS)/qcom/display
62libmm-vdec-inc += $(TARGET_OUT_HEADERS)/adreno
Shalaj Jainc17db622014-06-04 18:36:39 -070063libmm-vdec-inc += $(TOP)/frameworks/native/include/media/openmax
64libmm-vdec-inc += $(TOP)/frameworks/native/include/media/hardware
Mahesh Lankacc558092017-07-20 15:35:32 +053065libmm-vdec-inc += frameworks/native/libs/nativewindow/include/
66libmm-vdec-inc += frameworks/native/libs/arect/include/
67libmm-vdec-inc += frameworks/native/libs/nativebase/include
Ethan Chen639ec652015-12-24 20:22:06 -080068libmm-vdec-inc += $(TOP)/$(call project-path-for,qcom-media)/libc2dcolorconvert
Vinay Kalia7c8ab482014-07-31 12:34:21 -070069libmm-vdec-inc += $(TOP)/frameworks/av/include/media/stagefright
70libmm-vdec-inc += $(TARGET_OUT_HEADERS)/mm-video/SwVdec
Shalaj Jain79aa8162014-09-16 22:22:17 -070071libmm-vdec-inc += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
Shalaj Jain273b3e02012-06-22 19:08:03 -070072
Arun Menon57973232013-09-25 10:41:32 -070073ifeq ($(PLATFORM_SDK_VERSION), 18) #JB_MR2
Shalaj Jain79aa8162014-09-16 22:22:17 -070074libmm-vdec-def += -DANDROID_JELLYBEAN_MR2=1
Ethan Chen639ec652015-12-24 20:22:06 -080075libmm-vdec-inc += $(TOP)/$(call project-path-for,qcom-media)/libstagefrighthw
Arun Menon57973232013-09-25 10:41:32 -070076endif
77
Shalaj Jain79aa8162014-09-16 22:22:17 -070078# Common Dependencies
79libmm-vdec-add-dep := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
80
Praveen Chavan99295452013-11-11 18:14:54 -080081ifeq ($(call is-platform-sdk-version-at-least, 19),true)
82# This feature is enabled for Android KK+
Shalaj Jain79aa8162014-09-16 22:22:17 -070083libmm-vdec-def += -DADAPTIVE_PLAYBACK_SUPPORTED
Praveen Chavan99295452013-11-11 18:14:54 -080084endif
85
Praveen Chavan4f1403e2014-10-18 09:09:45 -070086ifeq ($(call is-platform-sdk-version-at-least, 22),true)
87# This feature is enabled for Android LMR1
88libmm-vdec-def += -DFLEXYUV_SUPPORTED
89endif
90
Praveen Chavan06ec9852016-04-19 12:25:46 -070091ifeq ($(TARGET_USES_MEDIA_EXTENSIONS),true)
92libmm-vdec-def += -DALLOCATE_OUTPUT_NATIVEHANDLE
93endif
94
Shalaj Jain79aa8162014-09-16 22:22:17 -070095# ---------------------------------------------------------------------------------
96# Make the Shared library (libOmxVdec)
97# ---------------------------------------------------------------------------------
98
99include $(CLEAR_VARS)
100
Shalaj Jain273b3e02012-06-22 19:08:03 -0700101LOCAL_MODULE := libOmxVdec
102LOCAL_MODULE_TAGS := optional
Uma Mehtaf713e532017-03-07 16:46:25 +0530103LOCAL_PROPRIETARY_MODULE := true
104LOCAL_MODULE_OWNER := qti
Uma Mehta153365c2017-06-29 18:02:48 +0530105LOCAL_CFLAGS := $(libmm-vdec-def) -Werror -Wno-error
Shalaj Jain273b3e02012-06-22 19:08:03 -0700106LOCAL_C_INCLUDES += $(libmm-vdec-inc)
Shalaj Jain79aa8162014-09-16 22:22:17 -0700107LOCAL_ADDITIONAL_DEPENDENCIES := $(libmm-vdec-add-dep)
Shalaj Jain273b3e02012-06-22 19:08:03 -0700108
109LOCAL_PRELINK_MODULE := false
Uma Mehtaf713e532017-03-07 16:46:25 +0530110LOCAL_SHARED_LIBRARIES := liblog libutils libcutils libdl
Shalaj Jain273b3e02012-06-22 19:08:03 -0700111
Shalaj Jain48af9a42012-08-03 16:54:09 -0700112LOCAL_SHARED_LIBRARIES += libqdMetaData
Shalaj Jain273b3e02012-06-22 19:08:03 -0700113
114LOCAL_SRC_FILES := src/frameparser.cpp
115LOCAL_SRC_FILES += src/h264_utils.cpp
116LOCAL_SRC_FILES += src/ts_parser.cpp
117LOCAL_SRC_FILES += src/mp4_utils.cpp
Deva Ramasubramanianeede2f12013-10-22 18:00:49 -0700118LOCAL_SRC_FILES += src/hevc_utils.cpp
Vinay Kalia7c8ab482014-07-31 12:34:21 -0700119LOCAL_STATIC_LIBRARIES := libOmxVidcCommon
Ashray Kulkarni69a930f2012-07-30 12:31:40 -0700120LOCAL_SRC_FILES += src/omx_vdec_msm8974.cpp
Rajshekar Eashwarappad06c29b2016-03-29 13:01:37 +0530121LOCAL_CLANG := false
Shalaj Jain273b3e02012-06-22 19:08:03 -0700122include $(BUILD_SHARED_LIBRARY)
123
Arun Menon4ab8ae82013-03-18 13:35:41 -0700124
125# ---------------------------------------------------------------------------------
126# Make the Shared library (libOmxVdecHevc)
127# ---------------------------------------------------------------------------------
128
129include $(CLEAR_VARS)
Arun Menon4ab8ae82013-03-18 13:35:41 -0700130
Maheshwar Ajjabf36bd82013-09-23 12:41:53 +0530131# libOmxVdecHevc library is not built for OSS builds as QCPATH is null in OSS builds.
Arun Menonfd4a27d2013-09-16 18:06:07 -0700132
133ifneq "$(wildcard $(QCPATH) )" ""
Shalaj Jain79aa8162014-09-16 22:22:17 -0700134ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_HEVC_LIB)),true)
Arun Menon4ab8ae82013-03-18 13:35:41 -0700135
136LOCAL_MODULE := libOmxVdecHevc
137LOCAL_MODULE_TAGS := optional
Uma Mehtaf713e532017-03-07 16:46:25 +0530138LOCAL_PROPRIETARY_MODULE := true
139LOCAL_MODULE_OWNER := qti
Shalaj Jain79aa8162014-09-16 22:22:17 -0700140LOCAL_CFLAGS := $(libmm-vdec-def)
Arun Menon4ab8ae82013-03-18 13:35:41 -0700141LOCAL_C_INCLUDES += $(libmm-vdec-inc)
Shalaj Jain79aa8162014-09-16 22:22:17 -0700142LOCAL_ADDITIONAL_DEPENDENCIES := $(libmm-vdec-add-dep)
Arun Menon4ab8ae82013-03-18 13:35:41 -0700143
144LOCAL_PRELINK_MODULE := false
145LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils libdl
146
Arun Menon4ab8ae82013-03-18 13:35:41 -0700147LOCAL_SHARED_LIBRARIES += libqdMetaData
148
149LOCAL_SRC_FILES := src/frameparser.cpp
150LOCAL_SRC_FILES += src/h264_utils.cpp
151LOCAL_SRC_FILES += src/ts_parser.cpp
152LOCAL_SRC_FILES += src/mp4_utils.cpp
Arun Menon4ab8ae82013-03-18 13:35:41 -0700153LOCAL_SRC_FILES += src/hevc_utils.cpp
154
Vinay Kalia7c8ab482014-07-31 12:34:21 -0700155LOCAL_STATIC_LIBRARIES := libOmxVidcCommon
Arun Menon4ab8ae82013-03-18 13:35:41 -0700156
157include $(BUILD_SHARED_LIBRARY)
158
159endif
Arun Menonfd4a27d2013-09-16 18:06:07 -0700160endif
Manikanta Kanamarlapudib636be82014-07-21 20:18:34 +0530161
Shalaj Jain273b3e02012-06-22 19:08:03 -0700162# ---------------------------------------------------------------------------------
163# END
164# ---------------------------------------------------------------------------------