external/libyuv.git
3 hours agoOptimize I422ToRGBA for AVX2 by hoisting ymm5 initialization and using different... master
fbarchard@google.com [Wed, 22 Oct 2014 23:39:16 +0000 (23:39 +0000)]
Optimize I422ToRGBA for AVX2 by hoisting ymm5 initialization and using different register for output of unpack.
BUG=269
TESTED=intelsde on I422ToABGR
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1137 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 hours agoPort I422ToRGBA to AVX.
fbarchard@google.com [Wed, 22 Oct 2014 22:41:39 +0000 (22:41 +0000)]
Port I422ToRGBA to AVX.
BUG=269
TESTED=intelsde on I422ToRGBA
R=brucedawson@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1136 16f28f9a-4ce2-e073-06de-1de4eb20be90

25 hours agoReenable AVX2 scaling with bug fix for any width
fbarchard@google.com [Wed, 22 Oct 2014 01:15:20 +0000 (01:15 +0000)]
Reenable AVX2 scaling with bug fix for any width
BUG=376
TESTED=unittest on scale functions
R=brucedawson@google.com, harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1135 16f28f9a-4ce2-e073-06de-1de4eb20be90

27 hours agoDisable AVX2 version of bilinear filter used for scaling.
fbarchard@google.com [Tue, 21 Oct 2014 23:10:16 +0000 (23:10 +0000)]
Disable AVX2 version of bilinear filter used for scaling.
BUG=376
TESTED=d:\src\libyuv\trunk>c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_filter=libyuvTest.ScaleTo569x480_Bilinear
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1134 16f28f9a-4ce2-e073-06de-1de4eb20be90

28 hours agoUse macros to simplify I422ToARGB for AVX code.
fbarchard@google.com [Tue, 21 Oct 2014 22:48:32 +0000 (22:48 +0000)]
Use macros to simplify I422ToARGB for AVX code.
BUG=269
TESTED=local build with Visual C
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1133 16f28f9a-4ce2-e073-06de-1de4eb20be90

31 hours agoChange I422ToARGB_AVX2 register usage to match SSSE3. ymm0 = B, ymm1 = G, ymm2 = R.
fbarchard@google.com [Tue, 21 Oct 2014 19:02:06 +0000 (19:02 +0000)]
Change I422ToARGB_AVX2 register usage to match SSSE3.  ymm0 = B, ymm1 = G, ymm2 = R.
BUG=269
TESTED=intelsde passes on unittests.
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1132 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 days agogcc version of I422ToBGRA_AVX2. Original copied from https://webrtc-codereview.appsp...
fbarchard@google.com [Tue, 21 Oct 2014 02:18:11 +0000 (02:18 +0000)]
gcc version of I422ToBGRA_AVX2.  Original copied from https://webrtc-codereview.appspot.com/28729004/ and compatible with, but unrelated to windows version.
BUG=269
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1131 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 days agoremove ppapi/c/pp_macros.h dependency and assume m37 is available.
fbarchard@google.com [Mon, 20 Oct 2014 23:54:14 +0000 (23:54 +0000)]
remove ppapi/c/pp_macros.h dependency and assume m37 is available.
BUG=374
TESTED=untested
R=nfullagar@chromium.org, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1130 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 days agoport I420ToBGRA to AVX2.
fbarchard@google.com [Mon, 20 Oct 2014 19:35:55 +0000 (19:35 +0000)]
port I420ToBGRA to AVX2.
BUG=269
TESTED=c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*I420ToBGRA*
R=brucedawson@google.com, harryjin@google.com, magjed@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1127 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 days agoNeon does 8 at a time, so a check is added for any function of I422ToBGRA that width...
fbarchard@google.com [Mon, 20 Oct 2014 18:39:21 +0000 (18:39 +0000)]
Neon does 8 at a time, so a check is added for any function of I422ToBGRA that width is >= 8 and for fast path that it is a multiple of 8 not 16.
BUG=373
TESTED=untested
R=brucedawson@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1126 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 days agoOffset destination by 1 for I420ToARGB_Unaligned test to ensure destination alignment...
fbarchard@google.com [Fri, 17 Oct 2014 01:18:02 +0000 (01:18 +0000)]
Offset destination by 1 for I420ToARGB_Unaligned test to ensure destination alignment avoids exceptions.
BUG=372
TESTED=out\release_x64\libyuv_unittest --gtest_catch_exceptions=0 --gtest_filter=*I420ToARGB_Unaligned
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1125 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 days agoswitch win64 intrinsics to loadu / storeu for unaligned memory.
fbarchard@google.com [Thu, 16 Oct 2014 23:46:48 +0000 (23:46 +0000)]
switch win64 intrinsics to loadu / storeu for unaligned memory.
BUG=372
TESTED=untested
R=brucedawson@google.com, harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1124 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 days agoFix for r1122 to change back to elif for rotate build error on Mac.
fbarchard@google.com [Thu, 16 Oct 2014 22:21:48 +0000 (22:21 +0000)]
Fix for r1122 to change back to elif for rotate build error on Mac.
BUG=268
TESTED=try bot
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1123 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 days agoChange elif to endif and if to allow AVX2 as well as SSE2 in future changes instead...
fbarchard@google.com [Thu, 16 Oct 2014 20:47:22 +0000 (20:47 +0000)]
Change elif to endif and if to allow AVX2 as well as SSE2 in future changes instead of one or the other.
BUG=none
TESTED=try bots
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1122 16f28f9a-4ce2-e073-06de-1de4eb20be90

