aboutsummaryrefslogtreecommitdiff
path: root/files/libyuv.gyp
diff options
context:
space:
mode:
authorHangyu Kuang <hkuang@google.com>2016-07-06 14:21:45 -0700
committerHangyu Kuang <hkuang@google.com>2016-07-08 09:51:10 -0700
commitf047e7ca6983218eed7703c7afd51fed7bd3b5c9 (patch)
tree2667579566b6270c21ee4b495b4cd119af5ccf5b /files/libyuv.gyp
parentbb74e3e19b98261031216de8cadcef34cccd9e4a (diff)
downloadlibyuv-f047e7ca6983218eed7703c7afd51fed7bd3b5c9.tar.gz
Update libyuv to r1602 version to get best performance.android-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-7.1.2_r9android-7.1.2_r8android-7.1.2_r6android-7.1.2_r5android-7.1.2_r4android-7.1.2_r39android-7.1.2_r38android-7.1.2_r37android-7.1.2_r36android-7.1.2_r33android-7.1.2_r32android-7.1.2_r30android-7.1.2_r3android-7.1.2_r29android-7.1.2_r28android-7.1.2_r27android-7.1.2_r25android-7.1.2_r24android-7.1.2_r23android-7.1.2_r2android-7.1.2_r19android-7.1.2_r18android-7.1.2_r17android-7.1.2_r16android-7.1.2_r15android-7.1.2_r14android-7.1.2_r13android-7.1.2_r12android-7.1.2_r11android-7.1.2_r10android-7.1.2_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r61android-7.1.1_r60android-7.1.1_r6android-7.1.1_r59android-7.1.1_r58android-7.1.1_r57android-7.1.1_r56android-7.1.1_r55android-7.1.1_r54android-7.1.1_r53android-7.1.1_r52android-7.1.1_r51android-7.1.1_r50android-7.1.1_r49android-7.1.1_r48android-7.1.1_r47android-7.1.1_r46android-7.1.1_r45android-7.1.1_r44android-7.1.1_r43android-7.1.1_r42android-7.1.1_r41android-7.1.1_r40android-7.1.1_r4android-7.1.1_r39android-7.1.1_r38android-7.1.1_r35android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1android-7.1.0_r7android-7.1.0_r6android-7.1.0_r5android-7.1.0_r4android-7.1.0_r3android-7.1.0_r2android-7.1.0_r1nougat-mr2.3-releasenougat-mr2.2-releasenougat-mr2.1-releasenougat-mr2-security-releasenougat-mr2-releasenougat-mr2-pixel-releasenougat-mr2-devnougat-mr1.8-releasenougat-mr1.7-releasenougat-mr1.6-releasenougat-mr1.5-releasenougat-mr1.4-releasenougat-mr1.3-releasenougat-mr1.2-releasenougat-mr1.1-releasenougat-mr1-volantis-releasenougat-mr1-security-releasenougat-mr1-releasenougat-mr1-flounder-releasenougat-mr1-devnougat-mr1-cts-releasenougat-dr1-release
Bug: 29870647 Change-Id: I8ec9fab7f55765fa33ebe7ba1c7ad2147f418de2
Diffstat (limited to 'files/libyuv.gyp')
-rw-r--r--files/libyuv.gyp165
1 files changed, 110 insertions, 55 deletions
diff --git a/files/libyuv.gyp b/files/libyuv.gyp
index 18137538..db4b5490 100644
--- a/files/libyuv.gyp
+++ b/files/libyuv.gyp
@@ -3,34 +3,116 @@
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS. All contributing project authors may
+# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
+ 'includes': [
+ 'libyuv.gypi',
+ ],
+ # Make sure that if we are being compiled to an xcodeproj, nothing tries to
+ # include a .pch.
+ 'xcode_settings': {
+ 'GCC_PREFIX_HEADER': '',
+ 'GCC_PRECOMPILE_PREFIX_HEADER': 'NO',
+ },
'variables': {
- 'use_system_libjpeg%': 0,
+ 'use_system_libjpeg%': 0,
+ 'libyuv_disable_jpeg%': 0,
+ # 'chromium_code' treats libyuv as internal and increases warning level.
+ 'chromium_code': 1,
+ # clang compiler default variable usable by other apps that include libyuv.
+ 'clang%': 0,
+ # Link-Time Optimizations.
+ 'use_lto%': 0,
+ 'build_neon': 0,
+ 'conditions': [
+ ['(target_arch == "armv7" or target_arch == "armv7s" or \
+ (target_arch == "arm" and arm_version >= 7) or target_arch == "arm64")\
+ and (arm_neon == 1 or arm_neon_optional == 1)',
+ {
+ 'build_neon': 1,
+ }],
+ ],
},
+
'targets': [
{
'target_name': 'libyuv',
+ # Change type to 'shared_library' to build .so or .dll files.
'type': 'static_library',
- # 'type': 'shared_library',
+ 'variables': {
+ 'optimize': 'max', # enable O2 and ltcg.
+ },
+ # Allows libyuv.a redistributable library without external dependencies.
+ 'standalone_static_library': 1,
'conditions': [
- ['use_system_libjpeg==0', {
- 'dependencies': [
- '<(DEPTH)/third_party/libjpeg_turbo/libjpeg.gyp:libjpeg',
+ # Disable -Wunused-parameter
+ ['clang == 1', {
+ 'cflags': [
+ '-Wno-unused-parameter',
+ ],
+ }],
+ ['build_neon != 0', {
+ 'defines': [
+ 'LIBYUV_NEON',
+ ],
+ 'cflags!': [
+ '-mfpu=vfp',
+ '-mfpu=vfpv3',
+ '-mfpu=vfpv3-d16',
+ # '-mthumb', # arm32 not thumb
+ ],
+ 'conditions': [
+ # Disable LTO in libyuv_neon target due to gcc 4.9 compiler bug.
+ ['clang == 0 and use_lto == 1', {
+ 'cflags!': [
+ '-flto',
+ '-ffat-lto-objects',
+ ],
+ }],
+ # arm64 does not need -mfpu=neon option as neon is not optional
+ ['target_arch != "arm64"', {
+ 'cflags': [
+ '-mfpu=neon',
+ # '-marm', # arm32 not thumb
+ ],
+ }],
],
- }, {
- 'link_settings': {
- 'libraries': [
- '-ljpeg',
- ],
- },
}],
- ],
+ ['OS != "ios" and libyuv_disable_jpeg != 1', {
+ 'defines': [
+ 'HAVE_JPEG'
+ ],
+ 'conditions': [
+ # Caveat system jpeg support may not support motion jpeg
+ [ 'use_system_libjpeg == 1', {
+ 'dependencies': [
+ '<(DEPTH)/third_party/libjpeg/libjpeg.gyp:libjpeg',
+ ],
+ }, {
+ 'dependencies': [
+ '<(DEPTH)/third_party/libjpeg_turbo/libjpeg.gyp:libjpeg',
+ ],
+ }],
+ [ 'use_system_libjpeg == 1', {
+ 'link_settings': {
+ 'libraries': [
+ '-ljpeg',
+ ],
+ }
+ }],
+ ],
+ }],
+ ], #conditions
'defines': [
- 'HAVE_JPEG',
- # 'LIBYUV_BUILDING_SHARED_LIBRARY',
+ # Enable the following 3 macros to turn off assembly for specified CPU.
+ # 'LIBYUV_DISABLE_X86',
+ # 'LIBYUV_DISABLE_NEON',
+ # 'LIBYUV_DISABLE_MIPS',
+ # Enable the following macro to build libyuv as a shared library (dll).
+ # 'LIBYUV_USING_SHARED_LIBRARY',
+ # TODO(fbarchard): Make these into gyp defines.
],
'include_dirs': [
'include',
@@ -41,48 +123,21 @@
'include',
'.',
],
+ 'conditions': [
+ ['OS == "android" and target_arch == "arm64"', {
+ 'ldflags': [
+ '-Wl,--dynamic-linker,/system/bin/linker64',
+ ],
+ }],
+ ['OS == "android" and target_arch != "arm64"', {
+ 'ldflags': [
+ '-Wl,--dynamic-linker,/system/bin/linker',
+ ],
+ }],
+ ], #conditions
},
'sources': [
- # includes.
- 'include/libyuv.h',
- 'include/libyuv/basic_types.h',
- 'include/libyuv/compare.h',
- 'include/libyuv/convert.h',
- 'include/libyuv/convert_argb.h',
- 'include/libyuv/convert_from.h',
- 'include/libyuv/cpu_id.h',
- 'include/libyuv/format_conversion.h',
- 'include/libyuv/mjpeg_decoder.h',
- 'include/libyuv/planar_functions.h',
- 'include/libyuv/rotate.h',
- 'include/libyuv/rotate_argb.h',
- 'include/libyuv/row.h',
- 'include/libyuv/scale.h',
- 'include/libyuv/scale_argb.h',
- 'include/libyuv/version.h',
- 'include/libyuv/video_common.h',
-
- # sources.
- 'source/compare.cc',
- 'source/compare_neon.cc',
- 'source/convert.cc',
- 'source/convert_argb.cc',
- 'source/convert_from.cc',
- 'source/cpu_id.cc',
- 'source/format_conversion.cc',
- 'source/mjpeg_decoder.cc',
- 'source/planar_functions.cc',
- 'source/rotate.cc',
- 'source/rotate_argb.cc',
- 'source/rotate_neon.cc',
- 'source/row_common.cc',
- 'source/row_neon.cc',
- 'source/row_posix.cc',
- 'source/row_win.cc',
- 'source/scale.cc',
- 'source/scale_neon.cc',
- 'source/scale_argb.cc',
- 'source/video_common.cc',
+ '<@(libyuv_sources)',
],
},
], # targets.