external/libyuv.git
10 hours agoRemove declspec(align(32)) from AVX2 functions. master
fbarchard@google.com [Mon, 20 Apr 2015 22:57:04 +0000 (22:57 +0000)]
Remove declspec(align(32)) from AVX2 functions.
BUG=422
TESTED=untested
R=tpsiaki@google.com

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

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

3 days agobox and point sampling use scaledownby4 but linear and bilinear do not.
fbarchard@google.com [Fri, 17 Apr 2015 18:04:09 +0000 (18:04 +0000)]
box and point sampling use scaledownby4 but linear and bilinear do not.
BUG=427
TESTED=out\release\libyuv_unittest --gtest_filter=*.ScaleDownBy4_*
R=tpsiaki@google.com

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

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

4 days agomake box filter upsampler consider a pixel width of less than 1 to be 1. This makes...
fbarchard@google.com [Thu, 16 Apr 2015 21:02:16 +0000 (21:02 +0000)]
make box filter upsampler consider a pixel width of less than 1 to be 1.  This makes it behave as a point sampler.
BUG=428
TESTED=set LIBYUV_WIDTH=1900 && out\release\libyuv_unittest.exe
R=tpsiaki@google.com

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

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

5 days agoadd empty header for backwards compatibility.
fbarchard@google.com [Wed, 15 Apr 2015 23:09:09 +0000 (23:09 +0000)]
add empty header for backwards compatibility.
BUG=none
TESTED=lint passes

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

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

5 days agoAdd a scale down by 3 test for testing general purpose box/bilinear with scale factor...
fbarchard@google.com [Wed, 15 Apr 2015 22:46:45 +0000 (22:46 +0000)]
Add a scale down by 3 test for testing general purpose box/bilinear with scale factor of 3, but allowing width/height specified to do odd with testing.
BUG=libyuv:427
TESTED=libyuvTest.ScaleDownBy3*
R=bcornell@google.com

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

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

6 days agolsl by 2 requires a number sign for xcode on ios 64 bit build. add the # sign for...
fbarchard@google.com [Tue, 14 Apr 2015 19:57:33 +0000 (19:57 +0000)]
lsl by 2 requires a number sign for xcode on ios 64 bit build.  add the # sign for ios compatibility.  remove legacy x86 asm files that are unused.  the unused files cause complications in build systems that build all files.
BUG=libyuv:423
TESTED=try bots
R=noahric@google.com

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

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

7 days agoRemove unused variable 'I422ToRGB565Row' that breaks osx builds.
fbarchard@google.com [Tue, 14 Apr 2015 02:50:35 +0000 (02:50 +0000)]
Remove unused variable 'I422ToRGB565Row' that breaks osx builds.
BUG=426
TESTED=untested

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

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

7 days agoPort box filter to AVX2.
fbarchard@google.com [Tue, 14 Apr 2015 00:21:15 +0000 (00:21 +0000)]
Port box filter to AVX2.
BUG=libyuv:425
TESTED=c:\intelsde\sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*libyuvTest.ScaleTo640x360_Box
R=tpsiaki@google.com

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

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

7 days agoadd rows handle height of 1 using a more general while-style loop.
fbarchard@google.com [Mon, 13 Apr 2015 18:56:08 +0000 (18:56 +0000)]
add rows handle height of 1 using a more general while-style loop.
BUG=none
TESTED=try bots

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

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

8 days agoRemove code alignment declspec from Visual C versions for vs2014 compatibility.
fbarchard@google.com [Sun, 12 Apr 2015 23:54:26 +0000 (23:54 +0000)]
Remove code alignment declspec from Visual C versions for vs2014 compatibility.
BUG=422
TESTED=local vs2013 build still passes.

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

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

13 days agoFix bug in YUV to RGB for gcc/clang and enable affected functions.
fbarchard@google.com [Wed, 8 Apr 2015 02:32:33 +0000 (02:32 +0000)]
Fix bug in YUV to RGB for gcc/clang and enable affected functions.
BUG=393
TESTED=sde -ast -hsw -- out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*I422ToARGB*

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

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

13 days agoARGB4444ToARGB and ARGB1555ToARGB ported to AVX2.
fbarchard@google.com [Tue, 7 Apr 2015 23:52:57 +0000 (23:52 +0000)]
ARGB4444ToARGB and ARGB1555ToARGB ported to AVX2.
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGB4444ToARGB*
R=tpsiaki@google.com

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

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

13 days agoRGB565ToARGB AVX2 vzeroupper before the ret, not after.
fbarchard@google.com [Tue, 7 Apr 2015 22:53:12 +0000 (22:53 +0000)]
RGB565ToARGB AVX2 vzeroupper before the ret, not after.
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com

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

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

2 weeks agoAdd ScaleARGBFilterCols_NEON for ARM32/64
yang.zhang@arm.com [Tue, 7 Apr 2015 03:45:29 +0000 (03:45 +0000)]
Add ScaleARGBFilterCols_NEON for ARM32/64