9 days agoCopy width to 64 bit register to work around clang 3.4 warning
fbarchard@google.com [Mon, 13 Oct 2014 23:26:17 +0000 (23:26 +0000)]
Copy width to 64 bit register to work around clang 3.4 warning
BUG=none
TESTED=local ios 64 bit build completes without size warnings on xcode 5.1.1
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1120 16f28f9a-4ce2-e073-06de-1de4eb20be90

9 days agoRoll chromium deps to match webrtc from 455c66b4375d72984b79249616d0a708ad568894...
fbarchard@google.com [Mon, 13 Oct 2014 19:47:46 +0000 (19:47 +0000)]
Roll chromium deps to match webrtc from 455c66b4375d72984b79249616d0a708ad568894 to 4d46be3930146bf9bdff7c17545c5d47361d3a80.
BUG=none
TESTED=try bots
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1119 16f28f9a-4ce2-e073-06de-1de4eb20be90

13 days agoDeclare CopyRow_AVX as using xmm usage, not ymm. Should resolve chromium build error...
fbarchard@google.com [Thu, 9 Oct 2014 17:54:43 +0000 (17:54 +0000)]
Declare CopyRow_AVX as using xmm usage, not ymm. Should resolve chromium build error for Android Atom.
BUG=libyuv:369
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1118 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoclear aarch64 related macro and fix bugs
zhongwei.yao@arm.com [Thu, 9 Oct 2014 02:00:40 +0000 (02:00 +0000)]
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

2 weeks agoUse movdqu then pavgb to allow unaligned memory for rgb subsampling code. Allows...
fbarchard@google.com [Tue, 7 Oct 2014 19:47:06 +0000 (19:47 +0000)]
Use movdqu then pavgb to allow unaligned memory for rgb subsampling code.  Allows this assembly to be used for unaligned pointers as well as aligned ones with no performance hit when memory is aligned on a modern cpu.
BUG=365
TESTED=libyuvTest.ARGBToI420_Unaligned (453 ms)
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1116 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoifdefs for UV functions to resolve link error on osx
fbarchard@google.com [Tue, 7 Oct 2014 17:24:14 +0000 (17:24 +0000)]
ifdefs for UV functions to resolve link error on osx
BUG=365
TESTED=mac local build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1115 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agopavgb with memory op requires alignment. This CL disables conversions that use pavgb...
fbarchard@google.com [Tue, 7 Oct 2014 01:57:34 +0000 (01:57 +0000)]
pavgb with memory op requires alignment.  This CL disables conversions that use pavgb, and resolves scale by 3/8 unittest for checking alignment works.  The 3/8 code used a pavgb with a memory operand.  tests are added for scaling and allow unaligning on purpose.
BUG=365
TESTED=local change to force unaligned memory fails on some conversions and scaling code.
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1114 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoRemove unaligned functions, since most function support unaligned memory now. This...
fbarchard@google.com [Tue, 7 Oct 2014 00:59:31 +0000 (00:59 +0000)]
Remove unaligned functions, since most function support unaligned memory now.  This reduces complexity and improves performance for unaligned cases because C code can be avoided, and overhead is less.  Downside is old cpus (core2 and earlier) will be slower for aligned memory case. Except mips, which has alignment requirement, but remove unaligned variant.
BUG=365
TESTED=unittest builds and passes locally
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1113 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agocmake fix to make build compatible with Windows builds.
fbarchard@google.com [Mon, 6 Oct 2014 19:34:22 +0000 (19:34 +0000)]
cmake fix to make build compatible with Windows builds.
BUG=366
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1112 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoMake row functions used for planarfunctions and convert use movdqu to relax alignment...
fbarchard@google.com [Fri, 3 Oct 2014 21:11:37 +0000 (21:11 +0000)]
Make row functions used for planarfunctions and convert use movdqu to relax alignment constraint.  Step 1 - make functions unaligned.
BUG=365
TESTED=libyuv_unittest passes
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1111 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoRow AArch64 Neon implementation - Part 8
ashok.bhat@gmail.com [Fri, 3 Oct 2014 18:10:05 +0000 (18:10 +0000)]
Row AArch64 Neon implementation - Part 8

BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: If30eb2d255a09dece9d216a9d29317dd748ef496
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/22769004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1109 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoscale use movdqu for posix
fbarchard@google.com [Fri, 3 Oct 2014 18:03:10 +0000 (18:03 +0000)]
scale use movdqu for posix
BUG=367
TESTED=libyuvTest.I444ToI420_Unaligned
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1108 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoInterpolateRow used for scale handle unaligned memory. Remove HalfRow which is not...
fbarchard@google.com [Fri, 3 Oct 2014 17:37:11 +0000 (17:37 +0000)]
InterpolateRow used for scale handle unaligned memory.  Remove HalfRow which is not used.
BUG=367
TESTED=unittest on I422ToI420
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1107 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoMove AVX code to conditionals used for AVX2 to require newer compiler.
fbarchard@google.com [Thu, 2 Oct 2014 20:55:22 +0000 (20:55 +0000)]
Move AVX code to conditionals used for AVX2 to require newer compiler.
BUG=367
TESTED=try bots
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1105 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agocmake file for libyuv and remove -o from linux.mk for osx support.
fbarchard@google.com [Thu, 2 Oct 2014 19:44:10 +0000 (19:44 +0000)]
cmake file for libyuv and remove -o from linux.mk for osx support.
BUG=366
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1104 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 weeks agoMake rotate SIMD allow unaligned pointers.
fbarchard@google.com [Thu, 2 Oct 2014 17:56:48 +0000 (17:56 +0000)]
Make rotate SIMD allow unaligned pointers.
BUG=365
TESTED=libyuv_unittest
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1102 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoChange scale to unaligned movdqu.
fbarchard@google.com [Wed, 1 Oct 2014 01:16:04 +0000 (01:16 +0000)]
Change scale to unaligned movdqu.
BUG=365
TESTED=scale unittests
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1101 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoRemove alignment constraint for SSE2. Allows the optimized function to be used with...
fbarchard@google.com [Tue, 30 Sep 2014 18:53:34 +0000 (18:53 +0000)]
Remove alignment constraint for SSE2. Allows the optimized function to be used with unaligned memory, improving performance in that use case.  Hurts performance on core2 and prior where memory was faster with movdqa instruction.
BUG=365
TESTED=psnr, ssim and djb2 unittests pass.
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1100 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoFor android arm64 dont specify neon flag.
fbarchard@google.com [Tue, 30 Sep 2014 01:35:56 +0000 (01:35 +0000)]
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

3 weeks agoport/fix CopyRow_AVX to gcc
fbarchard@google.com [Tue, 30 Sep 2014 00:39:41 +0000 (00:39 +0000)]
port/fix CopyRow_AVX to gcc
BUG=363
TESTED=osx build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1098 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoCopyRow_AVX which supports unaligned pointers for Sandy Bridge CPU.
fbarchard@google.com [Mon, 29 Sep 2014 23:53:18 +0000 (23:53 +0000)]
CopyRow_AVX which supports unaligned pointers for Sandy Bridge CPU.
BUG=363
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToARGB_*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1097 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoRow AArch64 Neon implementation - Part 11
ashok.bhat@gmail.com [Mon, 29 Sep 2014 18:10:20 +0000 (18:10 +0000)]
Row AArch64 Neon implementation - Part 11
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: Id187c5cbdbbb5570598eb9fcd9c3d6699e175f03
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/24759004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1096 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoRemove __ARM_NEON__ define check for AArch64
ashok.bhat@gmail.com [Mon, 29 Sep 2014 09:40:37 +0000 (09:40 +0000)]
Remove __ARM_NEON__ define check for AArch64

BUG=319
TESTED=local build
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1095 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoRename GN public variables.
brettw@google.com [Fri, 26 Sep 2014 21:46:47 +0000 (21:46 +0000)]
Rename GN public variables.

