Commit 2d601aaf authored by Frank Barchard's avatar Frank Barchard

merge neon source files back into single libyuv library

previously the neon source code was broken into a separate
library built with -mfpu=neon for the neon assembly, while
the C code was built without neon.

In this change, the neon code is added to the main library
and all code built with neon.

TBR=harryjin@google.com
BUG=libyuv:371

Review URL: https://codereview.chromium.org/1392043003 .
parent 76a599ec
...@@ -14,6 +14,7 @@ set(ly_source_files ...@@ -14,6 +14,7 @@ set(ly_source_files
${ly_src_dir}/compare.cc ${ly_src_dir}/compare.cc
${ly_src_dir}/compare_common.cc ${ly_src_dir}/compare_common.cc
${ly_src_dir}/compare_neon.cc ${ly_src_dir}/compare_neon.cc
${ly_src_dir}/compare_neon64.cc
${ly_src_dir}/compare_gcc.cc ${ly_src_dir}/compare_gcc.cc
${ly_src_dir}/compare_win.cc ${ly_src_dir}/compare_win.cc
${ly_src_dir}/convert.cc ${ly_src_dir}/convert.cc
...@@ -33,12 +34,14 @@ set(ly_source_files ...@@ -33,12 +34,14 @@ set(ly_source_files
${ly_src_dir}/rotate_common.cc ${ly_src_dir}/rotate_common.cc
${ly_src_dir}/rotate_mips.cc ${ly_src_dir}/rotate_mips.cc
${ly_src_dir}/rotate_neon.cc ${ly_src_dir}/rotate_neon.cc
${ly_src_dir}/rotate_neon64.cc
${ly_src_dir}/rotate_gcc.cc ${ly_src_dir}/rotate_gcc.cc
${ly_src_dir}/rotate_win.cc ${ly_src_dir}/rotate_win.cc
${ly_src_dir}/row_any.cc ${ly_src_dir}/row_any.cc
${ly_src_dir}/row_common.cc ${ly_src_dir}/row_common.cc
${ly_src_dir}/row_mips.cc ${ly_src_dir}/row_mips.cc
${ly_src_dir}/row_neon.cc ${ly_src_dir}/row_neon.cc
${ly_src_dir}/row_neon64.cc
${ly_src_dir}/row_gcc.cc ${ly_src_dir}/row_gcc.cc
${ly_src_dir}/row_win.cc ${ly_src_dir}/row_win.cc
${ly_src_dir}/scale.cc ${ly_src_dir}/scale.cc
...@@ -47,6 +50,7 @@ set(ly_source_files ...@@ -47,6 +50,7 @@ set(ly_source_files
${ly_src_dir}/scale_common.cc ${ly_src_dir}/scale_common.cc
${ly_src_dir}/scale_mips.cc ${ly_src_dir}/scale_mips.cc
${ly_src_dir}/scale_neon.cc ${ly_src_dir}/scale_neon.cc
${ly_src_dir}/scale_neon64.cc
${ly_src_dir}/scale_gcc.cc ${ly_src_dir}/scale_gcc.cc
${ly_src_dir}/scale_win.cc ${ly_src_dir}/scale_win.cc
${ly_src_dir}/video_common.cc ${ly_src_dir}/video_common.cc
......
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 1505 Version: 1506
License: BSD License: BSD
License File: LICENSE License File: LICENSE
......
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1505 #define LIBYUV_VERSION 1506
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -33,16 +33,22 @@ ...@@ -33,16 +33,22 @@
}], }],
], ],
}, },
'conditions': [
['build_neon != 0', { 'targets': [
'targets': [ {
# The NEON-specific components. 'target_name': 'libyuv',
{ # Change type to 'shared_library' to build .so or .dll files.
'target_name': 'libyuv_neon', 'type': 'static_library',
'type': 'static_library', 'variables': {
'standalone_static_library': 1, 'optimize': 'max', # enable O2 and ltcg.
# TODO(noahric): This should remove whatever mfpu is set, not },
# just vfpv3-d16. # Allows libyuv.a redistributable library without external dependencies.
'standalone_static_library': 1,
'conditions': [
['build_neon != 0', {
'defines': [
'LIBYUV_NEON',
],
'cflags!': [ 'cflags!': [
'-mfpu=vfp', '-mfpu=vfp',
'-mfpu=vfpv3', '-mfpu=vfpv3',
...@@ -63,42 +69,7 @@ ...@@ -63,42 +69,7 @@
], ],
}], }],
], ],
'include_dirs': [ }],
'include',
'.',
],
'direct_dependent_settings': {
'include_dirs': [
'include',
'.',
],
},
'sources': [
# sources.
'source/compare_neon.cc',
'source/compare_neon64.cc',
'source/rotate_neon.cc',
'source/rotate_neon64.cc',
'source/row_neon.cc',
'source/row_neon64.cc',
'source/scale_neon.cc',
'source/scale_neon64.cc',
],
},
],
}],
],
'targets': [
{
'target_name': 'libyuv',
# Change type to 'shared_library' to build .so or .dll files.
'type': 'static_library',
'variables': {
'optimize': 'max', # enable O2 and ltcg.
},
# Allows libyuv.a redistributable library without external dependencies.
'standalone_static_library': 1,
'conditions': [
['OS != "ios" and libyuv_disable_jpeg != 1', { ['OS != "ios" and libyuv_disable_jpeg != 1', {
'defines': [ 'defines': [
'HAVE_JPEG' 'HAVE_JPEG'
...@@ -123,14 +94,6 @@ ...@@ -123,14 +94,6 @@
}], }],
], ],
}], }],
['build_neon != 0', {
'dependencies': [
'libyuv_neon',
],
'defines': [
'LIBYUV_NEON',
],
}],
# MemorySanitizer does not support assembly code yet. # MemorySanitizer does not support assembly code yet.
# http://crbug.com/344505 # http://crbug.com/344505
[ 'msan == 1', { [ 'msan == 1', {
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
'source/compare.cc', 'source/compare.cc',
'source/compare_common.cc', 'source/compare_common.cc',
'source/compare_gcc.cc', 'source/compare_gcc.cc',
'source/compare_neon.cc',
'source/compare_neon64.cc',
'source/compare_win.cc', 'source/compare_win.cc',
'source/convert.cc', 'source/convert.cc',
'source/convert_argb.cc', 'source/convert_argb.cc',
...@@ -50,20 +52,26 @@ ...@@ -50,20 +52,26 @@
'source/rotate_any.cc', 'source/rotate_any.cc',
'source/rotate_argb.cc', 'source/rotate_argb.cc',
'source/rotate_common.cc', 'source/rotate_common.cc',
'source/rotate_mips.cc',
'source/rotate_gcc.cc', 'source/rotate_gcc.cc',
'source/rotate_mips.cc',
'source/rotate_neon.cc',
'source/rotate_neon64.cc',
'source/rotate_win.cc', 'source/rotate_win.cc',
'source/row_any.cc', 'source/row_any.cc',
'source/row_common.cc', 'source/row_common.cc',
'source/row_mips.cc',
'source/row_gcc.cc', 'source/row_gcc.cc',
'source/row_mips.cc',
'source/row_neon.cc',
'source/row_neon64.cc',
'source/row_win.cc', 'source/row_win.cc',
'source/scale.cc', 'source/scale.cc',
'source/scale_argb.cc',
'source/scale_any.cc', 'source/scale_any.cc',
'source/scale_argb.cc',
'source/scale_common.cc', 'source/scale_common.cc',
'source/scale_mips.cc',
'source/scale_gcc.cc', 'source/scale_gcc.cc',
'source/scale_mips.cc',
'source/scale_neon.cc',
'source/scale_neon64.cc',
'source/scale_win.cc', 'source/scale_win.cc',
'source/video_common.cc', 'source/video_common.cc',
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment