99 Commits

Author SHA1 Message Date
Frank Barchard
e75fcb03e5 Roll libyuv chromium deps to same as webrtc jun8
contains the following changes in chromium:
2d938c84..7fa6701b

R=kjellander@chromium.org
TBR=kjellander@chromium.org
BUG=libyuv:626

Review URL: https://codereview.chromium.org/2183633002 .
2016-08-02 14:42:33 -07:00
Frank Barchard
e497bc8b1a Revert "roll chromium same as webrtc jun9"
This reverts commit a817c1524013e06a9175fcd8132bfb86836bcc33.

TBR=kjellander@chromium.org
BUG=libyuv:626, webrtc:5990

Review URL: https://codereview.chromium.org/2161923003 .
2016-07-19 11:28:25 -07:00
Frank Barchard
a817c15240 roll chromium same as webrtc jun9
contains the following changes in chromium:
aa5126ff..7fa6701b

some trybot scripts failing.  build bots green before roll.  Will see if commit causes build bot failure.

TBR=kjellander@chromium.org
BUG=libyuv:626

Review URL: https://codereview.chromium.org/2146073004 .
2016-07-18 15:41:35 -07:00
Frank Barchard
6546096269 ARGBExtractAlpha 16 pixels at a time for ARM
arm64   8     TestARGBExtractAlpha (10019 ms) <-original 64 bit code
arm64   8 x2  TestARGBExtractAlpha (7639 ms)
arm64   16    TestARGBExtractAlpha (7369 ms) <- new 64 bit code
thumb32 8     TestARGBExtractAlpha (9505 ms) <- original 32 bit code
thumb32 8 x2  TestARGBExtractAlpha (7400 ms)
thumb32 8 x2i TestARGBExtractAlpha (7266 ms) <- new 32 bit code
arm32   8     TestARGBExtractAlpha (10002 ms)

BUG=libyuv:572
TESTED=local test on nexus 9
R=harryjin@google.com, wangcheng@google.com

Review URL: https://codereview.chromium.org/2035573002 .
2016-06-07 10:44:28 -07:00
Frank Barchard
2c77dbb976 disable unused argument warning for clang builds.
normally this warning is disabled but for nacl builds that
use clang its not.  this CL makes the option universally disabled
for all clang based builds.

BUG=libyuv:581
TESTED=native_client/build/gyp_nacl all.gyp -Dgtest_target_type=executable -Dmsan=0 & ninja -C out/Debug libyuv
R=kjellander@chromium.org

Review URL: https://codereview.chromium.org/1865183002 .
2016-04-11 11:43:08 -07:00
Frank Barchard
837aa1e2af disable assembly in header for msan=1
GYP_DEFINES="target_arch=x64 msan=1" ./gyp_libyuv
ninja -j7 -C out/Release

R=impjdi@google.com
BUG=libyuv:575

Review URL: https://codereview.chromium.org/1805683003 .
2016-03-15 18:45:38 -07:00
Frank Barchard
6ea3755330 add 'LIBYUV_DISABLE_X86' to msan for unittests
R=harryjin@google.com
BUG=libyuv:564

Review URL: https://codereview.chromium.org/1685723002 .
2016-02-09 11:57:03 -08:00
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