direct_dependent_configs => public_configs
Code review: https://webrtc-codereview.appspot.com/22749004/
R=fbarchard

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1094 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoRow AArch64444 Neon implementation - Part 10
ashok.bhat@gmail.com [Fri, 26 Sep 2014 12:40:57 +0000 (12:40 +0000)]
Row AArch64444 Neon implementation - Part 10
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: I1a11136aa3e4f541f9c2617281d7b530b470f13d
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/23769005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1093 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 weeks agoRow AArch64 Neon implementation - Part 9
ashok.bhat@gmail.com [Fri, 26 Sep 2014 09:16:48 +0000 (09:16 +0000)]
Row AArch64 Neon implementation - Part 9

BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: Id3af83a6efbd70b4a808a8442c3badbef749c0cc
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/23769004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1092 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 weeks agoAdd tools/lsan/suppressions.txt
kjellander@google.com [Tue, 23 Sep 2014 13:34:34 +0000 (13:34 +0000)]
Add tools/lsan/suppressions.txt

The new buildbots are using the default config
for ASan, which has Leak Sanitizer (LSan) enabled.
This assumes a suppression file exists in this
location.

TBR=fbarchard@google.com
TESTED=Passing linux_asan trybot run.
BUG=

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1091 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 weeks agoUpdate Chromium sync scripts for WebRTC r7222 changes
kjellander@google.com [Tue, 23 Sep 2014 12:53:42 +0000 (12:53 +0000)]
Update Chromium sync scripts for WebRTC r7222 changes

https://code.google.com/p/webrtc/source/detail?r=7222 contains
a few fixes for edge cases when moving back and forth with
Chromium DEPS.

TBR=fbarchard@google.com
BUG=

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1090 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 weeks agoMake Libyuv work with Chromium Git checkouts
kjellander@google.com [Tue, 23 Sep 2014 11:13:29 +0000 (11:13 +0000)]
Make Libyuv work with Chromium Git checkouts

This is very similar to the changes in
https://code.google.com/p/webrtc/source/detail?r=6938

TESTED=gclient sync and runhooks on Mac and Linux + building successfully.
R=fbarchard@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1089 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 weeks agoDetect asimd as same as Neon for Arm features. Used on Juno aarch64 linux.
fbarchard@google.com [Mon, 22 Sep 2014 18:30:17 +0000 (18:30 +0000)]
Detect asimd as same as Neon for Arm features.  Used on Juno aarch64 linux.
BUG=361
TESTED=.\libyuv_unittest --gtest_filter=libyuvTest.TestLinuxNeon
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1088 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 weeks agoRoll chromium_revision 280149:291168 and remove sanitizer_options.cc hack.
kjellander@google.com [Sun, 21 Sep 2014 20:17:00 +0000 (20:17 +0000)]
Roll chromium_revision 280149:291168 and remove sanitizer_options.cc hack.

This is a temporary solution to fix the compile error in preparation
for moving the bots over to recipes so that
https://review.webrtc.org/24619004/ can be landed.

TBR=fbarchard@google.com
TESTED=passing local compile on Linux.

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1087 16f28f9a-4ce2-e073-06de-1de4eb20be90

4 weeks agoadd stride to pointer in C and pass as register to inline.
fbarchard@google.com [Fri, 19 Sep 2014 22:51:39 +0000 (22:51 +0000)]
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

5 weeks agochange vector range notation to a list of registers for clang compatibility. break...
fbarchard@google.com [Mon, 15 Sep 2014 23:39:43 +0000 (23:39 +0000)]
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

5 weeks agoChange branch notation to clang compatible b dot cc
fbarchard@google.com [Mon, 15 Sep 2014 22:45:32 +0000 (22:45 +0000)]
Change branch notation to clang compatible b dot cc
BUG=357
TESTED=local ios a64 build
R=yunqingwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1084 16f28f9a-4ce2-e073-06de-1de4eb20be90

5 weeks agoChange ifdefs for arm 32 and 64 bit so there will only be 32 bit in legacy mode.
fbarchard@google.com [Mon, 15 Sep 2014 22:05:01 +0000 (22:05 +0000)]
Change ifdefs for arm 32 and 64 bit so there will only be 32 bit in legacy mode.
BUG=357
TESTED=ios arm64 build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1083 16f28f9a-4ce2-e073-06de-1de4eb20be90

5 weeks agoscale16 api use LIBYUV_API
fbarchard@google.com [Mon, 15 Sep 2014 22:01:43 +0000 (22:01 +0000)]
scale16 api use LIBYUV_API
BUG=358
TESTED=local build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1082 16f28f9a-4ce2-e073-06de-1de4eb20be90