ARM32/64 NEON versions of ScaleARGBFilterCols_NEON are implemented.

BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: Ifea62bc25d846bf16cb51d13b408de7bf58dccd4

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

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

2 weeks agoARGBToYJRow_AVX2 hooked up for ARGBToJ422
fbarchard@google.com [Tue, 7 Apr 2015 00:39:25 +0000 (00:39 +0000)]
ARGBToYJRow_AVX2 hooked up for ARGBToJ422
BUG=none
TESTED=ARGBToJ422 unittest

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

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

2 weeks agoARGBToUV AVX2 functions hooked up.
fbarchard@google.com [Tue, 7 Apr 2015 00:10:52 +0000 (00:10 +0000)]
ARGBToUV AVX2 functions hooked up.
BUG=none
TESTED=RGB565ToI420
R=tpsiaki@google.com

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

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

2 weeks agoAdd ARGBToY AVX calls.
fbarchard@google.com [Mon, 6 Apr 2015 23:11:05 +0000 (23:11 +0000)]
Add ARGBToY AVX calls.
BUG=none
TESTED=libyuv unittests all pass with AVX2
R=tpsiaki@google.com

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

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

2 weeks agoport RGB565ToARGB to AVX2.
fbarchard@google.com [Mon, 6 Apr 2015 19:24:23 +0000 (19:24 +0000)]
port RGB565ToARGB to AVX2.
BUG=421
TESTED=out\release\libyuv_unittest --gtest_filter=*RGB565ToARGB*
R=tpsiaki@google.com

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

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

2 weeks agoshift for arm wants a # sign for nacl and ios.
fbarchard@google.com [Fri, 3 Apr 2015 23:28:44 +0000 (23:28 +0000)]
shift for arm wants a # sign for nacl and ios.
BUG=420
TESTED=d:/src/nacl_sdk/pepper_canary/toolchain/win_arm_newlib/bin/arm-nacl-g++ -o newlib/Release/source/scale_neon_arm.o -c source/scale_neon.cc -g -O2 -pthread -MMD -DNDEBUG  -Id:/src/nacl_sdk/pepper_canary/include -Id:/src/nacl_sdk/pepper_canary/include/newlib  -I./include
R=tpsiaki@google.com

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

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

2 weeks agoScale down by 4 for odd number of destination pixels using 'any' that handles SIMD...
fbarchard@google.com [Fri, 3 Apr 2015 22:12:53 +0000 (22:12 +0000)]
Scale down by 4 for odd number of destination pixels using 'any' that handles SIMD for multiple of 8 pixels, and C for the remainder.
BUG=314
TESTED=local test with width odd

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

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

2 weeks agocode style cleanup of scale functions. no functional change.
fbarchard@google.com [Thu, 2 Apr 2015 21:23:52 +0000 (21:23 +0000)]
code style cleanup of scale functions.  no functional change.
BUG=none
TESTED=lint
R=tpsiaki@google.com

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

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

2 weeks agoFix the issue of q4 register not in clobber list for ARMv7
yang.zhang@arm.com [Thu, 2 Apr 2015 02:33:23 +0000 (02:33 +0000)]
Fix the issue of q4 register not in clobber list for ARMv7

On ARMv7 platform, q4 is used, but it isn't declared in clobber list.
It results that q4 isn't preserved automatically by compiler. So that the value of q4 is destroyed.

BUG=418
TESTED=libyuvTest.* on ARM32 with Android
R=fbarchard@google.com

Change-Id: Ib9b5eff8231c5057f4d58f1c4029f5452222af55

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

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

2 weeks agoscale to half size optimization for avx2 - use pmaddubsw instruction to horizontally...
fbarchard@google.com [Tue, 31 Mar 2015 23:59:27 +0000 (23:59 +0000)]
scale to half size optimization for avx2 - use pmaddubsw instruction to horizontally add bytes, then pavgw to round and divide by 2.
BUG=314
TESTED=libyuvTest.ScaleDownBy2*
R=tpsiaki@google.com

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

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

3 weeks agoAdd ScaleARGBCols_NEON for ARM32/64
yang.zhang@arm.com [Tue, 31 Mar 2015 03:03:05 +0000 (03:03 +0000)]
Add ScaleARGBCols_NEON for ARM32/64

ARM32/64 NEON versions of ScaleARGBCols_NEON are implemented.

BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: Id9ad97f7aa5d8a34cd55ace9e648cb6ff028efd9

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

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

3 weeks agoadd new scale_any to build files.
fbarchard@google.com [Mon, 30 Mar 2015 23:20:14 +0000 (23:20 +0000)]
add new scale_any to build files.
BUG=419
TESTED=untested
R=bcornell@google.com

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

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

3 weeks agolinear and point sample scale to half size for AVX2.
fbarchard@google.com [Mon, 30 Mar 2015 21:46:08 +0000 (21:46 +0000)]
linear and point sample scale to half size for AVX2.
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=tpsiaki@google.com

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

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

