external/libyuv.git
41 hours agoFix the bug in ARGBColorMatrixRow_NEON master
yang.zhang@arm.com [Fri, 19 Dec 2014 08:09:04 +0000 (08:09 +0000)]
Fix the bug in ARGBColorMatrixRow_NEON

BUG=371
TESTED=libyuv_unittest and test case written by myself
R=fbarchard@google.com

Change-Id: I652dc23e4be75bd51d15a8a7f9d023594c9cd032

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

2 days agoPass neon option to compiler, not assembler, so ifdefs will work.
fbarchard@google.com [Thu, 18 Dec 2014 17:24:48 +0000 (17:24 +0000)]
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

3 days agoDisable color matrix neon code that fails unittests.
fbarchard@google.com [Thu, 18 Dec 2014 01:49:19 +0000 (01:49 +0000)]
Disable color matrix neon code that fails unittests.
BUG=371
TESTED=locally tested by arm
R=harryjin@google.com

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

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

4 days agoPort I422ToBGRA from Windows version that does 16 pixels at a time, for performance...
fbarchard@google.com [Tue, 16 Dec 2014 23:56:04 +0000 (23:56 +0000)]
Port I422ToBGRA from Windows version that does 16 pixels at a time, for performance improvement.
BUG=386
TESTED=nacl build
R=brucedawson@google.com, harryjin@google.com

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

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

4 days agoEnable all AVX2 conversions.
fbarchard@google.com [Tue, 16 Dec 2014 18:12:40 +0000 (18:12 +0000)]
Enable all AVX2 conversions.
BUG=269
TESTED=local test on osx
R=harryjin@google.com

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

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

5 days agoMake vextop take the register selector parameter to access the upper portion of the...
fbarchard@google.com [Tue, 16 Dec 2014 00:30:51 +0000 (00:30 +0000)]
Make vextop take the register selector parameter to access the upper portion of the avx registers.
BUG=269
TESTED=nacl
R=harryjin@google.com

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

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

5 days agoUse expect near to see exact values for differences.
fbarchard@google.com [Mon, 15 Dec 2014 22:48:32 +0000 (22:48 +0000)]
Use expect near to see exact values for differences.
BUG=269
TESTED=local unittest
R=harryjin@google.com

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

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

5 days agoMake unittest check every pixel and report the first failure.
fbarchard@google.com [Mon, 15 Dec 2014 19:51:50 +0000 (19:51 +0000)]
Make unittest check every pixel and report the first failure.
BUG=269
TESTED=unittest passes on windows
R=harryjin@google.com

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

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

5 days agoFix for ARGBToUV on AVX2
fbarchard@google.com [Mon, 15 Dec 2014 18:59:23 +0000 (18:59 +0000)]
Fix for ARGBToUV on AVX2
BUG=269
TESTED=local testing
R=harryjin@google.com

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

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

5 days agoFix for I422ToRGBA when I422ToARGB is not enabled for AVX2
fbarchard@google.com [Mon, 15 Dec 2014 18:28:59 +0000 (18:28 +0000)]
Fix for I422ToRGBA when I422ToARGB is not enabled for AVX2
BUG=269
TESTED=local windows build
R=harryjin@google.com

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

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

5 days agoFix register order for ARGBToUV_AVX2
fbarchard@google.com [Mon, 15 Dec 2014 18:07:09 +0000 (18:07 +0000)]
Fix register order for ARGBToUV_AVX2
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

7 days agoFix for I422ToARGB AVX2
fbarchard@google.com [Sat, 13 Dec 2014 19:22:09 +0000 (19:22 +0000)]
Fix for I422ToARGB AVX2
BUG=269
TESTED=untested

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

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

8 days agoFix for ARGBToY on AVX
fbarchard@google.com [Sat, 13 Dec 2014 01:44:33 +0000 (01:44 +0000)]
Fix for ARGBToY on AVX
BUG=269
TESTED=local build on osx
R=tpsiaki@google.com

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

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

8 days agoFix for UYVYToI422 AVX2 version
fbarchard@google.com [Sat, 13 Dec 2014 00:15:11 +0000 (00:15 +0000)]
Fix for UYVYToI422 AVX2 version
BUG=269
TESTED=untested
R=tpsiaki@google.com

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

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