5 weeks agoadd TransposeWx8_NEON's aarch64 implementation
zhongwei.yao@arm.com [Fri, 12 Sep 2014 08:11:20 +0000 (08:11 +0000)]
add TransposeWx8_NEON's aarch64 implementation

BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1081 16f28f9a-4ce2-e073-06de-1de4eb20be90

5 weeks agoFix the build failure for arm64
ashok.bhat@gmail.com [Thu, 11 Sep 2014 14:49:31 +0000 (14:49 +0000)]
Fix the build failure for arm64

TESTED=libyuv_unittest
BUG=357
R=fbarchard@google.com

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1080 16f28f9a-4ce2-e073-06de-1de4eb20be90

5 weeks agoFix the build failure for arm64
ashok.bhat@gmail.com [Thu, 11 Sep 2014 14:43:34 +0000 (14:43 +0000)]
Fix the build failure for arm64

TESTED=libyuv_unittest
BUG=357
R=fbarchard@google.com

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1079 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 weeks agoRotate ARM64 NEON implementation - TransposeUVWx8_NEON
yang.zhang@arm.com [Wed, 10 Sep 2014 06:02:55 +0000 (06:02 +0000)]
Rotate ARM64 NEON implementation - TransposeUVWx8_NEON

BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: I1dc89b35d4c4bf011cd04b549aaf9d777b1acc65

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1078 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 weeks agoUpdate GN build to refer to ppapi target. This allows the inclusion of the pp_macros...
fbarchard@google.com [Mon, 8 Sep 2014 23:40:37 +0000 (23:40 +0000)]
Update GN build to refer to ppapi target. This allows the inclusion of the pp_macros header when running in gn's header check mode.
BUG=none
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1077 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 weeks agoexpect avx2 compiler support means one of the avx2 functions exists.
fbarchard@google.com [Mon, 8 Sep 2014 18:29:46 +0000 (18:29 +0000)]
expect avx2 compiler support means one of the avx2 functions exists.
BUG=none
TESTED=try bots
R=bcornell@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1076 16f28f9a-4ce2-e073-06de-1de4eb20be90

6 weeks agoadd gyp define to enable svn version check. defaults to off so tests built outside...
fbarchard@google.com [Fri, 5 Sep 2014 00:33:53 +0000 (00:33 +0000)]
add gyp define to enable svn version check.  defaults to off so tests built outside of svn will build/run with a warning but not error.
BUG=356
TESTED=set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 libyuv_enable_svn=1
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1075 16f28f9a-4ce2-e073-06de-1de4eb20be90

7 weeks agoAdd a test that indicates the compiler is able to generate avx2 code.
fbarchard@google.com [Thu, 4 Sep 2014 00:25:19 +0000 (00:25 +0000)]
Add a test that indicates the compiler is able to generate avx2 code.
BUG=none
TESTED=out\release_x64\libyuv_unittest --gtest_filter=libyuvTest.TestCompilerHasAVX2
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1074 16f28f9a-4ce2-e073-06de-1de4eb20be90

7 weeks agoAdd a placeholder file for ARM64 Rotate Neon implementation
zhongwei.yao@arm.com [Mon, 1 Sep 2014 08:50:49 +0000 (08:50 +0000)]
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

7 weeks agoimplement ARM64 ScaleARGBRowDownEven and ScaleARGBRowDownEvenBox
zhongwei.yao@arm.com [Mon, 1 Sep 2014 08:17:36 +0000 (08:17 +0000)]
implement ARM64 ScaleARGBRowDownEven and ScaleARGBRowDownEvenBox

TESTED=libyuv_unittest
BUG=319
R=fbarchard@chromium.org, fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1072 16f28f9a-4ce2-e073-06de-1de4eb20be90

7 weeks agoScale ARM64 NEON implementation - ScaleRowDown38
yang.zhang@arm.com [Mon, 1 Sep 2014 03:55:19 +0000 (03:55 +0000)]
Scale ARM64 NEON implementation - ScaleRowDown38

BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Add the following functions:
- ScaleRowDown38_NEON
- ScaleRowDown38_2_Box_NEON
- ScaleRowDown38_3_Box_NEON

I find that these functions aren't tracked in the gtest.
So that I write the test case myself.

Change-Id: Ie70a00d7f708450dc786dfb388386ff748a21508

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1071 16f28f9a-4ce2-e073-06de-1de4eb20be90

7 weeks agoScale ARM64 NEON implementation - ScaleRowDown34
yang.zhang@arm.com [Mon, 1 Sep 2014 03:48:10 +0000 (03:48 +0000)]
Scale ARM64 NEON implementation - ScaleRowDown34

BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Add the following functions:
 - ScaleRowDown34_NEON
 - ScaleRowDown34_0_Box_NEON
 - ScaleRowDown34_1_Box_NEON

Change-Id: If3fe96de602b77033ec67252ef755ef3f88f33aa

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1070 16f28f9a-4ce2-e073-06de-1de4eb20be90

7 weeks agoRow AArch64 Neon implementation - Part 6
ashok.bhat@gmail.com [Fri, 29 Aug 2014 08:12:51 +0000 (08:12 +0000)]
Row AArch64 Neon implementation - Part 6
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: I5d93eb184ba873d5e7637a3b5a830be39a967c6f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/15239004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1069 16f28f9a-4ce2-e073-06de-1de4eb20be90

7 weeks agoimplement ARM64 ScaleRowDown4 and ScaleRowDown4Box
zhongwei.yao@arm.com [Thu, 28 Aug 2014 06:43:18 +0000 (06:43 +0000)]
implement ARM64 ScaleRowDown4 and ScaleRowDown4Box

TESTED=libyuv_unittest
BUG=319
R=fbarchard@chromium.org, fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1068 16f28f9a-4ce2-e073-06de-1de4eb20be90

8 weeks agodisable mips assembly for __mips_isa_rev 6
fbarchard@google.com [Wed, 27 Aug 2014 18:14:58 +0000 (18:14 +0000)]
disable mips assembly for __mips_isa_rev 6
BUG=355
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1067 16f28f9a-4ce2-e073-06de-1de4eb20be90

8 weeks agoAdd function ScaleFilterRows_NEON for ARM64 Scale Neon implementation
zhongwei.yao@arm.com [Wed, 27 Aug 2014 09:41:54 +0000 (09:41 +0000)]
Add function ScaleFilterRows_NEON for ARM64 Scale Neon implementation

TESTED=libyuv_unittest
BUG=319
R=fbarchard@chromium.org, fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1066 16f28f9a-4ce2-e073-06de-1de4eb20be90

8 weeks agoRow AArch64 Neon implementation - Part 7
ashok.bhat@gmail.com [Tue, 26 Aug 2014 10:28:14 +0000 (10:28 +0000)]
Row AArch64 Neon implementation - Part 7
BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Change-Id: Idfad43af3d637596678a35f733d76dec29778af2
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/22459004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1065 16f28f9a-4ce2-e073-06de-1de4eb20be90

8 weeks agoimplement ScaleRowDown2_NEON && ScaleRowDown2Box_NEON
zhongwei.yao@arm.com [Tue, 26 Aug 2014 02:50:41 +0000 (02:50 +0000)]
implement ScaleRowDown2_NEON && ScaleRowDown2Box_NEON

TESTED=libyuv_unit_test
BUG=319
R=fbarchard@chromium.org, fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1064 16f28f9a-4ce2-e073-06de-1de4eb20be90

8 weeks agoimplement ScaleARGBRowDown2 && ScaleARGBRowDown2Box
zhongwei.yao@arm.com [Tue, 26 Aug 2014 02:45:14 +0000 (02:45 +0000)]
implement ScaleARGBRowDown2 && ScaleARGBRowDown2Box

TESTED=libyuv_unit_test
BUG=319
R=fbarchard@chromium.org, fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1063 16f28f9a-4ce2-e073-06de-1de4eb20be90

8 weeks agomove lto condition into existing condition statement.
fbarchard@google.com [Mon, 25 Aug 2014 19:12:50 +0000 (19:12 +0000)]
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

8 weeks agoAdd LTO support for Android Chromium.
fbarchard@google.com [Mon, 25 Aug 2014 18:01:50 +0000 (18:01 +0000)]
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

2 months agofix memory leaks in *ToI420 functions.
fbarchard@google.com [Fri, 22 Aug 2014 00:37:16 +0000 (00:37 +0000)]
fix memory leaks in *ToI420 functions.
BUG=352
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=**ToI420_Opt
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1060 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoFor xcode disable pch option so includes will use the .h instead of expecting a ...
fbarchard@google.com [Thu, 21 Aug 2014 23:30:06 +0000 (23:30 +0000)]
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