3 weeks agoscale to half size use pmadd/pavgw to horizontal averaging.
fbarchard@google.com [Fri, 27 Mar 2015 18:20:21 +0000 (18:20 +0000)]
scale to half size use pmadd/pavgw to horizontal averaging.
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=tpsiaki@google.com

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

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

3 weeks agoScale down by 2 AVX2 port. Processes twice as many pixels as SSE2 and takes advantag...
fbarchard@google.com [Thu, 26 Mar 2015 23:21:08 +0000 (23:21 +0000)]
Scale down by 2 AVX2 port.  Processes twice as many pixels as SSE2 and takes advantage of 3 argument instructions to reduce register usage and number of instructions.
BUG=314
TESTED=libyuvTest.ScaleDownBy2_Box
R=tpsiaki@google.com

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

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

3 weeks agoAll cpu flags to be set so that instead of comparing C code, compare assembler to...
fbarchard@google.com [Thu, 26 Mar 2015 18:22:29 +0000 (18:22 +0000)]
All cpu flags to be set so that instead of comparing C code, compare assembler to assembler, for benchmarking purposes.
BUG=none
TESTED=libyuv_unittest.exe
R=bcornell@google.com

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

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

3 weeks agoremove 1 tab from each row of histograms in libyuvTest.TestFullYUV and libyuvTest...
fbarchard@google.com [Wed, 25 Mar 2015 22:38:01 +0000 (22:38 +0000)]
remove 1 tab from each row of histograms in libyuvTest.TestFullYUV and libyuvTest.TestScaleFullYUV.
BUG=none
TESTED=libyuvTest.TestScaleFullYUV
R=tpsiaki@google.com

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

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

3 weeks agoHandle scale down by factor of 2 efficiently by calling SIMD for multiple of 16 desti...
fbarchard@google.com [Tue, 24 Mar 2015 23:25:30 +0000 (23:25 +0000)]
Handle scale down by factor of 2 efficiently by calling SIMD for multiple of 16 destination pixels, and C for remainder.
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=bcornell@google.com

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

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

4 weeks agoAdd nacl macros to ScaleFilterCols_NEON on ARM32/64 platform
yang.zhang@arm.com [Tue, 24 Mar 2015 08:02:30 +0000 (08:02 +0000)]
Add nacl macros to ScaleFilterCols_NEON on ARM32/64 platform

Add the nacl macros to ARM functions. If not, a bunch of code is failing
to validate.

BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I7a36434f18e0de8b8f8a9fe01167bfe50cff8962

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

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

4 weeks agoEnable assembly for clangcl build on Windows. Previously assembly was disabled so...
fbarchard@google.com [Thu, 19 Mar 2015 20:36:31 +0000 (20:36 +0000)]
Enable assembly for clangcl build on Windows.  Previously assembly was disabled so clangcl would work, but only with C code.  As clangcl mimics both Visual C and GCC, ifdefs need to pick one or the other or often you'll end up with both.  In this CL we disable most Visual C code and use the GCC versions which allow assembly for both 32 and 64 bit intel.
BUG=412
TESTED=clang=1 build on windows
R=tpsiaki@google.com

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

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

4 weeks agoAdd ScaleFilterCols_NEON for ARM32/64
yang.zhang@arm.com [Thu, 19 Mar 2015 03:55:05 +0000 (03:55 +0000)]
Add ScaleFilterCols_NEON for ARM32/64

ARM32/64 NEON versions of ScaleFilterCols_NEON are implemented.

BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I5b0838769ffb0182155d7cd6bcc520eb81eb5c4e

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

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

4 weeks agocopy width to int64 to pass to assembly to avoid warning on ios 64 bit for implicit...
fbarchard@google.com [Tue, 17 Mar 2015 17:56:20 +0000 (17:56 +0000)]
copy width to int64 to pass to assembly to avoid warning on ios 64 bit for implicit: value size does not match register size specified by the constraint and modif
BUG=413
TESTED=local ios 64 bit build
R=tpsiaki@google.com

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

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

4 weeks agoI422ToRGB24 AVX2 and I422ToRAW
fbarchard@google.com [Tue, 17 Mar 2015 17:25:27 +0000 (17:25 +0000)]
I422ToRGB24 AVX2 and I422ToRAW
BUG=none
TESTED=I422ToRGB24 unittest
R=tpsiaki@google.com

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

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

5 weeks agoAdd ScaleARGBRowDown2Linear_NEON for ARM32/64
yang.zhang@arm.com [Tue, 17 Mar 2015 02:23:59 +0000 (02:23 +0000)]
Add ScaleARGBRowDown2Linear_NEON for ARM32/64

ARM32/64 NEON versions of ScaleARGBRowDown2Linear_NEON are implemented.

