• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH := $(call my-dir)
2LIBION_HEADER_PATH_WRAPPER := $(QC_OPEN_PATH)/core-utils/build/libion_header_paths/libion_path.mk
3
4include $(CLEAR_VARS)
5include $(LIBION_HEADER_PATH_WRAPPER)
6
7# ---------------------------------------------------------------------------------
8# 				Common definitons
9# ---------------------------------------------------------------------------------
10
11libmm-venc-def := -g -O3 -Dlrintf=_ffix_r
12libmm-venc-def += -D__align=__alignx
13libmm-venc-def += -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
14libmm-venc-def += -DT_ARM
15libmm-venc-def += -Dinline=__inline
16libmm-venc-def += -D_ANDROID_
17libmm-venc-def += -UENABLE_DEBUG_LOW
18libmm-venc-def += -UENABLE_DEBUG_HIGH
19libmm-venc-def += -DENABLE_DEBUG_ERROR
20libmm-venc-def += -UINPUT_BUFFER_LOG
21libmm-venc-def += -UOUTPUT_BUFFER_LOG
22libmm-venc-def += -USINGLE_ENCODER_INSTANCE
23libmm-venc-def += -Werror
24libmm-venc-def += -D_ANDROID_ICS_
25
26TARGETS_THAT_USE_FLAG_MSM8226 := msm8226 msm8916 msm8909
27TARGETS_THAT_DONT_NEED_SW_VENC_MPEG4 := msm8226 msm8916 msm8992 msm8996 sdm660 msm8998
28TARGETS_THAT_DONT_SUPPORT_SW_VENC_ROTATION := msm8226 msm8916 msm8992 msm8996 sdm660 msm8998 msm8909 msm8937
29TARGETS_THAT_DONT_SUPPORT_SW_VENC_720P = atoll
30
31TARGETS_THAT_NEED_SW_VENC_HEVC := msm8992
32TARGETS_THAT_SUPPORT_VQZIP := msm8996 msm8998
33
34ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_DONT_SUPPORT_SW_VENC_720P)),true)
35libmm-venc-def += -DDISABLE_720P
36endif
37
38ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
39libmm-venc-def += -D_MSM8610_
40endif
41
42libmm-venc-def += -D_UBWC_
43
44ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_SUPPORT_VQZIP)),true)
45libmm-venc-def += -D_VQZIP_
46endif
47
48ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_USE_FLAG_MSM8226)),true)
49libmm-venc-def += -D_MSM8226_
50endif
51
52ifeq ($(TARGET_USES_ION),true)
53libmm-venc-def += -DUSE_ION
54endif
55
56libmm-venc-def += -DUSE_NATIVE_HANDLE_SOURCE
57
58ifeq ($(call is-board-platform-in-list, $(MASTER_SIDE_CP_TARGET_LIST)),true)
59libmm-venc-def += -DMASTER_SIDE_CP
60endif
61
62libmm-venc-def += -DUSE_CAMERA_METABUFFER_UTILS
63
64ifeq ($(ENABLE_HYP),true)
65libmm-venc-def += -DHYPERVISOR
66endif
67
68# Common Includes
69libmm-venc-inc      := $(LOCAL_PATH)/inc
70libmm-venc-inc      += $(LIBION_HEADER_PATHS)
71libmm-venc-inc      += $(QCOM_MEDIA_ROOT)/mm-video-v4l2/vidc/common/inc
72libmm-venc-inc      += $(QCOM_MEDIA_ROOT)/mm-core/inc
73libmm-venc-inc      += $(QCOM_MEDIA_ROOT)/libstagefrighthw
74libmm-venc-inc      += $(QCOM_MEDIA_ROOT)/libplatformconfig
75libmm-venc-inc      += $(QCOM_MEDIA_ROOT)/libc2dcolorconvert
76libmm-venc-inc      += $(TARGET_OUT_HEADERS)/adreno
77libmm-venc-inc      += $(TARGET_OUT_HEADERS)/libvqzip
78libmm-venc-inc      += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
79libmm-venc-inc      += $(TOP)/frameworks/native/libs/nativewindow/include
80libmm-venc-inc      += $(TOP)/frameworks/native/libs/nativebase/include
81libmm-venc-inc      += $(TOP)/frameworks/native/libs/arect/include
82
83ifeq ($(ENABLE_HYP),true)
84libmm-venc-inc      += hardware/qcom/media/hypv-intercept
85endif
86
87ifneq ($(call is-board-platform-in-list, $(TARGETS_THAT_DONT_SUPPORT_SW_VENC_ROTATION)),true)
88libmm-venc-inc      += hardware/libhardware/include/hardware
89endif
90
91# Common Dependencies
92libmm-venc-add-dep  := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
93
94# ---------------------------------------------------------------------------------
95# 			Make the Shared library (libOmxVenc)
96# ---------------------------------------------------------------------------------
97
98include $(CLEAR_VARS)
99
100LOCAL_MODULE                    := libOmxVenc
101LOCAL_MODULE_TAGS               := optional
102LOCAL_VENDOR_MODULE             := true
103LOCAL_CFLAGS                    := $(libmm-venc-def)
104
105LOCAL_HEADER_LIBRARIES := \
106        media_plugin_headers \
107        libnativebase_headers \
108        libcutils_headers \
109        libutils_headers \
110        libhardware_headers \
111        display_intf_headers
112
113LOCAL_C_INCLUDES                := $(libmm-venc-inc)
114LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
115
116LOCAL_PRELINK_MODULE      := false
117LOCAL_SHARED_LIBRARIES    := liblog libcutils libdl libplatformconfig libion
118LOCAL_SHARED_LIBRARIES    += libnativewindow
119
120# ifeq ($(BOARD_USES_ADRENO), true)
121LOCAL_SHARED_LIBRARIES    += libc2dcolorconvert
122# endif # ($(BOARD_USES_ADRENO), true)
123LOCAL_SHARED_LIBRARIES += libqdMetaData
124ifeq ($(ENABLE_HYP),true)
125LOCAL_SHARED_LIBRARIES += libhypv_intercept
126endif
127LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
128
129LOCAL_SRC_FILES   := src/omx_video_base.cpp
130LOCAL_SRC_FILES   += src/omx_video_encoder.cpp
131LOCAL_SRC_FILES   += src/video_encoder_device_v4l2.cpp
132
133# Suppress warnings until they are fixed in video_encoder_device_v4l2.cpp
134LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
135
136include $(BUILD_SHARED_LIBRARY)
137
138ifneq ($(call is-board-platform-in-list, $(TARGETS_THAT_DONT_NEED_SW_VENC_MPEG4)),true)
139# ---------------------------------------------------------------------------------
140# 			Make the Shared library (libOmxSwVencMpeg4)
141# ---------------------------------------------------------------------------------
142
143include $(CLEAR_VARS)
144
145libmm-venc-inc      += $(TARGET_OUT_HEADERS)/mm-video/swvenc
146
147LOCAL_MODULE                    := libOmxSwVencMpeg4
148
149LOCAL_MODULE_TAGS               := optional
150LOCAL_VENDOR_MODULE             := true
151LOCAL_CFLAGS                    := $(libmm-venc-def)
152
153LOCAL_HEADER_LIBRARIES := \
154        media_plugin_headers \
155        libnativebase_headers \
156        libutils_headers \
157        libhardware_headers \
158        display_intf_headers
159
160LOCAL_C_INCLUDES                := $(libmm-venc-inc)
161LOCAL_ADDITIONAL_DEPENDENCIES   := $(libmm-venc-add-dep)
162
163LOCAL_PRELINK_MODULE      := false
164LOCAL_SHARED_LIBRARIES    := liblog libcutils libdl libplatformconfig libion
165LOCAL_SHARED_LIBRARIES    += libMpeg4SwEncoder
166LOCAL_SHARED_LIBRARIES    += libqdMetaData
167LOCAL_SHARED_LIBRARIES    += libnativewindow
168
169ifneq ($(call is-board-platform-in-list, $(TARGETS_THAT_DONT_SUPPORT_SW_VENC_ROTATION)),true)
170LOCAL_SHARED_LIBRARIES += libui
171LOCAL_SHARED_LIBRARIES += libutils
172endif
173
174# ifeq ($(BOARD_USES_ADRENO), true)
175LOCAL_SHARED_LIBRARIES    += libc2dcolorconvert
176# endif # ($(BOARD_USES_ADRENO), true)
177LOCAL_STATIC_LIBRARIES    := libOmxVidcCommon
178
179LOCAL_SRC_FILES   := src/omx_video_base.cpp
180LOCAL_SRC_FILES   += src/omx_swvenc_mpeg4.cpp
181
182include $(BUILD_SHARED_LIBRARY)
183endif
184
185
186# ---------------------------------------------------------------------------------
187# 					END
188# ---------------------------------------------------------------------------------
189