2 months agoifdef headers to avoid intrinsics if built with gcc 64 bit on windows.
fbarchard@google.com [Thu, 21 Aug 2014 22:44:49 +0000 (22:44 +0000)]
ifdef headers to avoid intrinsics if built with gcc 64 bit on windows.
BUG=351
TESTED=untested
R=jzern@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1058 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoARGBToNV12 fix for memory leak on row_u_mem.
fbarchard@google.com [Thu, 21 Aug 2014 22:40:22 +0000 (22:40 +0000)]
ARGBToNV12 fix for memory leak on row_u_mem.
BUG=352
TESTED=libyuv_unittest
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1057 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRow AArch64 Neon implementation - Part 3
ashok.bhat@gmail.com [Thu, 21 Aug 2014 19:13:37 +0000 (19:13 +0000)]
Row AArch64 Neon implementation - Part 3
BUG=319
TESTED=libyuv_unittest
R=fbarchard@google.com

Change-Id: Ia818ca62d4a84d76b0144f904983d82d41cab651
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/15149004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1056 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRow AArch64 Neon implementation - Part 5
ashok.bhat@gmail.com [Thu, 21 Aug 2014 10:07:11 +0000 (10:07 +0000)]
Row AArch64 Neon implementation - Part 5
BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Change-Id: Ia76096088ddd771388f01dd86110089db2faedfc
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/21189004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1055 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRow AArch64 Neon implementation - Part 4
ashok.bhat@gmail.com [Thu, 21 Aug 2014 09:55:58 +0000 (09:55 +0000)]
Row AArch64 Neon implementation - Part 4
BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Change-Id: If145660d999e95246efeedb64a45ba70bf0fe23e
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/13199004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1054 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoIn Q420ToI420 the variable halfheight is initialized but not used. Change it to...
fbarchard@google.com [Thu, 21 Aug 2014 00:20:58 +0000 (00:20 +0000)]
In Q420ToI420 the variable halfheight is initialized but not used.  Change it to instantiate the variable but do not initialize it.  It will be assigned conditionally later.  This warning raised in xcode.
BUG=353
TESTED=local build still works
R=harryjin@google.com, noahric@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1053 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRollback chromium_revision from 285412 to 280149 as they causes a valgrind asan failu...
fbarchard@google.com [Wed, 20 Aug 2014 18:38:25 +0000 (18:38 +0000)]
Rollback chromium_revision from 285412 to 280149 as they causes a valgrind asan failure on build bots.
BUG=none
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1052 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoAdd a placeholder file for ARM64 Scale Neon implementation
zhongwei.yao@arm.com [Wed, 20 Aug 2014 02:54:59 +0000 (02:54 +0000)]
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