BUG=319
TESTED=libyuvTest.ARGBScale* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: Ife602c81b51aa36e0d56b9d628f278a24eed96f6

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

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

5 weeks agoAdd ARGBToRGB565DitherRow_NEON for ARM32/64
yang.zhang@arm.com [Tue, 17 Mar 2015 02:22:25 +0000 (02:22 +0000)]
Add ARGBToRGB565DitherRow_NEON for ARM32/64

ARM32/64 NEON versions of ARGBToRGB565DitherRow_NEON are implemented.

BUG=407
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: Ia689170fb39db964392e5e1113801592ab0628bf

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

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

5 weeks agoPort J422 colorspace to GCC
fbarchard@google.com [Tue, 17 Mar 2015 00:54:50 +0000 (00:54 +0000)]
Port J422 colorspace to GCC
BUG=414
TESTED=try bots
R=tpsiaki@google.com

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

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

5 weeks agorename I400 to J400 and I400 reference to I400. J400 is a simple replication of...
fbarchard@google.com [Tue, 17 Mar 2015 00:01:18 +0000 (00:01 +0000)]
rename I400 to J400 and I400 reference to I400.  J400 is a simple replication of values to convert to RGB, which is what the old I400 was.  I400 reference is the Y part of the YUV formula, so renaming that to I400.
BUG=none
TESTED=libyuvTest (5925 ms total)
R=tpsiaki@google.com

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

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

5 weeks agocpuid ifdefs fixed to remove some duplicate code cases.
fbarchard@google.com [Mon, 16 Mar 2015 20:02:04 +0000 (20:02 +0000)]
cpuid ifdefs fixed to remove some duplicate code cases.
BUG=none
TESTED=local windows build
R=tpsiaki@google.com

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

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

5 weeks agoclangcl build fix for __cpuid in psnr util. Since clangcl provides the intrinsic...
fbarchard@google.com [Mon, 16 Mar 2015 19:56:41 +0000 (19:56 +0000)]
clangcl build fix for __cpuid in psnr util. Since clangcl provides the intrinsic thru its Visual C emulation, don't duplicately define the function with an inline version, which is normally needed for gcc/clang.
BUG=412
TESTED=set GYP_DEFINES=clang=1 & gyp_libyuv -fninja libyuv_test.gyp
R=brucedawson@google.com

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

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

5 weeks agoFix YToARGB and tweaks to thresholds in YUV tests.
fbarchard@google.com [Mon, 16 Mar 2015 19:50:33 +0000 (19:50 +0000)]
Fix YToARGB and tweaks to thresholds in YUV tests.
BUG=411
TESTED=libyuvTest.TestYToARGB
R=bcornell@google.com

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

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

5 weeks agoAdd test for color accuracy of J422ToARGB
fbarchard@google.com [Mon, 16 Mar 2015 18:47:42 +0000 (18:47 +0000)]
Add test for color accuracy of J422ToARGB
BUG=414
TESTED=libyuvTest.TestFullYUVJ
R=tpsiaki@google.com

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

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

5 weeks agoOptimized J422ToARGB.
fbarchard@google.com [Mon, 16 Mar 2015 18:08:30 +0000 (18:08 +0000)]
Optimized J422ToARGB.
BUG=414
TESTED=J422ToARGB unittest
R=tpsiaki@google.com

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

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

5 weeks agoImprove accuracy of J422 color space using higher precission fixed point and bias.
fbarchard@google.com [Mon, 16 Mar 2015 18:08:12 +0000 (18:08 +0000)]
Improve accuracy of J422 color space using higher precission fixed point and bias.
BUG=414
TESTED=TestFullYUVJ
R=tpsiaki@google.com

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

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

5 weeks agoAdd ScaleAddRows_NEON for ARM32/64
yang.zhang@arm.com [Mon, 16 Mar 2015 02:57:46 +0000 (02:57 +0000)]
Add ScaleAddRows_NEON for ARM32/64

ARM32/64 NEON versions of ScaleAddRows_NEON are implemented.

BUG=319
TESTED=libyuvTest.Scale* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I45b88c2b5f576042ba5b3d8d6f8851257fdb7218

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

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

5 weeks agotest different ways to round and clamp
fbarchard@google.com [Fri, 13 Mar 2015 22:24:45 +0000 (22:24 +0000)]
test different ways to round and clamp
BUG=none
TESTED=TestRoundToByte
R=tpsiaki@google.com

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

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

5 weeks agoFix for planar functions SSE2 enable when building with clang for Windows.
fbarchard@google.com [Fri, 13 Mar 2015 21:37:14 +0000 (21:37 +0000)]
Fix for planar functions SSE2 enable when building with clang for Windows.
BUG=412
TESTED=clang=1 for build on windows
R=tpsiaki@google.com

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

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

5 weeks agotest for cast and clamp performance.
fbarchard@google.com [Thu, 12 Mar 2015 18:49:32 +0000 (18:49 +0000)]
test for cast and clamp performance.
BUG=none
TESTED=libyuv unittest added to benchmark and confirm behavior of cast
R=harryjin@google.com

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

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

