Android.mk revision 37ccc4d993c36f55356eb119bbd3edd720142a81
1LOCAL_PATH := $(call my-dir)
2include $(CLEAR_VARS)
3
4LOCAL_SRC_FILES = \
5    mkvparser/mkvparser.cpp \
6    vpx/src/vpx_codec.c \
7    vpx/src/vpx_decoder.c \
8    vpx/src/vpx_image.c \
9    vpx_mem/vpx_mem.c \
10    vpx_scale/generic/vpxscale.c \
11    vpx_scale/generic/yv12config.c \
12    vpx_scale/generic/yv12extend.c \
13    vpx_scale/generic/gen_scalers.c \
14    vpx_scale/generic/scalesystemdependent.c \
15    vp8/common/alloccommon.c \
16    vp8/common/arm/arm_systemdependent.c \
17    vp8/common/arm/reconintra_arm.c \
18    vp8/common/blockd.c \
19    vp8/common/debugmodes.c \
20    vp8/common/entropy.c \
21    vp8/common/entropymode.c \
22    vp8/common/entropymv.c \
23    vp8/common/extend.c \
24    vp8/common/filter.c \
25    vp8/common/findnearmv.c \
26    vp8/common/generic/systemdependent.c \
27    vp8/common/idctllm.c \
28    vp8/common/invtrans.c \
29    vp8/common/loopfilter.c \
30    vp8/common/loopfilter_filters.c \
31    vp8/common/mbpitch.c \
32    vp8/common/modecont.c \
33    vp8/common/modecontext.c \
34    vp8/common/quant_common.c \
35    vp8/common/recon.c \
36    vp8/common/reconinter.c \
37    vp8/common/reconintra.c \
38    vp8/common/reconintra4x4.c \
39    vp8/common/setupintrarecon.c \
40    vp8/common/swapyv12buffer.c \
41    vp8/common/textblit.c \
42    vp8/common/treecoder.c \
43    vp8/common/postproc.c \
44    vp8/vp8_cx_iface.c \
45    vp8/vp8_dx_iface.c \
46    vp8/decoder/arm/arm_dsystemdependent.c \
47    vp8/decoder/dboolhuff.c \
48    vp8/decoder/decodemv.c \
49    vp8/decoder/decodframe.c \
50    vp8/decoder/dequantize.c \
51    vp8/decoder/detokenize.c \
52    vp8/decoder/generic/dsystemdependent.c \
53    vp8/decoder/onyxd_if.c \
54    vp8/decoder/reconintra_mt.c \
55    vp8/decoder/threading.c \
56    vpx_config.c \
57    vp8/decoder/arm/neon/idct_blk_neon.c
58
59LOCAL_CFLAGS := \
60    -DHAVE_CONFIG_H=vpx_config.h
61
62LOCAL_MODULE := libvpx
63
64ifeq ($(TARGET_ARCH),arm)
65
66LOCAL_MODULE_CLASS := STATIC_LIBRARIES
67intermediates := $(call local-intermediates-dir)
68
69LOCAL_SRC_FILES += \
70    vp8/common/arm/loopfilter_arm.c \
71    vp8/decoder/arm/dequantize_arm.c \
72
73ifeq ($(ARCH_ARM_HAVE_NEON),true)
74
75LOCAL_CFLAGS += -D__ARM_HAVE_NEON
76
77ASM_FILES = \
78    vp8/common/arm/neon/bilinearpredict16x16_neon.s \
79    vp8/common/arm/neon/bilinearpredict4x4_neon.s \
80    vp8/common/arm/neon/bilinearpredict8x4_neon.s \
81    vp8/common/arm/neon/bilinearpredict8x8_neon.s \
82    vp8/common/arm/neon/buildintrapredictorsmby_neon.s \
83    vp8/common/arm/neon/copymem16x16_neon.s \
84    vp8/common/arm/neon/copymem8x4_neon.s \
85    vp8/common/arm/neon/copymem8x8_neon.s \
86    vp8/common/arm/neon/iwalsh_neon.s \
87    vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.s \
88    vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.s \
89    vp8/common/arm/neon/recon16x16mb_neon.s \
90    vp8/common/arm/neon/recon2b_neon.s \
91    vp8/common/arm/neon/recon4b_neon.s \
92    vp8/common/arm/neon/reconb_neon.s \
93    vp8/common/arm/neon/save_neon_reg.s \
94    vp8/common/arm/neon/shortidct4x4llm_1_neon.s \
95    vp8/common/arm/neon/shortidct4x4llm_neon.s \
96    vp8/common/arm/neon/sixtappredict16x16_neon.s \
97    vp8/common/arm/neon/sixtappredict4x4_neon.s \
98    vp8/common/arm/neon/sixtappredict8x4_neon.s \
99    vp8/common/arm/neon/sixtappredict8x8_neon.s \
100    vp8/common/arm/neon/dc_only_idct_add_neon.s \
101    vp8/decoder/arm/neon/dequantizeb_neon.s \
102    vp8/decoder/arm/neon/dequant_idct_neon.s \
103    vp8/decoder/arm/neon/idct_dequant_0_2x_neon.s \
104    vp8/decoder/arm/neon/idct_dequant_dc_0_2x_neon.s \
105    vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.s \
106    vp8/decoder/arm/neon/idct_dequant_full_2x_neon.s \
107    vp8/common/arm/neon/loopfilter_neon.s \
108    vp8/common/arm/neon/mbloopfilter_neon.s \
109
110else ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
111
112# Really, we only need ARMV6 support but I could not find an environment
113# variable to query that...
114
115LOCAL_CFLAGS += -D__ARM_HAVE_ARMV6
116
117ASM_FILES = \
118    vp8/common/arm/armv6/bilinearfilter_v6.s \
119    vp8/common/arm/armv6/copymem8x4_v6.s \
120    vp8/common/arm/armv6/copymem8x8_v6.s \
121    vp8/common/arm/armv6/copymem16x16_v6.s \
122    vp8/common/arm/armv6/dc_only_idct_add_v6.s \
123    vp8/common/arm/armv6/filter_v6.s \
124    vp8/common/arm/armv6/iwalsh_v6.s \
125    vp8/common/arm/armv6/loopfilter_v6.s \
126    vp8/common/arm/armv6/recon_v6.s \
127    vp8/common/arm/armv6/simpleloopfilter_v6.s \
128    vp8/common/arm/armv6/sixtappredict8x4_v6.s \
129    vp8/decoder/arm/armv6/dequant_dc_idct_v6.s \
130    vp8/decoder/arm/armv6/dequant_idct_v6.s \
131    vp8/decoder/arm/armv6/dequantize_v6.s \
132
133LOCAL_SRC_FILES += \
134    vp8/common/arm/bilinearfilter_arm.c \
135    vp8/common/arm/filter_arm.c \
136    vp8/decoder/arm/armv6/idct_blk_v6.c \
137
138else
139
140LOCAL_SRC_FILES += vp8/decoder/idct_blk.c
141
142endif
143
144# All the assembly sources must be converted from ADS to GAS compatible format
145VPX_GEN := $(addprefix $(intermediates)/, $(ASM_FILES))
146$(VPX_GEN) : PRIVATE_PATH := $(LOCAL_PATH)
147$(VPX_GEN) : PRIVATE_CUSTOM_TOOL = cat $< | perl external/libvpx/build/make/ads2gas.pl > $@
148$(VPX_GEN) : $(intermediates)/%.s : $(LOCAL_PATH)/%.asm
149	$(transform-generated-source)
150
151LOCAL_GENERATED_SOURCES += $(VPX_GEN)
152
153else # non-ARM
154
155LOCAL_SRC_FILES += vp8/decoder/idct_blk.c
156
157endif
158
159LOCAL_C_INCLUDES := \
160    $(LOCAL_PATH)/vpx_ports \
161    $(LOCAL_PATH)/vp8/common \
162    $(LOCAL_PATH)/vp8/encoder \
163    $(LOCAL_PATH)/vp8/decoder \
164    $(LOCAL_PATH)/vp8 \
165    $(LOCAL_PATH)/vpx_codec
166
167include $(BUILD_STATIC_LIBRARY)
168