8 days agoARGBMirror for AVX had wrong loop counting. This fixes it to match windows, and...
fbarchard@google.com [Fri, 12 Dec 2014 22:43:55 +0000 (22:43 +0000)]
ARGBMirror for AVX had wrong loop counting.  This fixes it to match windows, and reenables the function.
BUG=269
TESTED=try bots
R=tpsiaki@google.com

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

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

8 days agoDisable AVX2 code that fails on GCC unittests until issues can be resolved.
fbarchard@google.com [Fri, 12 Dec 2014 19:30:15 +0000 (19:30 +0000)]
Disable AVX2 code that fails on GCC unittests until issues can be resolved.
BUG=269
TESTED=sde-external-7.8.0-2014-10-02-mac/sde -ast -hsw -- out/Release/libyuv_unittest

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

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

10 days agoPort ARGBToUV to AVX2.
fbarchard@google.com [Wed, 10 Dec 2014 22:48:58 +0000 (22:48 +0000)]
Port ARGBToUV to AVX2.
BUG=269
TESTED=ncval
R=brucedawson@google.com, tpsiaki@google.com

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

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

11 days agoInterpolate Row ported to AVX2 GCC/NaCL.
fbarchard@google.com [Tue, 9 Dec 2014 22:21:53 +0000 (22:21 +0000)]
Interpolate Row ported to AVX2 GCC/NaCL.
BUG=269
TESTED=nacl build
R=brucedawson@google.com, tpsiaki@google.com

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

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

11 days agoEnable 3 neon functions for arm 32 bit. The functions were there, but the macros...
fbarchard@google.com [Tue, 9 Dec 2014 17:49:39 +0000 (17:49 +0000)]
Enable 3 neon functions for arm 32 bit.  The functions were there, but the macros were not.  They've been on for 64 bit, so this reunifies them.
BUG=none
TESTED=try bots
R=tpsiaki@google.com

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

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

2 weeks agoconvert ARGB to UV for SSSE3 use single asm block.
fbarchard@google.com [Sat, 6 Dec 2014 19:23:12 +0000 (19:23 +0000)]
convert ARGB to UV for SSSE3 use single asm block.
BUG=378
TESTED=nacl build
R=tpsiaki@google.com

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

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

2 weeks agoRemove nacl macro from 64 bit psnr
fbarchard@google.com [Thu, 4 Dec 2014 00:01:19 +0000 (00:01 +0000)]
Remove nacl macro from 64 bit psnr
BUG=none
TESTED=try bots
R=tpsiaki@google.com

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

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

2 weeks agopsnr utility aarch64 bit version to fix build error on ios and optimize for 64 bit.
fbarchard@google.com [Wed, 3 Dec 2014 19:45:20 +0000 (19:45 +0000)]
psnr utility aarch64 bit version to fix build error on ios and optimize for 64 bit.
BUG=383
TESTED=try bots
R=johannkoenig@google.com

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

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

2 weeks agoUnbreak memcheck bot by adding --gtest_break_on_failure flag
kjellander@google.com [Wed, 3 Dec 2014 19:07:05 +0000 (19:07 +0000)]
Unbreak memcheck bot by adding --gtest_break_on_failure flag

TBR=fbarchard@google.com
TESTED=Ran tools/valgrind-libyuv/libyuv_tests.sh

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

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

2 weeks agoAdd iOS ARM64 and XCode 6.1 to default trybots.
kjellander@google.com [Wed, 3 Dec 2014 14:44:47 +0000 (14:44 +0000)]
Add iOS ARM64 and XCode 6.1 to default trybots.

TBR=fbarchard@google.com
BUG=libyuv:370

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

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

2 weeks agoUse same macros for neon 32 bit and 64 bit. Then supply the differences, which shoul...
fbarchard@google.com [Wed, 3 Dec 2014 02:01:25 +0000 (02:01 +0000)]
Use same macros for neon 32 bit and 64 bit.  Then supply the differences, which should be removed in future.
BUG=none
TESTED=try bots
R=tpsiaki@google.com

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

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

2 weeks agoremove add 16 from ARGBToYJ and add rounding, for consistency with Windows version...
fbarchard@google.com [Tue, 2 Dec 2014 22:37:47 +0000 (22:37 +0000)]
remove add 16 from ARGBToYJ and add rounding, for consistency with Windows version.  row.h header macros sorted alphabetically.
BUG=269
TESTED=untested
R=tpsiaki@google.com

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

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

