diff --git a/third_party/libvpx/libvpx.gyp b/third_party/libvpx/libvpx.gyp index 2537ed531..c712b8ff0 100644 --- a/third_party/libvpx/libvpx.gyp +++ b/third_party/libvpx/libvpx.gyp @@ -44,202 +44,30 @@ }, 'conditions': [ - # TODO(andrew): Hack to ensure we pass -msse2 to gcc on Linux for files - # containing SSE intrinsics. This should be handled in the gyp generator - # scripts somehow. Clang (default on Mac) doesn't require this. - ['target_arch=="ia32" or target_arch=="x64"', { - 'targets' : [ - { - 'target_name': 'libvpx_sse2', - 'type': 'static_library', - 'include_dirs': [ - 'source/config/<(OS)/<(target_arch)', - '<(libvpx_src_dir)', - '<(libvpx_src_dir)/vp8/common', - '<(libvpx_src_dir)/vp8/decoder', - '<(libvpx_src_dir)/vp8/encoder', - ], - 'sources': [ - '<(libvpx_src_dir)/vp8/encoder/x86/denoising_sse2.c', - ], - 'conditions': [ - ['os_posix==1 and OS!="mac"', { - 'cflags': [ '-msse2', ], - }], - ['OS=="mac"', { - 'xcode_settings': { - 'OTHER_CFLAGS': [ '-msse2', ], - }, - }], - ], - }, - ], - }], - [ 'target_arch!="arm"', { + ['OS == "android"', { 'targets': [ { - # This libvpx target contains both encoder and decoder. - # Encoder is configured to be realtime only. - 'target_name': 'libvpx', + 'target_name': 'libvpx_arm_neon', 'type': 'static_library', - 'variables': { - 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx', - 'OS_CATEGORY%': '<(OS_CATEGORY)', - 'yasm_flags': [ - '-D', 'CHROMIUM', - '-I', 'source/config/<(OS_CATEGORY)/<(target_arch)', - '-I', '<(libvpx_src_dir)', - '-I', '<(shared_generated_dir)', # Generated assembly offsets - ], - }, 'dependencies': [ 'gen_asm_offsets', ], 'includes': [ - '../yasm/yasm_compile.gypi' + 'libvpx_asm_conversion.gypi', + 'libvpx_src_neon.gypi', ], - 'include_dirs': [ - 'source/config/<(OS_CATEGORY)/<(target_arch)', - '<(libvpx_src_dir)', - '<(libvpx_src_dir)/vp8/common', - '<(libvpx_src_dir)/vp8/decoder', - '<(libvpx_src_dir)/vp8/encoder', - '<(shared_generated_dir)', # Provides vpx_rtcd.h. - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '<(libvpx_src_dir)', - ], - }, - # VS2010 does not correctly incrementally link obj files generated - # from asm files. This flag disables UseLibraryDependencyInputs to - # avoid this problem. - 'msvs_2010_disable_uldi_when_referenced': 1, - 'conditions': [ - [ 'target_arch=="ia32"', { - 'includes': [ - 'libvpx_srcs_x86.gypi', - ], - 'dependencies': [ 'libvpx_sse2', ], - }], - [ 'target_arch=="x64"', { - 'includes': [ - 'libvpx_srcs_x86_64.gypi', - ], - 'dependencies': [ 'libvpx_sse2', ], - }], - ['clang == 1', { - 'xcode_settings': { - 'WARNING_CFLAGS': [ - # libvpx heavily relies on implicit enum casting. - '-Wno-conversion', - # libvpx does `if ((a == b))` in some places. - '-Wno-parentheses-equality', - ], - }, - 'cflags': [ - '-Wno-conversion', - '-Wno-parentheses-equality', - ], - }], - [ 'chromeos == 1', { - # ChromeOS needs these files for animated WebM avatars. - 'sources': [ - '<(libvpx_src_dir)/libmkv/EbmlIDs.h', - '<(libvpx_src_dir)/libmkv/EbmlWriter.c', - '<(libvpx_src_dir)/libmkv/EbmlWriter.h', - ], - }], - ], - }, - ], - }, - ], - # 'libvpx' target for ARM builds. - [ 'target_arch=="arm" ', { - 'targets': [ - { - # This libvpx target contains both encoder and decoder. - # Encoder is configured to be realtime only. - 'target_name': 'libvpx', - 'type': 'static_library', - 'dependencies': [ - 'gen_asm_offsets', - ], - - # Copy the script to the output folder so that we can use it with - # absolute path. - 'copies': [{ - 'destination': '<(shared_generated_dir)', - 'files': [ - '<(ads2gas_script_path)', - ], - }], - - # Rule to convert .asm files to .S files. - 'rules': [ - { - 'rule_name': 'convert_asm', - 'extension': 'asm', - 'inputs': [ '<(shared_generated_dir)/<(ads2gas_script)', ], - 'outputs': [ - '<(shared_generated_dir)/<(RULE_INPUT_ROOT).S', - ], - 'action': [ - 'bash', - '-c', - 'cat <(RULE_INPUT_PATH) | perl <(shared_generated_dir)/<(ads2gas_script) > <(shared_generated_dir)/<(RULE_INPUT_ROOT).S', - ], - 'process_outputs_as_sources': 1, - 'message': 'Convert libvpx asm file for ARM <(RULE_INPUT_PATH).', - }, - ], - - 'variables': { - # Location of the assembly conversion script. - 'ads2gas_script': 'ads2gas.pl', - 'ads2gas_script_path': '<(libvpx_src_dir)/build/make/<(ads2gas_script)', - }, 'cflags': [ # We need to explicitly tell the GCC assembler to look for # .include directive files from the place where they're # generated to. '-Wa,-I,' + ' <(shared_generated_dir)/<(RULE_INPUT_ROOT).S', + ], + 'process_outputs_as_sources': 1, + 'message': + 'Convert libvpx asm file for ARM <(RULE_INPUT_PATH).', + }, + ], + + 'variables': { + # Location of the assembly conversion script. + 'ads2gas_script': 'ads2gas.pl', + 'ads2gas_script_path': + '<(libvpx_src_dir)/build/make/<(ads2gas_script)', + }, + 'cflags': [ + # We need to explicitly tell the GCC assembler to look for + # .include directive files from the place where they're + # generated to. + '-Wa,-I,' + '<(shared_generated_dir)/<(RULE_INPUT_ROOT).S', + ], + 'process_outputs_as_sources': 1, + 'message': 'Convert libvpx asm file for ARM <(RULE_INPUT_PATH).', + }], + 'variables': { + # Location of the assembly conversion script. + 'ads2gas_script': 'ads2gas.pl', + 'ads2gas_script_path': + '<(libvpx_src_dir)/build/make/<(ads2gas_script)', + }, + 'include_dirs': [ + 'source/config/<(OS_CATEGORY)/<(target_arch_full)', + '<(libvpx_src_dir)', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(libvpx_src_dir)', + ], + }, +} \ No newline at end of file diff --git a/third_party/libvpx/libvpx_src_armv5te.gypi b/third_party/libvpx/libvpx_src_armv5te.gypi new file mode 100644 index 000000000..675576def --- /dev/null +++ b/third_party/libvpx/libvpx_src_armv5te.gypi @@ -0,0 +1,13 @@ +# This file is generated. Do not edit. +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'sources': [ + '<(libvpx_src_dir)/vp8/encoder/arm/armv5te/boolhuff_armv5te.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv5te/vp8_packtokens_armv5.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv5te/vp8_packtokens_mbrow_armv5.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv5te/vp8_packtokens_partitions_armv5.asm', + ], +} diff --git a/third_party/libvpx/libvpx_src_armv6.gypi b/third_party/libvpx/libvpx_src_armv6.gypi new file mode 100644 index 000000000..04b61817c --- /dev/null +++ b/third_party/libvpx/libvpx_src_armv6.gypi @@ -0,0 +1,35 @@ +# This file is generated. Do not edit. +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'sources': [ + '<(libvpx_src_dir)/vp8/common/arm/armv6/bilinearfilter_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/copymem16x16_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/copymem8x4_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/copymem8x8_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/dc_only_idct_add_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/dequant_idct_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/dequantize_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/filter_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/idct_blk_v6.c', + '<(libvpx_src_dir)/vp8/common/arm/armv6/idct_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/intra4x4_predict_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/iwalsh_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/loopfilter_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/simpleloopfilter_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/sixtappredict8x4_v6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/vp8_sad16x16_armv6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/vp8_variance16x16_armv6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/vp8_variance8x8_armv6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/vp8_variance_halfpixvar16x16_h_armv6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/vp8_variance_halfpixvar16x16_hv_armv6.asm', + '<(libvpx_src_dir)/vp8/common/arm/armv6/vp8_variance_halfpixvar16x16_v_armv6.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv6/vp8_fast_quantize_b_armv6.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv6/vp8_mse16x16_armv6.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv6/vp8_subtract_armv6.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/armv6/walsh_v6.asm', + ], +} diff --git a/third_party/libvpx/libvpx_src_c.gypi b/third_party/libvpx/libvpx_src_c.gypi new file mode 100644 index 000000000..15b0db7ce --- /dev/null +++ b/third_party/libvpx/libvpx_src_c.gypi @@ -0,0 +1,176 @@ +# This file is generated. Do not edit. +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'sources': [ + '<(libvpx_src_dir)/vp8/common/alloccommon.c', + '<(libvpx_src_dir)/vp8/common/alloccommon.h', + '<(libvpx_src_dir)/vp8/common/arm/dequantize_arm.c', + '<(libvpx_src_dir)/vp8/common/arm/filter_arm.c', + '<(libvpx_src_dir)/vp8/common/arm/loopfilter_arm.c', + '<(libvpx_src_dir)/vp8/common/arm/reconintra_arm.c', + '<(libvpx_src_dir)/vp8/common/arm/variance_arm.c', + '<(libvpx_src_dir)/vp8/common/blockd.c', + '<(libvpx_src_dir)/vp8/common/blockd.h', + '<(libvpx_src_dir)/vp8/common/coefupdateprobs.h', + '<(libvpx_src_dir)/vp8/common/common.h', + '<(libvpx_src_dir)/vp8/common/debugmodes.c', + '<(libvpx_src_dir)/vp8/common/default_coef_probs.h', + '<(libvpx_src_dir)/vp8/common/dequantize.c', + '<(libvpx_src_dir)/vp8/common/entropy.c', + '<(libvpx_src_dir)/vp8/common/entropy.h', + '<(libvpx_src_dir)/vp8/common/entropymode.c', + '<(libvpx_src_dir)/vp8/common/entropymode.h', + '<(libvpx_src_dir)/vp8/common/entropymv.c', + '<(libvpx_src_dir)/vp8/common/entropymv.h', + '<(libvpx_src_dir)/vp8/common/extend.c', + '<(libvpx_src_dir)/vp8/common/extend.h', + '<(libvpx_src_dir)/vp8/common/filter.c', + '<(libvpx_src_dir)/vp8/common/filter.h', + '<(libvpx_src_dir)/vp8/common/findnearmv.c', + '<(libvpx_src_dir)/vp8/common/findnearmv.h', + '<(libvpx_src_dir)/vp8/common/generic/systemdependent.c', + '<(libvpx_src_dir)/vp8/common/header.h', + '<(libvpx_src_dir)/vp8/common/idct_blk.c', + '<(libvpx_src_dir)/vp8/common/idctllm.c', + '<(libvpx_src_dir)/vp8/common/invtrans.h', + '<(libvpx_src_dir)/vp8/common/loopfilter.c', + '<(libvpx_src_dir)/vp8/common/loopfilter_filters.c', + '<(libvpx_src_dir)/vp8/common/loopfilter.h', + '<(libvpx_src_dir)/vp8/common/mbpitch.c', + '<(libvpx_src_dir)/vp8/common/mfqe.c', + '<(libvpx_src_dir)/vp8/common/modecont.c', + '<(libvpx_src_dir)/vp8/common/modecont.h', + '<(libvpx_src_dir)/vp8/common/mv.h', + '<(libvpx_src_dir)/vp8/common/onyxc_int.h', + '<(libvpx_src_dir)/vp8/common/onyxd.h', + '<(libvpx_src_dir)/vp8/common/onyx.h', + '<(libvpx_src_dir)/vp8/common/postproc.c', + '<(libvpx_src_dir)/vp8/common/postproc.h', + '<(libvpx_src_dir)/vp8/common/ppflags.h', + '<(libvpx_src_dir)/vp8/common/pragmas.h', + '<(libvpx_src_dir)/vp8/common/quant_common.c', + '<(libvpx_src_dir)/vp8/common/quant_common.h', + '<(libvpx_src_dir)/vp8/common/reconinter.c', + '<(libvpx_src_dir)/vp8/common/reconinter.h', + '<(libvpx_src_dir)/vp8/common/reconintra4x4.c', + '<(libvpx_src_dir)/vp8/common/reconintra4x4.h', + '<(libvpx_src_dir)/vp8/common/reconintra.c', + '<(libvpx_src_dir)/vp8/common/rtcd.c', + '<(libvpx_src_dir)/vp8/common/sad_c.c', + '<(libvpx_src_dir)/vp8/common/setupintrarecon.c', + '<(libvpx_src_dir)/vp8/common/setupintrarecon.h', + '<(libvpx_src_dir)/vp8/common/swapyv12buffer.c', + '<(libvpx_src_dir)/vp8/common/swapyv12buffer.h', + '<(libvpx_src_dir)/vp8/common/systemdependent.h', + '<(libvpx_src_dir)/vp8/common/threading.h', + '<(libvpx_src_dir)/vp8/common/treecoder.c', + '<(libvpx_src_dir)/vp8/common/treecoder.h', + '<(libvpx_src_dir)/vp8/common/variance_c.c', + '<(libvpx_src_dir)/vp8/common/variance.h', + '<(libvpx_src_dir)/vp8/common/vp8_entropymodedata.h', + '<(libvpx_src_dir)/vp8/decoder/dboolhuff.c', + '<(libvpx_src_dir)/vp8/decoder/dboolhuff.h', + '<(libvpx_src_dir)/vp8/decoder/decodemv.c', + '<(libvpx_src_dir)/vp8/decoder/decodemv.h', + '<(libvpx_src_dir)/vp8/decoder/decoderthreading.h', + '<(libvpx_src_dir)/vp8/decoder/decodframe.c', + '<(libvpx_src_dir)/vp8/decoder/detokenize.c', + '<(libvpx_src_dir)/vp8/decoder/detokenize.h', + '<(libvpx_src_dir)/vp8/decoder/ec_types.h', + '<(libvpx_src_dir)/vp8/decoder/error_concealment.c', + '<(libvpx_src_dir)/vp8/decoder/error_concealment.h', + '<(libvpx_src_dir)/vp8/decoder/onyxd_if.c', + '<(libvpx_src_dir)/vp8/decoder/onyxd_int.h', + '<(libvpx_src_dir)/vp8/decoder/threading.c', + '<(libvpx_src_dir)/vp8/decoder/treereader.h', + '<(libvpx_src_dir)/vp8/encoder/arm/boolhuff_arm.c', + '<(libvpx_src_dir)/vp8/encoder/arm/dct_arm.c', + '<(libvpx_src_dir)/vp8/encoder/arm/quantize_arm.c', + '<(libvpx_src_dir)/vp8/encoder/bitstream.c', + '<(libvpx_src_dir)/vp8/encoder/bitstream.h', + '<(libvpx_src_dir)/vp8/encoder/block.h', + '<(libvpx_src_dir)/vp8/encoder/boolhuff.h', + '<(libvpx_src_dir)/vp8/encoder/dct.c', + '<(libvpx_src_dir)/vp8/encoder/dct_value_cost.h', + '<(libvpx_src_dir)/vp8/encoder/dct_value_tokens.h', + '<(libvpx_src_dir)/vp8/encoder/defaultcoefcounts.h', + '<(libvpx_src_dir)/vp8/encoder/denoising.c', + '<(libvpx_src_dir)/vp8/encoder/denoising.h', + '<(libvpx_src_dir)/vp8/encoder/encodeframe.c', + '<(libvpx_src_dir)/vp8/encoder/encodeframe.h', + '<(libvpx_src_dir)/vp8/encoder/encodeintra.c', + '<(libvpx_src_dir)/vp8/encoder/encodeintra.h', + '<(libvpx_src_dir)/vp8/encoder/encodemb.c', + '<(libvpx_src_dir)/vp8/encoder/encodemb.h', + '<(libvpx_src_dir)/vp8/encoder/encodemv.c', + '<(libvpx_src_dir)/vp8/encoder/encodemv.h', + '<(libvpx_src_dir)/vp8/encoder/ethreading.c', + '<(libvpx_src_dir)/vp8/encoder/firstpass.h', + '<(libvpx_src_dir)/vp8/encoder/lookahead.c', + '<(libvpx_src_dir)/vp8/encoder/lookahead.h', + '<(libvpx_src_dir)/vp8/encoder/mcomp.c', + '<(libvpx_src_dir)/vp8/encoder/mcomp.h', + '<(libvpx_src_dir)/vp8/encoder/modecosts.c', + '<(libvpx_src_dir)/vp8/encoder/modecosts.h', + '<(libvpx_src_dir)/vp8/encoder/mr_dissim.c', + '<(libvpx_src_dir)/vp8/encoder/mr_dissim.h', + '<(libvpx_src_dir)/vp8/encoder/onyx_if.c', + '<(libvpx_src_dir)/vp8/encoder/onyx_int.h', + '<(libvpx_src_dir)/vp8/encoder/pickinter.c', + '<(libvpx_src_dir)/vp8/encoder/pickinter.h', + '<(libvpx_src_dir)/vp8/encoder/picklpf.c', + '<(libvpx_src_dir)/vp8/encoder/psnr.c', + '<(libvpx_src_dir)/vp8/encoder/psnr.h', + '<(libvpx_src_dir)/vp8/encoder/quantize.c', + '<(libvpx_src_dir)/vp8/encoder/quantize.h', + '<(libvpx_src_dir)/vp8/encoder/ratectrl.c', + '<(libvpx_src_dir)/vp8/encoder/ratectrl.h', + '<(libvpx_src_dir)/vp8/encoder/rdopt.c', + '<(libvpx_src_dir)/vp8/encoder/rdopt.h', + '<(libvpx_src_dir)/vp8/encoder/segmentation.c', + '<(libvpx_src_dir)/vp8/encoder/segmentation.h', + '<(libvpx_src_dir)/vp8/encoder/tokenize.c', + '<(libvpx_src_dir)/vp8/encoder/tokenize.h', + '<(libvpx_src_dir)/vp8/encoder/treewriter.c', + '<(libvpx_src_dir)/vp8/encoder/treewriter.h', + '<(libvpx_src_dir)/vp8/vp8_cx_iface.c', + '<(libvpx_src_dir)/vp8/vp8_dx_iface.c', + '<(libvpx_src_dir)/vpx/internal/vpx_codec_internal.h', + '<(libvpx_src_dir)/vpx_mem/include/vpx_mem_intrnl.h', + '<(libvpx_src_dir)/vpx_mem/vpx_mem.c', + '<(libvpx_src_dir)/vpx_mem/vpx_mem.h', + '<(libvpx_src_dir)/vpx_ports/arm_cpudetect.c', + '<(libvpx_src_dir)/vpx_ports/arm.h', + '<(libvpx_src_dir)/vpx_ports/asm_offsets.h', + '<(libvpx_src_dir)/vpx_ports/mem.h', + '<(libvpx_src_dir)/vpx_ports/vpx_timer.h', + '<(libvpx_src_dir)/vpx_scale/generic/gen_scalers.c', + '<(libvpx_src_dir)/vpx_scale/generic/vpxscale.c', + '<(libvpx_src_dir)/vpx_scale/generic/yv12config.c', + '<(libvpx_src_dir)/vpx_scale/generic/yv12extend.c', + '<(libvpx_src_dir)/vpx_scale/generic/yv12extend_generic.h', + '<(libvpx_src_dir)/vpx_scale/scale_mode.h', + '<(libvpx_src_dir)/vpx_scale/vpxscale.h', + '<(libvpx_src_dir)/vpx_scale/yv12config.h', + '<(libvpx_src_dir)/vpx/src/vpx_codec.c', + '<(libvpx_src_dir)/vpx/src/vpx_decoder.c', + '<(libvpx_src_dir)/vpx/src/vpx_encoder.c', + '<(libvpx_src_dir)/vpx/src/vpx_image.c', + '<(libvpx_src_dir)/vpx/vp8cx.h', + '<(libvpx_src_dir)/vpx/vp8dx.h', + '<(libvpx_src_dir)/vpx/vp8.h', + '<(libvpx_src_dir)/vpx/vpx_codec.h', + '<(libvpx_src_dir)/vpx/vpx_codec_impl_bottom.h', + '<(libvpx_src_dir)/vpx/vpx_codec_impl_top.h', + '<(libvpx_src_dir)/vpx/vpx_decoder.h', + '<(libvpx_src_dir)/vpx/vpx_encoder.h', + '<(libvpx_src_dir)/vpx/vpx_image.h', + '<(libvpx_src_dir)/vpx/vpx_integer.h', + '<(libvpx_src_dir)/vp8/common/arm/bilinearfilter_arm.c', + '<(libvpx_src_dir)/vp8/common/arm/bilinearfilter_arm.h', + '<(libvpx_src_dir)/vpx_scale/arm/neon/yv12extend_arm.c', + ], +} diff --git a/third_party/libvpx/libvpx_src_neon.gypi b/third_party/libvpx/libvpx_src_neon.gypi new file mode 100644 index 000000000..241a1650f --- /dev/null +++ b/third_party/libvpx/libvpx_src_neon.gypi @@ -0,0 +1,51 @@ +# This file is generated. Do not edit. +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'sources': [ + '<(libvpx_src_dir)/vp8/common/arm/neon/bilinearpredict16x16_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/bilinearpredict4x4_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/bilinearpredict8x4_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/bilinearpredict8x8_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/buildintrapredictorsmby_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/copymem16x16_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/copymem8x4_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/copymem8x8_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/dc_only_idct_add_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/dequant_idct_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/dequantizeb_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/idct_blk_neon.c', + '<(libvpx_src_dir)/vp8/common/arm/neon/idct_dequant_0_2x_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/idct_dequant_full_2x_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/iwalsh_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/loopfilter_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/mbloopfilter_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/sad16_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/sad8_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/save_reg_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/shortidct4x4llm_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/sixtappredict16x16_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/sixtappredict4x4_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/sixtappredict8x4_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/sixtappredict8x8_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/variance_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/vp8_subpixelvariance16x16_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/vp8_subpixelvariance16x16s_neon.asm', + '<(libvpx_src_dir)/vp8/common/arm/neon/vp8_subpixelvariance8x8_neon.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/fastquantizeb_neon.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/picklpf_arm.c', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/shortfdct_neon.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/subtract_neon.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/vp8_memcpy_neon.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/vp8_mse16x16_neon.asm', + '<(libvpx_src_dir)/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.asm', + '<(libvpx_src_dir)/vpx_scale/arm/neon/vp8_vpxyv12_copyframe_func_neon.asm', + '<(libvpx_src_dir)/vpx_scale/arm/neon/vp8_vpxyv12_copysrcframe_func_neon.asm', + '<(libvpx_src_dir)/vpx_scale/arm/neon/vp8_vpxyv12_copy_y_neon.asm', + '<(libvpx_src_dir)/vpx_scale/arm/neon/vp8_vpxyv12_extendframeborders_neon.asm', + ], +} diff --git a/webrtc/video_engine/test/android/jni/Android.mk b/webrtc/video_engine/test/android/jni/Android.mk index 9a0555e24..8e1f6affe 100644 --- a/webrtc/video_engine/test/android/jni/Android.mk +++ b/webrtc/video_engine/test/android/jni/Android.mk @@ -269,6 +269,12 @@ LOCAL_SRC_FILES := \ $(MY_LIBS_PATH)/third_party/libvpx/libvpx.a include $(PREBUILT_STATIC_LIBRARY) +include $(CLEAR_VARS) +LOCAL_MODULE := libvpx_arm_neon +LOCAL_SRC_FILES := \ + $(MY_LIBS_PATH)/third_party/libvpx/libvpx_arm_neon.a +include $(PREBUILT_STATIC_LIBRARY) + include $(CLEAR_VARS) LOCAL_MODULE := libpaced_sender LOCAL_SRC_FILES := \ @@ -339,6 +345,7 @@ LOCAL_STATIC_LIBRARIES := \ libaudioproc_debug_proto \ libprotobuf_lite \ libvpx \ + libvpx_arm_neon \ libpaced_sender \ $(MY_SUPPLEMENTAL_LIBS)