2 months agovalgrind fix to CropNV12 unittest. round crop amount to multiple of 2 so UV will...
fbarchard@google.com [Tue, 19 Aug 2014 18:32:03 +0000 (18:32 +0000)]
valgrind fix to CropNV12 unittest.  round crop amount to multiple of 2 so UV will be an even number.
BUG=350
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*CropNV12
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1050 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoMingw xgetbv use gcc assembly not visual c.
fbarchard@google.com [Mon, 18 Aug 2014 23:45:59 +0000 (23:45 +0000)]
Mingw xgetbv use gcc assembly not visual c.
BUG=349
TESTED=c:\mingw64\bin\x86_64-w64-mingw32-c++.exe -m32 -I include source/cpu_id.cc -c -o cpu_id.o
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1049 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agofix a lint warning about a space needed after && in ifdef
fbarchard@google.com [Mon, 18 Aug 2014 23:22:20 +0000 (23:22 +0000)]
fix a lint warning about a space needed after && in ifdef
BUG=348
TESTED=cpplint.py --filter=-readability/casting source/*.cc include/libyuv/*.h
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1048 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRow AArch64 Neon implementation - Part 2
ashok.bhat@gmail.com [Mon, 18 Aug 2014 08:42:56 +0000 (08:42 +0000)]
Row AArch64 Neon implementation - Part 2
BUG=319
TEST=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Change-Id: Ib1f824c5a7dc3938ff63991f08eafa08fc33f108
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/18109004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1047 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agocpuid include intrinsics header before using xgetbv
fbarchard@google.com [Fri, 15 Aug 2014 01:23:54 +0000 (01:23 +0000)]
cpuid include intrinsics header before using xgetbv
BUG=282
TESTED=vs2010sp1 build.
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1046 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agofixes for blank line lint warnings
fbarchard@google.com [Thu, 14 Aug 2014 19:42:48 +0000 (19:42 +0000)]
fixes for blank line lint warnings
BUG=348
TESTED=cpplint.py --filter=-casting source/*.cc include/libyuv/*.h
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1045 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRow AArch64 Neon implementation - Part 1
ashok.bhat@gmail.com [Wed, 13 Aug 2014 08:33:17 +0000 (08:33 +0000)]
Row AArch64 Neon implementation - Part 1
BUG=319
TEST=libyuv_unittest
R=fbarchard@google.com

Change-Id: I367ffa7bb0fd0337ab8486d3eb4fb94afea7400c
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Review URL: https://webrtc-codereview.appspot.com/21149004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1044 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoAArch64:add SumSquareError_NEON armv8 assembly version
yang.zhang@arm.com [Wed, 13 Aug 2014 06:10:02 +0000 (06:10 +0000)]
AArch64:add SumSquareError_NEON armv8 assembly version

BUG=none
TESTED=libyuv_unittest
R=fbarchard@google.com

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

the benckmarking result is as follows:
toolchain: gcc 4.9
hardware: A53

| count | C Times/NEON times |
| 16    | 3.35               |
| 128   | 6.63               |
| 512   | 7.47               |
| 1024  | 7.72               |

Change-Id: Ic10bf22d77d069a1a2074b68bd5a310c579ec490

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1043 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoarm64 neon optimization building is enabled
zhongwei.yao@arm.com [Wed, 13 Aug 2014 03:45:11 +0000 (03:45 +0000)]
arm64 neon optimization building is enabled

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1042 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoAdd a placeholder file for ARM64 Row Neon implementation
ashok.bhat@gmail.com [Thu, 7 Aug 2014 13:40:18 +0000 (13:40 +0000)]
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

2 months agobump chromium deps to 285412 to stay in sync with webrtc.
fbarchard@google.com [Fri, 1 Aug 2014 20:39:01 +0000 (20:39 +0000)]
bump chromium deps to 285412 to stay in sync with webrtc.
BUG=none
TESTED=gclient sync & set GYP_DEFINES=target_arch=ia32 libyuv_disable_jpeg=1 & python gyp_libyuv -fninja -G msvs_version=2010 libyuv_test.gyp & ninja -C out\Debug & ninja -C out\Debug
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1040 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoRemove extra MEMACCESS
ashok.bhat@gmail.com [Tue, 29 Jul 2014 18:32:59 +0000 (18:32 +0000)]
Remove extra MEMACCESS

TESTED=libyuv_unittest

Change-Id: I25fae71200ea44846eea3604a55bf4a88ea593ce
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1039 16f28f9a-4ce2-e073-06de-1de4eb20be90

2 months agoAdd a gyp define LIBYUV_DISABLE_JPEG to not build jpeg library
fbarchard@google.com [Mon, 28 Jul 2014 21:48:43 +0000 (21:48 +0000)]
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

3 months agoredo nv12 crop unittest with expect eq
fbarchard@google.com [Fri, 18 Jul 2014 22:34:04 +0000 (22:34 +0000)]
redo nv12 crop unittest with expect eq
BUG=334
TESTED=crop
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1037 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 months agoAdd NV12 cropping unittest to confirm behavior.
fbarchard@google.com [Fri, 18 Jul 2014 18:18:35 +0000 (18:18 +0000)]
Add NV12 cropping unittest to confirm behavior.
BUG=344
TESTED=libyuv_unittest --gtest_filter=*CropNV12
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1036 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 months agoCheck number of functions available to cpuid before fetching function 7 results.
fbarchard@google.com [Mon, 14 Jul 2014 17:48:35 +0000 (17:48 +0000)]
Check number of functions available to cpuid before fetching function 7 results.
BUG=343
TESTED=local test on Windows.
R=brettw@chromium.org, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1035 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 months agoDetect clang-cl compiler and disable assembly for now.
fbarchard@google.com [Wed, 9 Jul 2014 17:55:23 +0000 (17:55 +0000)]
Detect clang-cl compiler and disable assembly for now.
BUG=341
TESTED=clang-cl /W0 -c -Iinclude source/cpu_id.c
R=harryjin@google.com, rnk@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1033 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 months agoremove extern "C" from rotate function, since its built with extern "C" around full...
fbarchard@google.com [Tue, 8 Jul 2014 22:06:56 +0000 (22:06 +0000)]
remove extern "C" from rotate function, since its built with extern "C" around full file.
BUG=341
TESTED=clang -c -Iinclude source/rotate.c
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1031 16f28f9a-4ce2-e073-06de-1de4eb20be90

3 months agoPort conversion functions to c.
fbarchard@google.com [Tue, 8 Jul 2014 18:44:57 +0000 (18:44 +0000)]
Port conversion functions to c.
BUG=303
TESTED=cl /c /TC /Iinclude source\convert_from.cc source\convert_argb.cc source\convert_from_argb.cc
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1030 16f28f9a-4ce2-e073-06de-1de4eb20be90