5 weeks agoI400ToARGB_AVX2 port from SSE2 to AVX2.
fbarchard@google.com [Wed, 11 Mar 2015 18:12:17 +0000 (18:12 +0000)]
I400ToARGB_AVX2 port from SSE2 to AVX2.
BUG=403
TESTED=libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*I400ToARGB*
R=brucedawson@google.com

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

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

5 weeks agoI411ToARGB AVX2 version
fbarchard@google.com [Wed, 11 Mar 2015 00:08:56 +0000 (00:08 +0000)]
I411ToARGB AVX2 version
BUG=403
TESTED=I411ToARGB unittest
R=harryjin@google.com

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

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

5 weeks agoscale avoid math overflow in fixed point for large images
fbarchard@google.com [Tue, 10 Mar 2015 22:30:47 +0000 (22:30 +0000)]
scale avoid math overflow in fixed point for large images
BUG=410
TESTED=set LIBYUV_WIDTH=65536 out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=libyuvTest.ScaleTo320x240_None
R=harryjin@google.com

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

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

5 weeks agoMake TestFullYUV test do full yuv color space by default with randomized Y for inner...
fbarchard@google.com [Tue, 10 Mar 2015 21:26:46 +0000 (21:26 +0000)]
Make TestFullYUV test do full yuv color space by default with randomized Y for inner loop
BUG=none
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*TestFullYUV
R=harryjin@google.com

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

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

6 weeks agoFix standalone GN build.
kjellander@google.com [Tue, 10 Mar 2015 08:16:49 +0000 (08:16 +0000)]
Fix standalone GN build.

Add dependencies and move the neon target to only be
specified for ARM builds so a standalone GN build can be
performed.

TESTED=Ran:
gn gen out/Release --args=is_debug=false
ninja -C out/Release

gn gen out/Debug --args=is_debug=true
ninja -C out/Debug

gn gen out/Debug --args="is_debug=true os=\"android\" "cpu_arch=\"arm\""
ninja -C out/Debug

gn gen out/Release --args="is_debug=false os=\"android\" "cpu_arch=\"arm\""
ninja -C out/Release

R=fbarchard@google.com

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

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

6 weeks agoMake color_test using if statements for clamping values from 0 to 255.
fbarchard@google.com [Tue, 10 Mar 2015 01:51:01 +0000 (01:51 +0000)]
Make color_test using if statements for clamping values from 0 to 255.
BUG=none
TESTED=libyuvTest.TestFullYUV

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

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

6 weeks agoDither from I420 to RGB565 in 2 steps - I420ToARGB then ARGBToRGB565.
fbarchard@google.com [Tue, 10 Mar 2015 01:45:04 +0000 (01:45 +0000)]
Dither from I420 to RGB565 in 2 steps - I420ToARGB then ARGBToRGB565.
BUG=407
TESTED=untested
R=brucedawson@google.com, tpsiaki@google.com

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

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

6 weeks agoPort I444ToARGB to AVX2.
fbarchard@google.com [Mon, 9 Mar 2015 21:56:48 +0000 (21:56 +0000)]
Port I444ToARGB to AVX2.
BUG=403
TESTED=I444ToARGB unittests
R=tpsiaki@google.com

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

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

6 weeks agoChange YUV full test to use pseudo random order
fbarchard@google.com [Sun, 8 Mar 2015 23:00:39 +0000 (23:00 +0000)]
Change YUV full test to use pseudo random order
BUG=none
TESTED=libyuvTest.TestFullYUV

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

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

6 weeks agolrintf is not supported by visual studio 2010; replace instances of lrintf with a...
fbarchard@google.com [Fri, 6 Mar 2015 22:20:41 +0000 (22:20 +0000)]
lrintf is not supported by visual studio 2010; replace instances of lrintf with a cast to int.
BUG=409
TESTED=python build\gyp_chromium -fninja -G msvs_version=2010 --depth=. libyuv_test.gyp
R=harryjin@google.com

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

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

6 weeks agodisable nv12 avx2 for vs9/10 that dont support avx2 instructions.
fbarchard@google.com [Fri, 6 Mar 2015 19:12:21 +0000 (19:12 +0000)]
disable nv12 avx2 for vs9/10 that dont support avx2 instructions.
BUG=409
TESTED=try bots
R=harryjin@google.com, johannkoenig@google.com

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

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

6 weeks agoswitch from 8x8 to 4x4 matrix for dithering
fbarchard@google.com [Fri, 6 Mar 2015 18:28:00 +0000 (18:28 +0000)]
switch from 8x8 to 4x4 matrix for dithering
BUG=407
TESTED=Dither unittests
R=brucedawson@google.com

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

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

