1 LOCAL_PATH := $(call my-dir) 2 include $(CLEAR_VARS) 3 4 LOCAL_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 59 LOCAL_CFLAGS := \ 60 -DHAVE_CONFIG_H=vpx_config.h 61 62 LOCAL_MODULE := libvpx 63 64 ifeq ($(TARGET_ARCH),mips) 65 ifneq ($(ARCH_HAS_BIGENDIAN),true) 66 ifeq ($(ARCH_MIPS_DSP_REV),2) 67 LOCAL_SRC_FILES += \ 68 vp8/common/mips/idct_mips.c \ 69 vp8/common/mips/mips_systemdependent.c \ 70 vp8/common/mips/subpixel_mips.c \ 71 vp8/common/mips/loopfilter_filters_mips.c \ 72 vp8/common/mips/loopfilter_mips.c \ 73 vp8/common/mips/reconinter_mips.c \ 74 vp8/decoder/mips/dequantize_mips.c \ 75 vp8/decoder/mips/idct_blk_mips.c 76 77 LOCAL_CFLAGS += -DMIPS_DSP_REV=$(ARCH_MIPS_DSP_REV) 78 79 else 80 ifeq ($(ARCH_MIPS_DSP_REV),1) 81 LOCAL_SRC_FILES += \ 82 vp8/common/mips/idct_mips.c \ 83 vp8/common/mips/mips_systemdependent.c \ 84 vp8/common/mips/reconinter_mips.c \ 85 86 LOCAL_CFLAGS += -DMIPS_DSP_REV=$(ARCH_MIPS_DSP_REV) 87 88 else 89 LOCAL_CFLAGS += -DMIPS_DSP_REV=0 90 endif # mips_dsp_rev1 91 endif # mips_dsp_rev2 92 93 endif #bigendian 94 endif #mips 95 96 ifeq ($(TARGET_ARCH),arm) 97 98 LOCAL_MODULE_CLASS := STATIC_LIBRARIES 99 intermediates := $(call local-intermediates-dir) 100 101 LOCAL_SRC_FILES += \ 102 vp8/common/arm/loopfilter_arm.c \ 103 vp8/decoder/arm/dequantize_arm.c \ 104 105 ifeq ($(ARCH_ARM_HAVE_NEON),true) 106 107 LOCAL_CFLAGS += -D__ARM_HAVE_NEON 108 109 ASM_FILES = \ 110 vp8/common/arm/neon/bilinearpredict16x16_neon.s \ 111 vp8/common/arm/neon/bilinearpredict4x4_neon.s \ 112 vp8/common/arm/neon/bilinearpredict8x4_neon.s \ 113 vp8/common/arm/neon/bilinearpredict8x8_neon.s \ 114 vp8/common/arm/neon/buildintrapredictorsmby_neon.s \ 115 vp8/common/arm/neon/copymem16x16_neon.s \ 116 vp8/common/arm/neon/copymem8x4_neon.s \ 117 vp8/common/arm/neon/copymem8x8_neon.s \ 118 vp8/common/arm/neon/iwalsh_neon.s \ 119 vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.s \ 120 vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.s \ 121 vp8/common/arm/neon/recon16x16mb_neon.s \ 122 vp8/common/arm/neon/recon2b_neon.s \ 123 vp8/common/arm/neon/recon4b_neon.s \ 124 vp8/common/arm/neon/reconb_neon.s \ 125 vp8/common/arm/neon/save_neon_reg.s \ 126 vp8/common/arm/neon/shortidct4x4llm_1_neon.s \ 127 vp8/common/arm/neon/shortidct4x4llm_neon.s \ 128 vp8/common/arm/neon/sixtappredict16x16_neon.s \ 129 vp8/common/arm/neon/sixtappredict4x4_neon.s \ 130 vp8/common/arm/neon/sixtappredict8x4_neon.s \ 131 vp8/common/arm/neon/sixtappredict8x8_neon.s \ 132 vp8/common/arm/neon/dc_only_idct_add_neon.s \ 133 vp8/decoder/arm/neon/dequantizeb_neon.s \ 134 vp8/decoder/arm/neon/dequant_idct_neon.s \ 135 vp8/decoder/arm/neon/idct_dequant_0_2x_neon.s \ 136 vp8/decoder/arm/neon/idct_dequant_dc_0_2x_neon.s \ 137 vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.s \ 138 vp8/decoder/arm/neon/idct_dequant_full_2x_neon.s \ 139 vp8/common/arm/neon/loopfilter_neon.s \ 140 vp8/common/arm/neon/mbloopfilter_neon.s \ 141 142 else ifeq ($(ARCH_ARM_HAVE_ARMV7A),true) 143 144 # Really, we only need ARMV6 support but I could not find an environment 145 # variable to query that... 146 147 LOCAL_CFLAGS += -D__ARM_HAVE_ARMV6 148 149 ASM_FILES = \ 150 vp8/common/arm/armv6/bilinearfilter_v6.s \ 151 vp8/common/arm/armv6/copymem8x4_v6.s \ 152 vp8/common/arm/armv6/copymem8x8_v6.s \ 153 vp8/common/arm/armv6/copymem16x16_v6.s \ 154 vp8/common/arm/armv6/dc_only_idct_add_v6.s \ 155 vp8/common/arm/armv6/filter_v6.s \ 156 vp8/common/arm/armv6/iwalsh_v6.s \ 157 vp8/common/arm/armv6/loopfilter_v6.s \ 158 vp8/common/arm/armv6/recon_v6.s \ 159 vp8/common/arm/armv6/simpleloopfilter_v6.s \ 160 vp8/common/arm/armv6/sixtappredict8x4_v6.s \ 161 vp8/decoder/arm/armv6/dequant_dc_idct_v6.s \ 162 vp8/decoder/arm/armv6/dequant_idct_v6.s \ 163 vp8/decoder/arm/armv6/dequantize_v6.s \ 164 165 LOCAL_SRC_FILES += \ 166 vp8/common/arm/bilinearfilter_arm.c \ 167 vp8/common/arm/filter_arm.c \ 168 vp8/decoder/arm/armv6/idct_blk_v6.c \ 169 170 else 171 172 LOCAL_SRC_FILES += vp8/decoder/idct_blk.c 173 174 endif 175 176 # All the assembly sources must be converted from ADS to GAS compatible format 177 VPX_GEN := $(addprefix $(intermediates)/, $(ASM_FILES)) 178 $(VPX_GEN) : PRIVATE_PATH := $(LOCAL_PATH) 179 $(VPX_GEN) : PRIVATE_CUSTOM_TOOL = cat $< | perl external/libvpx/build/make/ads2gas.pl > $@ 180 $(VPX_GEN) : $(intermediates)/%.s : $(LOCAL_PATH)/%.asm 181 $(transform-generated-source) 182 183 LOCAL_GENERATED_SOURCES += $(VPX_GEN) 184 185 else # non-ARM 186 187 LOCAL_SRC_FILES += vp8/decoder/idct_blk.c 188 189 endif 190 191 LOCAL_C_INCLUDES := \ 192 $(LOCAL_PATH)/vpx_ports \ 193 $(LOCAL_PATH)/vp8/common \ 194 $(LOCAL_PATH)/vp8/encoder \ 195 $(LOCAL_PATH)/vp8/decoder \ 196 $(LOCAL_PATH)/vp8 \ 197 $(LOCAL_PATH)/vpx_codec 198 199 include $(BUILD_STATIC_LIBRARY) 200