2 weeks agoARGBToYRow_AVX2 and ARGBToYJRow_AVX2 ported to GCC.
fbarchard@google.com [Tue, 2 Dec 2014 22:00:08 +0000 (22:00 +0000)]
ARGBToYRow_AVX2 and ARGBToYJRow_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=brucedawson@google.com, tpsiaki@google.com

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

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

2 weeks agoI422ToRGBARow_AVX2 ported to GCC.
fbarchard@google.com [Tue, 2 Dec 2014 18:59:33 +0000 (18:59 +0000)]
I422ToRGBARow_AVX2 ported to GCC.
BUG=269
TESTED=nacl build
R=brucedawson@google.com

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

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

2 weeks agoI422ToABGR_AVX2 port from Visual C to GCC/NaCL.
fbarchard@google.com [Tue, 2 Dec 2014 03:54:08 +0000 (03:54 +0000)]
I422ToABGR_AVX2 port from Visual C to GCC/NaCL.
BUG=269
TESTED=builds with nacl compiler.
R=tpsiaki@google.com

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

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

2 weeks agogcc port of I422ToARGB_AVX2 from Visual C. Uses Macros for read of I422 and conversi...
fbarchard@google.com [Tue, 2 Dec 2014 00:22:56 +0000 (00:22 +0000)]
gcc port of I422ToARGB_AVX2 from Visual C.  Uses Macros for read of I422 and conversion from YUV to RGB.  Shares constants from I422ToBGRA structure.
BUG=269
TESTED=nacl builds.
R=brucedawson@google.com, tpsiaki@google.com

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

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

3 weeks agoRemove loop alignment for benefit of modern cpus that dont require alignment.
fbarchard@google.com [Mon, 24 Nov 2014 21:26:22 +0000 (21:26 +0000)]
Remove loop alignment for benefit of modern cpus that dont require alignment.
BUG=none
TESTED=local libyuv unittest passes
R=brucedawson@google.com, tpsiaki@google.com

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

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

3 weeks agoRoll chromium deps to match version used by WebRtc: d8c90415d681a7c3727e3ef70873bc4f4...
fbarchard@google.com [Mon, 24 Nov 2014 20:50:57 +0000 (20:50 +0000)]
Roll chromium deps to match version used by WebRtc: d8c90415d681a7c3727e3ef70873bc4f44dd3ab0.
BUG=370
TESTED=try bots
R=tpsiaki@google.com

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

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

4 weeks agoMergeUV AVX2 use vextractf128 to store results to avoid shuffling.
fbarchard@google.com [Sat, 22 Nov 2014 03:33:33 +0000 (03:33 +0000)]
MergeUV AVX2 use vextractf128 to store results to avoid shuffling.
BUG=none
TESTED=intel sde on unittests
R=brucedawson@google.com

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

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

4 weeks agoQuick fix for build gcc - remove unused argument kARGBShuffleMirror from ARGBMirror...
fbarchard@google.com [Sat, 22 Nov 2014 01:12:19 +0000 (01:12 +0000)]
Quick fix for build gcc - remove unused argument kARGBShuffleMirror from ARGBMirror SSE2.
BUG=none
TESTED=untested
R=tpsiaki@google.com

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

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

4 weeks agoARGBMirror use SSE2 pshufd instruction instead of SSSE3 pshufb.
fbarchard@google.com [Fri, 21 Nov 2014 19:25:14 +0000 (19:25 +0000)]
ARGBMirror use SSE2 pshufd instruction instead of SSSE3 pshufb.
BUG=269
TESTED=local benchmark for ARGBMirror
R=tpsiaki@google.com

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

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

4 weeks agoMove sub before branch for loops.
fbarchard@google.com [Thu, 20 Nov 2014 21:14:27 +0000 (21:14 +0000)]
Move sub before branch for loops.
Remove CopyRow_x86
Add CopyRow_Any versions for AVX, SSE2 and Neon.
BUG=269
TESTED=local build
R=harryjin@google.com, tpsiaki@google.com

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

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