6 weeks agoARGBToRGB565 AVX2 with dithering
fbarchard@google.com [Wed, 4 Mar 2015 22:31:43 +0000 (22:31 +0000)]
ARGBToRGB565 AVX2 with dithering
BUG=407
TESTED=ARGBToRGB565Dither unittest
R=brucedawson@google.com, harryjin@google.com

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

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

6 weeks agoARGBToRGB565 SSE2 port.
fbarchard@google.com [Wed, 4 Mar 2015 00:00:50 +0000 (00:00 +0000)]
ARGBToRGB565 SSE2 port.
BUG=407
TESTED=ARGBToRGB565Dither unittest
R=harryjin@google.com

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

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

7 weeks agoAdd ScaleRowDown2Linear_NEON for ARM32/64
yang.zhang@arm.com [Tue, 3 Mar 2015 02:17:16 +0000 (02:17 +0000)]
Add ScaleRowDown2Linear_NEON for ARM32/64

ARM32/64 NEON versions of ScaleRowDown2Linear_NEON are implemented.

BUG=319
TESTED=libyuvTest.ScaleDownBy2_Linear on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I2c7f43a0d56ed4dfded5bdbbb61765d87d65a2ba

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

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

7 weeks agoARGBToRGB565 C version use unsigned dither matrix pattern to bump pixels to next...
fbarchard@google.com [Mon, 2 Mar 2015 23:46:09 +0000 (23:46 +0000)]
ARGBToRGB565 C version use unsigned dither matrix pattern to bump pixels to next brighter value.
BUG=407
TESTED=unittest passes
R=harryjin@google.com

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

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

7 weeks agoshift by 16 for neon expects a number sign
fbarchard@google.com [Mon, 2 Mar 2015 18:48:17 +0000 (18:48 +0000)]
shift by 16 for neon expects a number sign
BUG=408
TESTED=nacl arm build
R=harryjin@google.com

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

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

7 weeks agoImprove the accuracy YUV to RGB for ARM64 NEON
yang.zhang@arm.com [Mon, 2 Mar 2015 08:30:22 +0000 (08:30 +0000)]
Improve the accuracy YUV to RGB for ARM64 NEON

ARM64 NEON version of YUV422TORGB is updated based on C algorithm.
Except TestJ420 and TestYUV, all the other tests are passed.

BUG=324
TESTED=libyuvTest on ARM64 with Android
R=fbarchard@google.com

Change-Id: Ia2663cfdeccc4c8c1d46262c9c0cc67b71d45e70

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

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

7 weeks agoAdd Neon source files to libyuv GN build
fbarchard@google.com [Fri, 27 Feb 2015 22:12:17 +0000 (22:12 +0000)]
Add Neon source files to libyuv GN build
BUG=none
TESTED=untested
R=bcornell@google.com

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

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

7 weeks agoport ARGBToRGB565 and ARGB1555 to AVX2. Enable functions that use ARGBToRGB565 AVX2...
fbarchard@google.com [Fri, 27 Feb 2015 21:15:28 +0000 (21:15 +0000)]
port ARGBToRGB565 and ARGB1555 to AVX2.  Enable functions that use ARGBToRGB565 AVX2 code.  Add ARGBToRGB565Dither function.
BUG=403
TESTED=local windows build
R=harryjin@google.com

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

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

7 weeks agoRoll chromium_revision 271c6cc..2c3ffb2 (309333:317530) + fixes
kjellander@google.com [Fri, 27 Feb 2015 10:20:23 +0000 (10:20 +0000)]
Roll chromium_revision 271c6cc..2c3ffb2 (309333:317530) + fixes

Details: https://chromium.googlesource.com/chromium/src/+/271c6cc..2c3ffb2/DEPS

Updated sync_chromium.py to be identical with WebRTC's current version.
Removed the xcode61 suffixed Mac trybots as well.

The following were moved into src/buildtools:
* src/third_party/libc++/trunk
* src/third_party/libc++abi/trunk

TBR=fbarchard@google.com
TESTED=All trybots passing this.

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

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

7 weeks agoCleanup LSan suppression files.
kjellander@google.com [Wed, 25 Feb 2015 20:52:59 +0000 (20:52 +0000)]
Cleanup LSan suppression files.

This file no longer needs to exist after
https://codereview.chromium.org/941433004/ has been landed.

Libyuv never had any LSan suppressions added, so the
file has no purpose.
Also cleanup empty sanitizer_options.gyp file that was added
by mistake.

BUG=
R=fbarchard@google.com

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

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

7 weeks agoRemove unused URL in DEPS
kjellander@google.com [Wed, 25 Feb 2015 20:52:24 +0000 (20:52 +0000)]
Remove unused URL in DEPS

R=fbarchard@google.com

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

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

7 weeks agoif building with gcc and sse2 is not enabled, disable assembly
fbarchard@google.com [Wed, 25 Feb 2015 19:28:45 +0000 (19:28 +0000)]
if building with gcc and sse2 is not enabled, disable assembly
BUG=none
TESTED=nacl build with default options
R=harryjin@google.com

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

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

