92 Commits

Author SHA1 Message Date
Frank Barchard
0e462e6f45 Remove use_sysroot=0
use_sysroot=0 is required for webrtc on linux intel builds, but
libyuv doesnt use the affected libraries, so removing this.

R=harryjin@google.com, sbc@chromium.org
BUG=libyuv:534,libyuv:542

Review URL: https://codereview.chromium.org/1566303002 .
2016-01-11 14:57:50 -08:00
Frank Barchard
2560df9513 add clang variable for other apps to use
R=dhrosa@google.com
BUG=libyuv:539

Review URL: https://codereview.chromium.org/1557923005 .
2016-01-05 11:47:55 -08:00
Frank Barchard
0f5c7660d1 Disable sysroot for x86 and x64 only
In addition to https://codereview.chromium.org/1526163002
disable sysroot only for x86 and x64.

Keep using sysroot for other archs
due to crosscompiling.

BUG=none
R=fbarchard@chromium.org

Review URL: https://codereview.chromium.org/1536403002 .
2015-12-21 11:41:14 -08:00
Frank Barchard
80ca4514ef change scale down by 4 to use rounding.
TBR=harryjin@google.com
BUG=libyuv:447

Review URL: https://codereview.chromium.org/1525033005 .
2015-12-15 21:25:18 -08:00
Frank Barchard
be984a8b9a Bump chromium version and disable use_sysroot=0
TBR=harryjin@google.com
BUG=libyuv:534

Review URL: https://codereview.chromium.org/1526163002 .
2015-12-15 12:05:32 -08:00
Frank Barchard
2d601aaf34 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 .
2015-10-07 21:16:51 -07:00
Frank Barchard
bb66c021ff Re-enable LLVM LTO on Neon targets.
LTO was disabled due to a GCC compiler bug that does not affect LLVM.
This fixes the build in the cfi_vptr==1 configuration, which requires LLVM LTO.

R=pcc@google.com
BUG=chromium:469376

Review URL: https://webrtc-codereview.appspot.com/57659004.
2015-08-18 15:26:52 -07:00
fbarchard@google.com
7be3bc65a1 enable speed optimization for libyuv
BUG=439
TESTED=out\release\libyuv_unittest --gtest_filter=*I420ToARGB_Opt
R=bcornell@google.com

Review URL: https://webrtc-codereview.appspot.com/55389004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1405 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-11 21:58:42 +00:00
fbarchard@google.com
31c875fe19 enable chromium_code=1 to increase warning level. this will enable the same warnings as when built within chrome, helping avoid breakage in future.
BUG=432
TESTED=local windows build
R=bcornell@google.com

Review URL: https://webrtc-codereview.appspot.com/49839004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1386 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-28 18:43:09 +00:00
yang.zhang@arm.com
1a1cf3f4db Enable NEON functions for ARM32
In init functions, whether the code of NEON initialization is compiled
is decided by macros HAS_XXXX_NEON. These macros HAS_XXXX_NEON are defined
according to __ARM_NEON__/LIBYUV_NEON/__aarch64__. For ARM32, "-mfpu=neon"
isn't passed to the files containing init functions. So __ARM_NEON__ is
undefined which leads to NEON functions are disabled.
In this patch, LIBYUV_NEON is added to enable HAS_XXXX_NEON definition for ARM32.

BUG=none
TESTED=libyuv_unittest on android of ARM32/ARM64
R=fbarchard@google.com

Change-Id: Ib4201e7152d2aeb0ba80d18bbbd0487151e4564e

Review URL: https://webrtc-codereview.appspot.com/32959004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1277 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 08:30:11 +00:00
fbarchard@google.com
c7bd39abae Pass neon option to compiler, not assembler, so ifdefs will work.
BUG=371
TESTED=locally tested by arm
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/32879004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1210 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-12-18 17:24:48 +00:00
fbarchard@google.com
44b8fd363e Pass neon option to assembler but not the compiler. Step 1 of unifying the two libraries back into one.
BUG=371
TESTED=local ios builds ignore the option, but still work.
R=brucedawson@google.com, harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/31719004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1145 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-28 23:15:16 +00:00
zhongwei.yao@arm.com
0eb196f8db clear aarch64 related macro and fix bugs
fix 2 bugs:
 - build bug libyuv.gyp
 - runtime bug in ScaleRowDown38_2_Box_NEON
BUG=
TESTED=libyuv_unittest
R=fbarchard@google.com, fbarchard@chromium.org

