mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-08 09:47:45 +08:00
A hang in color conversion on arm occurs somewhere in yuv to rgb. Breaking the color test into its own category of test will help run selective tests to narrow down the issue. R=harryjin@google.com BUG=libyuv:506 Review URL: https://codereview.chromium.org/1405543003 .
212 lines
6.0 KiB
Python
212 lines
6.0 KiB
Python
# Copyright 2011 The LibYuv Project Authors. All rights reserved.
|
|
#
|
|
# 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
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
{
|
|
'variables': {
|
|
'libyuv_disable_jpeg%': 0,
|
|
'libyuv_enable_svn%': 0,
|
|
},
|
|
'targets': [
|
|
{
|
|
'target_name': 'libyuv_unittest',
|
|
'type': '<(gtest_target_type)',
|
|
'dependencies': [
|
|
'libyuv.gyp:libyuv',
|
|
'testing/gtest.gyp:gtest',
|
|
],
|
|
'defines': [
|
|
# 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',
|
|
],
|
|
'sources': [
|
|
# headers
|
|
'unit_test/unit_test.h',
|
|
|
|
# sources
|
|
'unit_test/basictypes_test.cc',
|
|
'unit_test/compare_test.cc',
|
|
'unit_test/color_test.cc',
|
|
'unit_test/convert_test.cc',
|
|
'unit_test/cpu_test.cc',
|
|
'unit_test/math_test.cc',
|
|
'unit_test/planar_test.cc',
|
|
'unit_test/rotate_argb_test.cc',
|
|
'unit_test/rotate_test.cc',
|
|
'unit_test/scale_argb_test.cc',
|
|
'unit_test/scale_test.cc',
|
|
'unit_test/unit_test.cc',
|
|
'unit_test/video_common_test.cc',
|
|
'unit_test/version_test.cc',
|
|
],
|
|
'conditions': [
|
|
[ 'libyuv_enable_svn == 1', {
|
|
'defines': [
|
|
'LIBYUV_SVNREVISION="<!(svnversion -n)"',
|
|
],
|
|
}],
|
|
['OS=="linux"', {
|
|
'cflags': [
|
|
'-fexceptions',
|
|
],
|
|
}],
|
|
[ 'OS == "ios" and target_subarch == 64', {
|
|
'defines': [
|
|
'LIBYUV_DISABLE_NEON'
|
|
],
|
|
}],
|
|
[ 'OS == "ios"', {
|
|
'xcode_settings': {
|
|
'DEBUGGING_SYMBOLS': 'YES',
|
|
'DEBUG_INFORMATION_FORMAT' : 'dwarf-with-dsym',
|
|
},
|
|
}],
|
|
[ 'OS != "ios" and libyuv_disable_jpeg != 1', {
|
|
'defines': [
|
|
'HAVE_JPEG',
|
|
],
|
|
}],
|
|
['OS=="android"', {
|
|
'dependencies': [
|
|
'<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
|
|
],
|
|
}],
|
|
# TODO(YangZhang): These lines can be removed when high accuracy
|
|
# YUV to RGB to Neon is ported.
|
|
[ '(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)', {
|
|
'defines': [
|
|
'LIBYUV_NEON'
|
|
],
|
|
}],
|
|
], # conditions
|
|
},
|
|
|
|
{
|
|
'target_name': 'compare',
|
|
'type': 'executable',
|
|
'dependencies': [
|
|
'libyuv.gyp:libyuv',
|
|
],
|
|
'sources': [
|
|
# sources
|
|
'util/compare.cc',
|
|
],
|
|
'conditions': [
|
|
['OS=="linux"', {
|
|
'cflags': [
|
|
'-fexceptions',
|
|
],
|
|
}],
|
|
], # conditions
|
|
},
|
|
{
|
|
'target_name': 'convert',
|
|
'type': 'executable',
|
|
'dependencies': [
|
|
'libyuv.gyp:libyuv',
|
|
],
|
|
'sources': [
|
|
# sources
|
|
'util/convert.cc',
|
|
],
|
|
'conditions': [
|
|
['OS=="linux"', {
|
|
'cflags': [
|
|
'-fexceptions',
|
|
],
|
|
}],
|
|
], # conditions
|
|
},
|
|
# TODO(fbarchard): Enable SSE2 and OpenMP for better performance.
|
|
{
|
|
'target_name': 'psnr',
|
|
'type': 'executable',
|
|
'sources': [
|
|
# sources
|
|
'util/psnr_main.cc',
|
|
'util/psnr.cc',
|
|
'util/ssim.cc',
|
|
],
|
|
'dependencies': [
|
|
'libyuv.gyp:libyuv',
|
|
],
|
|
'conditions': [
|
|
[ 'OS == "ios" and target_subarch == 64', {
|
|
'defines': [
|
|
'LIBYUV_DISABLE_NEON'
|
|
],
|
|
}],
|
|
|
|
[ 'OS != "ios" and libyuv_disable_jpeg != 1', {
|
|
'defines': [
|
|
'HAVE_JPEG',
|
|
],
|
|
}],
|
|
], # conditions
|
|
},
|
|
|
|
{
|
|
'target_name': 'cpuid',
|
|
'type': 'executable',
|
|
'sources': [
|
|
# sources
|
|
'util/cpuid.c',
|
|
],
|
|
'dependencies': [
|
|
'libyuv.gyp:libyuv',
|
|
],
|
|
},
|
|
], # targets
|
|
'conditions': [
|
|
['OS=="android"', {
|
|
'targets': [
|
|
{
|
|
# TODO(kjellander): Figure out what to change in build/apk_test.gypi
|
|
# to it can be used instead of the copied code below. Using it in its
|
|
# current version was not possible, since the target starts with 'lib',
|
|
# which somewhere confuses the variables.
|
|
'target_name': 'libyuv_unittest_apk',
|
|
'type': 'none',
|
|
'variables': {
|
|
# These are used to configure java_apk.gypi included below.
|
|
'test_type': 'gtest',
|
|
'apk_name': 'libyuv_unittest',
|
|
'intermediate_dir': '<(PRODUCT_DIR)/libyuv_unittest_apk',
|
|
'final_apk_path': '<(intermediate_dir)/libyuv_unittest-debug.apk',
|
|
'java_in_dir': '<(DEPTH)/testing/android/native_test/java',
|
|
'native_lib_target': 'libyuv_unittest',
|
|
'gyp_managed_install': 0,
|
|
},
|
|
'includes': [ 'build/java_apk.gypi' ],
|
|
'dependencies': [
|
|
'<(DEPTH)/base/base.gyp:base_java',
|
|
'<(DEPTH)/build/android/pylib/device/commands/commands.gyp:chromium_commands',
|
|
'<(DEPTH)/build/android/pylib/remote/device/dummy/dummy.gyp:remote_device_dummy_apk',
|
|
'<(DEPTH)/testing/android/appurify_support.gyp:appurify_support_java',
|
|
'<(DEPTH)/testing/android/on_device_instrumentation.gyp:reporter_java',
|
|
'<(DEPTH)/tools/android/android_tools.gyp:android_tools',
|
|
'libyuv_unittest',
|
|
],
|
|
},
|
|
],
|
|
}],
|
|
],
|
|
}
|
|
|
|
# Local Variables:
|
|
# tab-width:2
|
|
# indent-tabs-mode:nil
|
|
# End:
|
|
# vim: set expandtab tabstop=2 shiftwidth=2:
|