7 weeks agoAVX2 version of ARGBToARGB4444
fbarchard@google.com [Wed, 25 Feb 2015 17:26:28 +0000 (17:26 +0000)]
AVX2 version of ARGBToARGB4444
BUG=403
TESTED=local build on windows
R=harryjin@google.com

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

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

7 weeks agoImprove the accuracy YUV to RGB for ARMv7 NEON
yang.zhang@arm.com [Wed, 25 Feb 2015 06:51:29 +0000 (06:51 +0000)]
Improve the accuracy YUV to RGB for ARMv7 NEON

NEON version of YUV422TORGB is updated based on C algorithm. Accuracy YUV to RGB
of NEON is also updated according to test result. Macro LIBYUV_NEON is added to
identify accuracy YUV to RGB for ARM platform.
Except TestJ420 and TestYUV, all the other tests are passed.

BUG=324
TESTED=libyuvTest on ARMv7 with Android
R=fbarchard@google.com

Change-Id: I492ca628679940534f40341721dc5b6dc2d7a5b6

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

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

7 weeks agoAVX2 version of NV12ToARGB
fbarchard@google.com [Tue, 24 Feb 2015 23:45:08 +0000 (23:45 +0000)]
AVX2 version of NV12ToARGB
BUG=403
TESTED=untested
R=harryjin@google.com

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

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

7 weeks agoalign avx2 buffers to 32 bytes
fbarchard@google.com [Tue, 24 Feb 2015 23:31:28 +0000 (23:31 +0000)]
align avx2 buffers to 32 bytes
BUG=403
TESTED=untested
R=harryjin@google.com

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

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

7 weeks agoI422ToRGB565, ARGB4444 and ARGB1555 for AVX2
fbarchard@google.com [Tue, 24 Feb 2015 23:14:46 +0000 (23:14 +0000)]
I422ToRGB565, ARGB4444 and ARGB1555 for AVX2
BUG=403
TESTED=avx2 emulator

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

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

7 weeks agomove mask to last parameter of any functions for consistency.
fbarchard@google.com [Tue, 24 Feb 2015 21:18:30 +0000 (21:18 +0000)]
move mask to last parameter of any functions for consistency.
BUG=none
TESTED=local libyuv unittest passes
R=harryjin@google.com

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

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

7 weeks agoYUY2 and UYVY to ARGB AVX2 versions via wrappers.
fbarchard@google.com [Tue, 24 Feb 2015 18:58:51 +0000 (18:58 +0000)]
YUY2 and UYVY to ARGB AVX2 versions via wrappers.
BUG=403
TESTED=UNTESTED
R=harryjin@google.com

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

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

7 weeks agoAdd drover.properties for libyuv
kjellander@google.com [Tue, 24 Feb 2015 10:06:44 +0000 (10:06 +0000)]
Add drover.properties for libyuv

To use this for reverts, just run drover
from the root directory (i.e. the directory
where this file is located). Notice you'll
end up with a drover_<revision> directory
being created that contains the revert changes.

If you don't have a checkout, you can also
use it like this:
svn export https://libyuv.googlecode.com/svn/trunk/drover.properties
Then just run:
drover --revert <revision>

TBR=fbarchard@google.com

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

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

8 weeks agoRevert "YUY2ToARGB and UYVYToARGB AVX with C wrapper to call lower level conversions."
kjellander@google.com [Mon, 23 Feb 2015 09:22:22 +0000 (09:22 +0000)]
Revert "YUY2ToARGB and UYVYToARGB AVX with C wrapper to call lower level conversions."

This reverts r1288 due to breaking compilation on bots:
http://build.chromium.org/p/client.libyuv/builders/Mac64%20Debug/builds/365
http://build.chromium.org/p/client.libyuv/builders/Linux64%20Debug/builds/667

TBR=fbarchard@google.com
TESTED=Reverted locally and all built fine again.

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

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

8 weeks agoYUY2ToARGB and UYVYToARGB AVX with C wrapper to call lower level conversions.
fbarchard@google.com [Sat, 21 Feb 2015 00:49:35 +0000 (00:49 +0000)]
YUY2ToARGB and UYVYToARGB AVX with C wrapper to call lower level conversions.
BUG=403
TESTED=convert unittest
R=brucedawson@google.com

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

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

8 weeks agouse named type for pointer
fbarchard@google.com [Fri, 20 Feb 2015 23:26:27 +0000 (23:26 +0000)]
use named type for pointer
BUG=403
TESTED=try bot

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

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

8 weeks agoSwitch SSSE3 row wrappers from variable sized malloc to fixed size array with loop...
fbarchard@google.com [Fri, 20 Feb 2015 22:46:15 +0000 (22:46 +0000)]
Switch SSSE3 row wrappers from variable sized malloc to fixed size array with loop to process a portion of the row at a time.  This helps performance in the case where the image has been coalesced into a single large row and the allocator, although only called once, is slow to clear the pages.  Also the smaller temporary buffer fits cache, further improving performance.
BUG=403
TESTED=YUY2ToARGB unittest
R=harryjin@google.com

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

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

