blob: 19d5ab465565511dd80ca0d3eeba34157be1ea86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# ---------------------------------------------------------------------------------
# Common definitons
# ---------------------------------------------------------------------------------
libmm-venc-def := -g -O3 -Dlrintf=_ffix_r
libmm-venc-def += -D__align=__alignx
libmm-venc-def += -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
libmm-venc-def += -DT_ARM
libmm-venc-def += -Dinline=__inline
libmm-venc-def += -D_ANDROID_
libmm-venc-def += -UENABLE_DEBUG_LOW
libmm-venc-def += -UENABLE_DEBUG_HIGH
libmm-venc-def += -DENABLE_DEBUG_ERROR
libmm-venc-def += -UINPUT_BUFFER_LOG
libmm-venc-def += -UOUTPUT_BUFFER_LOG
libmm-venc-def += -USINGLE_ENCODER_INSTANCE
libmm-venc-def += -Werror
libmm-venc-def += -D_ANDROID_ICS_
libmm-venc-def += -D_MSM8974_
TARGETS_THAT_USE_FLAG_MSM8226 := msm8226 msm8916
TARGETS_THAT_NEED_SW_VENC_MPEG4 := msm8909
TARGETS_THAT_NEED_SW_VENC_HEVC := msm8992
ifeq ($(TARGET_BOARD_PLATFORM),msm8610)
libmm-venc-def += -DMAX_RES_720P
libmm-venc-def += -D_MSM8610_
else
ifeq ($(TARGET_BOARD_PLATFORM),msm8226)
libmm-venc-def += -DMAX_RES_1080P
else
libmm-venc-def += -DMAX_RES_1080P
libmm-venc-def += -DMAX_RES_1080P_EBI
endif
endif
ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_USE_FLAG_MSM8226)),true)
libmm-venc-def += -D_MSM8226_
endif
ifeq ($(TARGET_BOARD_PLATFORM),msm8909)
libmm-venc-def += -D_MSM8909_
endif
ifeq ($(TARGET_USES_ION),true)
libmm-venc-def += -DUSE_ION
endif
# Common Includes
libmm-venc-inc := $(LOCAL_PATH)/inc
libmm-venc-inc += $(OMX_VIDEO_PATH)/vidc/common/inc
libmm-venc-inc += hardware/qcom/media/mm-core/inc
libmm-venc-inc += hardware/qcom/media/libstagefrighthw
libmm-venc-inc += $(TARGET_OUT_HEADERS)/qcom/display
libmm-venc-inc += $(TARGET_OUT_HEADERS)/adreno
libmm-venc-inc += frameworks/native/include/media/hardware
libmm-venc-inc += frameworks/native/include/media/openmax
libmm-venc-inc += hardware/qcom/media/libc2dcolorconvert
libmm-venc-inc += frameworks/av/include/media/stagefright
libmm-venc-inc += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
# Common Dependencies
libmm-venc-add-dep := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
# ---------------------------------------------------------------------------------
# Make the Shared library (libOmxVenc)
# ---------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libOmxVenc
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS := $(libmm-venc-def)
LOCAL_C_INCLUDES := $(libmm-venc-inc)
LOCAL_ADDITIONAL_DEPENDENCIES := $(libmm-venc-add-dep)
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils \
libc2dcolorconvert libdl libgui
LOCAL_STATIC_LIBRARIES := libOmxVidcCommon
LOCAL_SRC_FILES := src/omx_video_base.cpp
LOCAL_SRC_FILES += src/omx_video_encoder.cpp
LOCAL_SRC_FILES += src/video_encoder_device_v4l2.cpp
include $(BUILD_SHARED_LIBRARY)
ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VENC_MPEG4)),true)
# ---------------------------------------------------------------------------------
# Make the Shared library (libOmxSwVencMpeg4)
# ---------------------------------------------------------------------------------
include $(CLEAR_VARS)
libmm-venc-inc += $(TARGET_OUT_HEADERS)/mm-video/swvenc
LOCAL_MODULE := libOmxSwVencMpeg4
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS := $(libmm-venc-def)
LOCAL_C_INCLUDES := $(libmm-venc-inc)
LOCAL_ADDITIONAL_DEPENDENCIES := $(libmm-venc-add-dep)
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils \
libc2dcolorconvert libdl libgui
LOCAL_SHARED_LIBRARIES += libMpeg4SwEncoder
LOCAL_STATIC_LIBRARIES := libOmxVidcCommon
LOCAL_SRC_FILES := src/omx_video_base.cpp
LOCAL_SRC_FILES += src/omx_swvenc_mpeg4.cpp
include $(BUILD_SHARED_LIBRARY)
endif
endif
ifeq ($(call is-board-platform-in-list, $(TARGETS_THAT_NEED_SW_VENC_HEVC)),true)
# ---------------------------------------------------------------------------------
# Make the Shared library (libOmxSwVenc)
# ---------------------------------------------------------------------------------
include $(CLEAR_VARS)
libmm-venc-inc += $(TARGET_OUT_HEADERS)/mm-video/swVenc
LOCAL_MODULE := libOmxSwVencHevc
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS := $(libmm-venc-def)
LOCAL_C_INCLUDES := $(libmm-venc-inc)
LOCAL_ADDITIONAL_DEPENDENCIES := $(libmm-venc-add-dep)
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := liblog libutils libbinder libcutils \
libc2dcolorconvert libdl libgui
LOCAL_SHARED_LIBRARIES += libHevcSwEncoder
LOCAL_STATIC_LIBRARIES := libOmxVidcCommon
LOCAL_SRC_FILES := src/omx_video_base.cpp
LOCAL_SRC_FILES += src/omx_swvenc_hevc.cpp
include $(BUILD_SHARED_LIBRARY)
endif
# ---------------------------------------------------------------------------------
# END
# ---------------------------------------------------------------------------------
|