4 weeks agoChange lea macros from memaccess to memlea to fix nacl 64 bit build errors.
fbarchard@google.com [Wed, 19 Nov 2014 23:02:04 +0000 (23:02 +0000)]
Change lea macros from memaccess to memlea to fix nacl 64 bit build errors.
BUG=381
TESTED=local nacl build and validate
R=harryjin@google.com

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

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

4 weeks agoPort ARGBMirror AVX2 code to gcc/NaCL.
fbarchard@google.com [Wed, 19 Nov 2014 20:03:37 +0000 (20:03 +0000)]
Port ARGBMirror AVX2 code to gcc/NaCL.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

4 weeks agoARGBMirror Any
fbarchard@google.com [Wed, 19 Nov 2014 00:46:51 +0000 (00:46 +0000)]
ARGBMirror Any
BUG=none
TESTED=mirror and rotate unittests
R=harryjin@google.com

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

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

4 weeks agoBuild libyuv w/ no_chromium_code in GN.
fbarchard@google.com [Tue, 18 Nov 2014 01:10:14 +0000 (01:10 +0000)]
Build libyuv w/ no_chromium_code in GN.

This disables a couple of windows warnings that will otherwise
fire on Win64, causing compile failures.

BUG=432375
suppress size_t -> int warnings

R=harryjin@google.com

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

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

4 weeks agoMirrorAny functions so assembly can always be used.
fbarchard@google.com [Tue, 18 Nov 2014 01:03:47 +0000 (01:03 +0000)]
MirrorAny functions so assembly can always be used.
BUG=none
TESTED=untested
R=harryjin@google.com

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

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

4 weeks agoport lea removal for mirror to gcc
fbarchard@google.com [Mon, 17 Nov 2014 20:06:40 +0000 (20:06 +0000)]
port lea removal for mirror to gcc
BUG=none
TESTED=none
R=harryjin@google.com

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

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

4 weeks agoFix offset in addresses for windows. Wants it within [] now.
fbarchard@google.com [Mon, 17 Nov 2014 19:50:42 +0000 (19:50 +0000)]
Fix offset in addresses for windows.  Wants it within [] now.
BUG=none
TESTED=local windows build.
R=harryjin@google.com

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

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

4 weeks agoRemove alignment from loops. Newer cpus will execute the loop efficiently without...
fbarchard@google.com [Mon, 17 Nov 2014 19:25:21 +0000 (19:25 +0000)]
Remove alignment from loops.  Newer cpus will execute the loop efficiently without alignment, and the extra nops would slow the initial iteration marginally if anything.
BUG=none
TESTED=try bots
R=harryjin@google.com

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

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

4 weeks agoRemove extra unaligned loop from alphablender. Both aligned and unaligned loops...
fbarchard@google.com [Mon, 17 Nov 2014 18:33:07 +0000 (18:33 +0000)]
Remove extra unaligned loop from alphablender.  Both aligned and unaligned loops were the same, so remove the extra.
BUG=none
TESTED=try bots.
R=brucedawson@google.com, harryjin@google.com

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

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

4 weeks agoremove initial lea in mirror functions and add the offset in the address mode.
fbarchard@google.com [Mon, 17 Nov 2014 18:16:23 +0000 (18:16 +0000)]
remove initial lea in mirror functions and add the offset in the address mode.
BUG=none
TESTED=local libyuv unittests on windows
R=harryjin@google.com

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

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

5 weeks agoMirror_AVX2 ported to GCC.
fbarchard@google.com [Thu, 13 Nov 2014 23:11:10 +0000 (23:11 +0000)]
Mirror_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

5 weeks agoARGBUnattenuate_AVX2 ported to GCC. Minor cleanup of constants to use broadcast to...
fbarchard@google.com [Thu, 13 Nov 2014 17:57:33 +0000 (17:57 +0000)]
ARGBUnattenuate_AVX2 ported to GCC. Minor cleanup of constants to use broadcast to make 16 byte constant instead of 32 byte.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

5 weeks agoARGBAttenuate_AVX2 ported to GCC.
fbarchard@google.com [Wed, 12 Nov 2014 18:38:06 +0000 (18:38 +0000)]
ARGBAttenuate_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