2 months agoScan from start of buffer to handle case where an invalid size was passed.
fbarchard@google.com [Wed, 18 Feb 2015 01:57:31 +0000 (01:57 +0000)]
Scan from start of buffer to handle case where an invalid size was passed.
BUG=404
TESTED=libyuvTest.ValidateJpegLarge
R=brucedawson@google.com, harryjin@google.com

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

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

2 months agoUnittest to test ValidateJpeg when jpeg is small but buffer is large
fbarchard@google.com [Tue, 17 Feb 2015 19:16:14 +0000 (19:16 +0000)]
Unittest to test ValidateJpeg when jpeg is small but buffer is large
BUG=404
TESTED=libyuvTest.ValidateJpegLarge
R=harryjin@google.com

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

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

2 months agomacros for storing RGB on windows.
fbarchard@google.com [Sat, 14 Feb 2015 00:50:48 +0000 (00:50 +0000)]
macros for storing RGB on windows.
BUG=403
TESTED=local windows build
R=harryjin@google.com

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

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

2 months agoSwitch to macro for STOREBGRA etc on Posix SSSE3
fbarchard@google.com [Fri, 13 Feb 2015 21:53:16 +0000 (21:53 +0000)]
Switch to macro for STOREBGRA etc on Posix SSSE3
BUG=393
TESTED=try bots
R=harryjin@google.com

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

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

2 months agoSwitch step for libyuvTest.TestFullYUV from 3 to 5 for better test performance.
fbarchard@google.com [Fri, 13 Feb 2015 21:48:29 +0000 (21:48 +0000)]
Switch step for libyuvTest.TestFullYUV from 3 to 5 for better test performance.
BUG=397
TESTED=libyuvTest.TestFullYUV
R=harryjin@google.com

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

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

2 months agoupdated file source list for android mk system.
fbarchard@google.com [Wed, 11 Feb 2015 19:42:25 +0000 (19:42 +0000)]
updated file source list for android mk system.
BUG=402
TESTED=untested
R=harryjin@google.com

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

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

2 months agoMacro to store ARGB value
fbarchard@google.com [Wed, 11 Feb 2015 18:53:54 +0000 (18:53 +0000)]
Macro to store ARGB value
BUG=396
TESTED=local windows build
R=harryjin@google.com

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

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

2 months agoRemove Q420 fourcc support.
fbarchard@google.com [Wed, 11 Feb 2015 18:20:54 +0000 (18:20 +0000)]
Remove Q420 fourcc support.
BUG=396
TESTED=local build of unittest builds and passes
R=harryjin@google.com

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

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

2 months agoEnable NEON functions for ARM32
yang.zhang@arm.com [Wed, 11 Feb 2015 08:30:11 +0000 (08:30 +0000)]
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

2 months agouse matrix for win64 version of I420ToARGB
fbarchard@google.com [Wed, 11 Feb 2015 00:57:46 +0000 (00:57 +0000)]
use matrix for win64 version of I420ToARGB
BUG=396
TESTED=local unittests build/pass
R=harryjin@google.com

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

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

2 months agoAdd a macro for YUV to RGB on Windows. Allows multiple color matrix structures in...
fbarchard@google.com [Tue, 10 Feb 2015 23:03:37 +0000 (23:03 +0000)]
Add a macro for YUV to RGB on Windows.  Allows multiple color matrix structures in the future.
BUG=393
TESTED=local build
R=brucedawson@google.com, harryjin@google.com

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

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

2 months agoAdd a macro to reference YUV structure for future alternative color spaces.
fbarchard@google.com [Tue, 10 Feb 2015 19:34:17 +0000 (19:34 +0000)]
Add a macro to reference YUV structure for future alternative color spaces.
BUG=393
TESTED=try bots
R=harryjin@google.com

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

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

2 months agoFix the bug (0 extension from int to int64) in ScaleARGBRowDownEven_NEON.
yang.zhang@arm.com [Tue, 10 Feb 2015 06:04:12 +0000 (06:04 +0000)]
Fix the bug (0 extension from int to int64) in ScaleARGBRowDownEven_NEON.

Reason of this bug is that ARM64 can't extend the sign bit of a 32-bit integer
to 64-bit integer automatically.
ScaleARGBRowDownEven_NEON is also enabled for ARM64.

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

Change-Id: Ib8d30a05156239247296aa8bb4faa94b4f69a9c3

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

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

2 months agoSupport odd widths for NV12 format when cropping vertically.
fbarchard@google.com [Tue, 10 Feb 2015 02:18:38 +0000 (02:18 +0000)]
Support odd widths for NV12 format when cropping vertically.
BUG=400
TESTED=CropNV12
R=harryjin@google.com

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

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