Review URL: https://webrtc-codereview.appspot.com/23939004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1117 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-09 02:00:40 +00:00
fbarchard@google.com
bb5cc129e5 For android arm64 dont specify neon flag.
BUG=364
TESTED=try bots
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/25719004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1099 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-30 01:35:56 +00:00
fbarchard@google.com
aec76f2e30 add stride to pointer in C and pass as register to inline.
BUG=357
TESTED=clang on ios
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/29489004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1086 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-19 22:51:39 +00:00
fbarchard@google.com
f7d9b9fb13 change vector range notation to a list of registers for clang compatibility. break compare into 2 neon files for consistency with other neon64 files.
BUG=357
TESTED=local ios build
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/30379004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1085 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-15 23:39:43 +00:00
zhongwei.yao@arm.com
4667addfb8 Add a placeholder file for ARM64 Rotate Neon implementation
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Review URL: https://webrtc-codereview.appspot.com/18189004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1073 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-01 08:50:49 +00:00
fbarchard@google.com
6fb3ed37f5 move lto condition into existing condition statement.
BUG=354
TESTED=gclient runhooks
R=fdegans@chromium.org

Review URL: https://webrtc-codereview.appspot.com/17209004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1062 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-25 19:12:50 +00:00
fbarchard@google.com
c2a78ebf45 Add LTO support for Android Chromium.
BUG=354
This is to add support for a Link-Time Optimizations experiment in Android
Chromium. As it is disabled by default, it won't change anything for most
configurations.

R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/21329004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1061 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-25 18:01:50 +00:00
fbarchard@google.com
0c60052547 For xcode disable pch option so includes will use the .h instead of expecting a .pch.
BUG=none
TESTED=untested
R=noahric@chromium.org

Review URL: https://webrtc-codereview.appspot.com/18239004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1059 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-21 23:30:06 +00:00
zhongwei.yao@arm.com
0ce3733797 Add a placeholder file for ARM64 Scale Neon implementation
BUS=319
TESTED=libyuv_unit_test
R=fbarchard@google.com

Review URL: https://webrtc-codereview.appspot.com/18179004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1051 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-20 02:54:59 +00:00
zhongwei.yao@arm.com
1afdfb3da8 arm64 neon optimization building is enabled
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1042 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-13 03:45:11 +00:00
ashok.bhat@gmail.com
9453f7c494 Add a placeholder file for ARM64 Row Neon implementation
BUG=319
TEST=libyuv_unittest
R=fbarchard@google.com

Change-Id: I9fdc355d285062d32c11dba4e240d32f5b1bcb80
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>

Review URL: https://webrtc-codereview.appspot.com/16249004

Review URL: https://webrtc-codereview.appspot.com/16249004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1041 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-07 13:40:18 +00:00
fbarchard@google.com
455c66b437 Add a gyp define LIBYUV_DISABLE_JPEG to not build jpeg library
BUG=346
TESTED=set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 & python gyp_libyuv -fninja -G msvs_version=2010 libyuv_test.gyp
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/16989004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1038 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-28 21:48:43 +00:00
kjellander@google.com
103427718a Disable assembly optimizations in MemorySanitizer builds.
BUG=chromium:344505, chromium:373739
R=kjellander@google.com, mflodman@chromium.org

Review URL: https://webrtc-codereview.appspot.com/14849004

Patch from Sergey Matveev <earthdok@chromium.org>.

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1028 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-03 18:39:32 +00:00
fbarchard@google.com
c99fa63f6b arm64 initial port using C
BUG=319
TESTED=GYP_DEFINES="OS=ios target_arch=armv7 target_subarch=64" GYP_CROSSCOMPILE=1 GYP_GENERATOR_FLAGS="output_dir=out_ios" ./build/gyp_chromium -f ninja --depth=. libyuv_test.gyp  && ninja -j7 -C out_ios/Debug-iphoneos
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/10909004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@994 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-29 00:19:06 +00:00
fbarchard@google.com
4b3428e7d5 for ios enable neon for arm but not ia32 which is simulator.
BUG=308
TESTED=try bots
R=noahric@google.com

Review URL: https://webrtc-codereview.appspot.com/8059004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@979 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-02-06 00:21:35 +00:00
fbarchard@google.com
9a46283c6d Allow system jpeg to be used instead of libjpeg_turbo.
BUG=56
TESTED=untested
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/7339004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@975 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-18 02:07:16 +00:00
fbarchard@google.com
f5f5bbf8f9 Fix neon builds for ios. libyuv_neon macro is not applicable to neon. its only needed for arm code that is not neon but will link to neon.
BUG=308
TESTED=try bots
R=jzern@chromium.org

Review URL: https://webrtc-codereview.appspot.com/7169005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@973 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-15 03:15:55 +00:00
fbarchard@google.com
d3f1821b47 use arm only to determine if neon should be build
BUG=307
TESTED=try bots
R=yfriedman@chromium.org

Review URL: https://webrtc-codereview.appspot.com/7009005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@971 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-14 01:48:47 +00:00
fbarchard@google.com
252e14a8a5 check target arch is arm for neon code on android
BUG=307
TESTED=untested
R=michaelbai@chromium.org, noahric@chromium.org, yfriedman@chromium.org