5 weeks agoUse broadcast to duplicate constants from 16 bytes to 32 bytes to save data space.
fbarchard@google.com [Wed, 12 Nov 2014 01:45:27 +0000 (01:45 +0000)]
Use broadcast to duplicate constants from 16 bytes to 32 bytes to save data space.
BUG=none
TESTED=intelsde
R=brucedawson@google.com

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

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

5 weeks agoARGBMultiply_AVX2 ported to GCC.
fbarchard@google.com [Tue, 11 Nov 2014 20:33:33 +0000 (20:33 +0000)]
ARGBMultiply_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

5 weeks agoARGBSubtract_AVX2 ported to GCC.
fbarchard@google.com [Tue, 11 Nov 2014 19:12:38 +0000 (19:12 +0000)]
ARGBSubtract_AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

5 weeks agoARGBAdd ported AVX2 ported to GCC.
fbarchard@google.com [Tue, 11 Nov 2014 19:01:29 +0000 (19:01 +0000)]
ARGBAdd ported AVX2 ported to GCC.
BUG=269
TESTED=try bots
R=harryjin@google.com

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

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

5 weeks agoMergeUV for AVX2 ported to gcc. Add missing vzeroupper to all avx2 functions.
fbarchard@google.com [Mon, 10 Nov 2014 19:19:12 +0000 (19:19 +0000)]
MergeUV for AVX2 ported to gcc.  Add missing vzeroupper to all avx2 functions.
BUG=none
TESTED=ncval for nacl
R=brucedawson@google.com, harryjin@google.com

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

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

6 weeks agoSplitUVRow_AVX2 ported to GCC/NaCL.
fbarchard@google.com [Thu, 6 Nov 2014 01:39:26 +0000 (01:39 +0000)]
SplitUVRow_AVX2 ported to GCC/NaCL.
BUG=269
TESTED=validator for nacl.
R=harryjin@google.com

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

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

6 weeks agoARGBDetect do 2 pixels at a time for improved performance.
fbarchard@google.com [Wed, 5 Nov 2014 23:23:17 +0000 (23:23 +0000)]
ARGBDetect do 2 pixels at a time for improved performance.
BUG=375
TESTED=libyuvTest.BenchmarkARGBDetect_Opt
R=harryjin@google.com

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

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

6 weeks agoDetect Endian of ARGB image.
fbarchard@google.com [Wed, 5 Nov 2014 18:46:06 +0000 (18:46 +0000)]
Detect Endian of ARGB image.
BUG=375
TESTED=libyuv builds, but no test app for it yet
R=harryjin@google.com

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

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

6 weeks agovextractf128 requuires a constant argument for which dqword to extract, so add a...
fbarchard@google.com [Tue, 4 Nov 2014 21:05:55 +0000 (21:05 +0000)]
vextractf128 requuires a constant argument for which dqword to extract, so add a new macro.
BUG=none
TESTED=local build on clang for osx
R=harryjin@google.com

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

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

6 weeks agoPort YUY2ToUV, YUY2ToUV422, UYVYToUV and UYVYToUV422 to AVX2 on GCC/Nacl.
fbarchard@google.com [Tue, 4 Nov 2014 18:24:10 +0000 (18:24 +0000)]
Port YUY2ToUV, YUY2ToUV422, UYVYToUV and UYVYToUV422 to AVX2 on GCC/Nacl.
BUG=269
TESTED=ncval
R=harryjin@google.com

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

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

6 weeks agoPort YUY2ToYRow_AVX2 and UYVYToYRow_AVX2 to gcc/NaCL from Windows AVX code.
fbarchard@google.com [Mon, 3 Nov 2014 18:30:17 +0000 (18:30 +0000)]
Port YUY2ToYRow_AVX2 and UYVYToYRow_AVX2 to gcc/NaCL from Windows AVX code.
BUG=269
TESTED=ncval
R=brucedawson@google.com, harryjin@google.com

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

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

7 weeks agonow that libyuv requires newer nacl compiler, bundles can be assumed and bundle align...
fbarchard@google.com [Thu, 30 Oct 2014 20:02:03 +0000 (20:02 +0000)]
now that libyuv requires newer nacl compiler, bundles can be assumed and bundle align macro can be removed.  no impact on code gen.
BUG=none
TESTED=validator still passes
R=harryjin@google.com

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

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

