Android.mk revision 3b909164de79904137bb6661514d5ca6236a49c9
1LOCAL_PATH := $(call my-dir)
2
3include $(CLEAR_VARS)
4
5LOCAL_ARM_MODE := arm
6
7LOCAL_SRC_FILES := \
8	./source/h264bsd_transform.c \
9	./source/h264bsd_util.c \
10	./source/h264bsd_byte_stream.c \
11	./source/h264bsd_seq_param_set.c \
12	./source/h264bsd_pic_param_set.c \
13	./source/h264bsd_slice_header.c \
14	./source/h264bsd_slice_data.c \
15	./source/h264bsd_macroblock_layer.c \
16	./source/h264bsd_stream.c \
17	./source/h264bsd_vlc.c \
18	./source/h264bsd_cavlc.c \
19	./source/h264bsd_nal_unit.c \
20	./source/h264bsd_neighbour.c \
21	./source/h264bsd_storage.c \
22	./source/h264bsd_slice_group_map.c \
23	./source/h264bsd_intra_prediction.c \
24	./source/h264bsd_inter_prediction.c \
25	./source/h264bsd_reconstruct.c \
26	./source/h264bsd_dpb.c \
27	./source/h264bsd_image.c \
28	./source/h264bsd_deblocking.c \
29	./source/h264bsd_conceal.c \
30	./source/h264bsd_vui.c \
31	./source/h264bsd_pic_order_cnt.c \
32	./source/h264bsd_decoder.c \
33	./source/H264SwDecApi.c \
34	SoftAVC.cpp \
35
36LOCAL_C_INCLUDES := $(LOCAL_PATH)/./inc \
37	frameworks/av/media/libstagefright/include \
38	frameworks/native/include/media/openmax \
39
40MY_ASM := \
41	./source/arm_neon_asm_gcc/h264bsdWriteMacroblock.S \
42	./source/arm_neon_asm_gcc/h264bsdClearMbLayer.S \
43	./source/arm_neon_asm_gcc/h264bsdFillRow7.S \
44	./source/arm_neon_asm_gcc/h264bsdCountLeadingZeros.S \
45	./source/arm_neon_asm_gcc/h264bsdFlushBits.S
46
47
48MY_OMXDL_C_SRC := \
49	./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DeblockChroma_I.c \
50	./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DeblockLuma_I.c \
51	./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_InterpolateChroma.c \
52	./omxdl/arm_neon/vc/m4p10/src/armVCM4P10_CAVLCTables.c \
53	./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeChromaDcCoeffsToPairCAVLC.c \
54	./omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c \
55	./omxdl/arm_neon/src/armCOMM_Bitstream.c \
56	./omxdl/arm_neon/src/armCOMM.c
57
58MY_OMXDL_ASM_SRC := \
59	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingChroma_unsafe_s.S \
60	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingLuma_unsafe_s.S \
61	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Interpolate_Chroma_s.S \
62	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_Align_unsafe_s.S \
63	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_Copy_unsafe_s.S \
64	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_DiagCopy_unsafe_s.S \
65	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfDiagHorVer4x4_unsafe_s.S \
66	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe_s.S \
67	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.S \
68	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.S \
69	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.S \
70	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingChroma_VerEdge_I_s.S \
71	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingLuma_HorEdge_I_s.S \
72	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_FilterDeblockingLuma_VerEdge_I_s.S \
73	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_InterpolateLuma_s.S \
74	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Average_4x_Align_unsafe_s.S \
75	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DecodeCoeffsToPair_s.S \
76	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DequantTables_s.S \
77	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_QuantTables_s.S \
78	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_TransformResidual4x4_s.S \
79	./omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_UnpackBlock4x4_s.S \
80	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantLumaDCFromPair_s.S \
81	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntra_16x16_s.S \
82	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntra_4x4_s.S \
83	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_PredictIntraChroma_8x8_s.S \
84	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_DequantTransformResidualFromPairAndAdd_s.S \
85	./omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantChromaDCFromPair_s.S \
86
87ifeq ($(TARGET_ARCH),arm)
88  ifeq ($(ARCH_ARM_HAVE_NEON),true)
89    LOCAL_ARM_NEON   := true
90#    LOCAL_CFLAGS     := -std=c99 -D._NEON -D._OMXDL
91    LOCAL_CFLAGS     := -DH264DEC_NEON -DH264DEC_OMXDL
92    LOCAL_SRC_FILES  += $(MY_ASM) $(MY_OMXDL_C_SRC) $(MY_OMXDL_ASM_SRC)
93    LOCAL_C_INCLUDES += $(LOCAL_PATH)/./source/arm_neon_asm_gcc
94    LOCAL_C_INCLUDES += $(LOCAL_PATH)/./omxdl/arm_neon/api \
95                        $(LOCAL_PATH)/./omxdl/arm_neon/vc/api \
96                        $(LOCAL_PATH)/./omxdl/arm_neon/vc/m4p10/api
97  endif
98endif
99
100LOCAL_SHARED_LIBRARIES := \
101	libstagefright libstagefright_omx libstagefright_foundation libutils liblog \
102
103# We need this because the current asm generates the following link error:
104# requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC
105# Bug: 16853291
106LOCAL_LDFLAGS := -Wl,-Bsymbolic
107
108LOCAL_MODULE := libstagefright_soft_h264dec
109
110LOCAL_MODULE_TAGS := optional
111
112include $(BUILD_SHARED_LIBRARY)
113
114#####################################################################
115# test utility: decoder
116#####################################################################
117##
118## Test application
119##
120include $(CLEAR_VARS)
121
122LOCAL_SRC_FILES := ./source/DecTestBench.c
123
124LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc
125
126LOCAL_SHARED_LIBRARIES := libstagefright_soft_h264dec
127
128LOCAL_MODULE_TAGS := optional
129
130LOCAL_MODULE := decoder
131
132include $(BUILD_EXECUTABLE)
133