Review URL: https://webrtc-codereview.appspot.com/7089005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@970 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-14 01:23:51 +00:00
sergeyu@google.com
0d8da8a372 Compile libyuv for PNaCl.
New target libyuv_untrusted compiles libyuv for PNaCl.

BUG=276739
R=fbarchard@google.com

Review URL: https://webrtc-codereview.appspot.com/6299004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@969 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-14 01:01:19 +00:00
fbarchard@google.com
0ba7b2394b Build 2 libs - one with Neon and one without, then merge them together. Allows for a fat binary that runs on regular arm.
BUG=298
TESTED=untested
R=tomfinegan@chromium.org

Review URL: https://webrtc-codereview.appspot.com/5169005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@951 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-07 01:01:07 +00:00
fbarchard@google.com
31ca87408e Include libjpeg unconditionally
libjpeg/libjpeg.gyp should be used in both local and system libjpeg,
otherwise, header file won't found when build with system libjpeg. see
the comments in third_party/libjpeg/libjpeg.gyp

BUG=chromium:316499
R=michaelbai@chromium.org

Review URL: https://webrtc-codereview.appspot.com/5709004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@912 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-13 00:25:28 +00:00
fbarchard@google.com
d0a4b4ac01 Switch I4xxToI420 to point sample to pass drmemory.
BUG=289
TESTED=drmemory
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/4809004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@886 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 07:00:11 +00:00
fbarchard@google.com
dbe4814361 Move scale row functions to scale_win etc
BUG=none
TEST=untested
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/4509005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@879 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-28 01:16:15 +00:00
fbarchard@google.com
49bbc1b4f3 Move vertical scaler to common code.
BUG=260
TEST=unittests build/run
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/2123004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@773 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-27 16:32:22 +00:00
fbarchard@google.com
a18ba50d23 Remove blank lint from OWNERS. Move FixedDiv into row functions to avoid changing build files.
BUG=none
TEST=none
R=johannkoenig@google.com

Review URL: https://webrtc-codereview.appspot.com/1680004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@730 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 23:04:13 +00:00
fbarchard@google.com
b3a08b3e05 include lint warning fixes
BUG=none
TEST=lint
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1676004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@728 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 16:37:39 +00:00
fbarchard@google.com
f2f9dbb644 FixedDiv function in C and benchmark
BUG=none
TEST=FixedDiv*
R=johannkoenig@google.com

Review URL: https://webrtc-codereview.appspot.com/1668004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@727 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-15 21:10:19 +00:00
fbarchard@google.com
4154163e20 make the lib self contained .a files
BUG=none
TEST=try
Review URL: https://webrtc-codereview.appspot.com/1380004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@682 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-01 19:14:28 +00:00
fbarchard@google.com
8c8cf8d707 Move convert_to_argb and MJPGToARGB to isolated files. Move ValidateJPeg to its own file. Allows jpeg to be not linked in for more applications.
BUG=212
TESTED=manual test by removing mjpeg_decode.cc from gyp file and built/ran unittests
Review URL: https://webrtc-codereview.appspot.com/1310007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@656 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-11 16:34:24 +00:00
fbarchard@google.com
492768cbca isolate jpeg to convert_jpeg and call from convert_to_i420
BUG=212
TESTED=manually tested
Review URL: https://webrtc-codereview.appspot.com/1309004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@653 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-09 23:00:56 +00:00
fbarchard@google.com
5ff0e973a9 Disable JPEG for IOS
BUG=212
TESTED=Windows built/ran and did not run jpeg unittest out\release\libyuv_unittest --gtest_filter=*J*
Review URL: https://webrtc-codereview.appspot.com/1280005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@638 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-03 22:51:42 +00:00
fbarchard@google.com
f4951e7aee gcc scale fix and change tabs to spaces in gyps
BUG=177
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1120009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@587 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-28 04:48:17 +00:00
fbarchard@google.com
155c76161a Add comments to gyp showing what the macros are for.
BUG=189
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1113007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@586 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-28 00:05:18 +00:00
fbarchard@google.com
83a63e65a6 Change YUV_DISABLE_ASM to LIBYUV_DISABLE_NEON, LIBYUV_DISABLE_MIPS, LIBYUV_DISABLE_X86
BUG=189
TESTED=try
Review URL: https://webrtc-codereview.appspot.com/1113006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@582 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 00:20:29 +00:00
fbarchard@google.com
c22cd5b209 Mips memcpy moved to row_mips.
BUG=191
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1127005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@580 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-23 09:39:56 +00:00
fbarchard@google.com
cde587092f Replace two spaces with one after .
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1063010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@553 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:02:35 +00:00
fbarchard@google.com
cb5262dbc5 scale by even amounts using Neon
BUG=156
TEST=./libyuv_unittest --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/930019

git-svn-id: http://libyuv.googlecode.com/svn/trunk@492 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-16 01:41:35 +00:00