7 weeks agovzeroupper moved to just before ret. in one case it was done after ret, which is...
fbarchard@google.com [Thu, 30 Oct 2014 19:27:21 +0000 (19:27 +0000)]
vzeroupper moved to just before ret.  in one case it was done after ret, which is a bug that would cause a performance stall.
BUG=none
TESTED=try bots
R=harryjin@google.com

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

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

7 weeks agoImprove cmake build. Add unittests to cmake build and automatically detect jpeg...
fbarchard@google.com [Tue, 28 Oct 2014 23:37:11 +0000 (23:37 +0000)]
Improve cmake build.  Add unittests to cmake build and automatically detect jpeg support. This change was originally generated to support the build of libyuv in naclports: https://chromium.googlesource.com/external/naclports/+/master/ports/libyuv/.  Also add cmake artifacts to .gitignore file.
BUG=366
TESTED=build and run unittests with cmake
R=harryjin@google.com

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

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

7 weeks agoPass neon option to assembler but not the compiler. Step 1 of unifying the two...
fbarchard@google.com [Tue, 28 Oct 2014 23:15:16 +0000 (23:15 +0000)]
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

7 weeks agoFix lint extraneous warning on row_win assembly by disabling the warning for those...
fbarchard@google.com [Mon, 27 Oct 2014 16:27:48 +0000 (16:27 +0000)]
Fix lint extraneous warning on row_win assembly by disabling the warning for those affected lines.
BUG=none
TESTED=line row_win.cc
R=harryjin@google.com

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

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

8 weeks agoThe 'Any' versions of functions can handle any width now, so remove the check from...
fbarchard@google.com [Fri, 24 Oct 2014 23:29:31 +0000 (23:29 +0000)]
The 'Any' versions of functions can handle any width now, so remove the check from the calling code. This has 2 advantages - less code, and less overhead in calling function when any function is NOT used. Downside is more code for case where any is used.
BUG=373
TESTED=libyuv_unittest still passes
R=harryjin@google.com

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

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

8 weeks agoChange YAny functions to share, and use mask for how many bytes at a time for simd...
fbarchard@google.com [Fri, 24 Oct 2014 22:58:38 +0000 (22:58 +0000)]
Change YAny functions to share, and use mask for how many bytes at a time for simd vs C.
BUG=373
TESTED=libyuv_unittest passes
R=harryjin@google.com

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

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

8 weeks agoChange Any functions that convert 1 to 1 formats, memcpy style, so use C for remainde...
fbarchard@google.com [Fri, 24 Oct 2014 22:17:59 +0000 (22:17 +0000)]
Change Any functions that convert 1 to 1 formats, memcpy style, so use C for remainder to allow a minimum width of 1.  This has some advantages - allows function to be used even with SIMD that only allows aligned memory.  Fewer macros, used by more functions.  SIMD is not used unaligned avoiding page/cache split.  No overlap so it can be used in place.  Disadvantage is it will be slower if close to the maximum number of non-SIMD pixels.
BUG=373
TESTED=libyuv_unittest still passes
R=brucedawson@google.com, tpsiaki@google.com

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

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

8 weeks agoadd a check that the simd function should be called. allows any functions to support...
fbarchard@google.com [Fri, 24 Oct 2014 00:45:27 +0000 (00:45 +0000)]
add a check that the simd function should be called.  allows any functions to support any width, simplifing and speeding up the calling code.
BUG=373
TESTED=try bots
R=brucedawson@chromium.org, harryjin@google.com

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

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

8 weeks agoAdd check for minimum of 8 pixels for any functions and multiple of 8 not 16 for...
fbarchard@google.com [Thu, 23 Oct 2014 23:05:12 +0000 (23:05 +0000)]
Add check for minimum of 8 pixels for any functions and multiple of 8 not 16 for neon functions.
BUG=373
TESTED=try bots
R=harryjin@google.com

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

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

8 weeks agoPort I422ToABGR to AVX2.
fbarchard@google.com [Thu, 23 Oct 2014 17:20:22 +0000 (17:20 +0000)]
Port I422ToABGR to AVX2.
BUG=269
TESTED=intelsde on I422ToABGR
R=tpsiaki@google.com

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

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

8 weeks agoOptimize I422ToRGBA for AVX2 by hoisting ymm5 initialization and using different...
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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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

8 weeks 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 months 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 months 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 months 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 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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