1395 Commits

Author SHA1 Message Date
Frank Barchard
82180e8296 rgb24toyuv use 1 or 2 steps consistently.
R=bcornell@google.com, impjdi@google.com
BUG=libyuv:459

Review URL: https://webrtc-codereview.appspot.com/52149004.
2015-06-29 16:51:05 -07:00
Frank Barchard
ef8cb9b0db Roll chromium_revision to same as webrtc to resolve build issue on ios.
This CL mimics https://codereview.webrtc.org/1145343009/ which updated set_links for ios.

R=harryjin@google.com
BUG=libyuv:456
TESTED=try bots

Review URL: https://webrtc-codereview.appspot.com/50309004.
2015-06-29 12:05:33 -07:00
Frank Barchard
2dd0e9c2d1 roll back chromium deps to version that works for android
R=bcornell@google.com
BUG=none

Review URL: https://webrtc-codereview.appspot.com/53739004.
2015-06-25 13:40:25 -07:00
Frank Barchard
0686f26938 blend remove alignment 1 pixel loop for less overhead.
R=tpsiaki@google.com
BUG=none
TESTED=libyuvTest.ARGBBlend_Opt

Review URL: https://webrtc-codereview.appspot.com/50289005.
2015-06-24 11:34:12 -07:00
Frank Barchard
553c7f85f1 mirror odd width with simd
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/54769004.
2015-06-23 17:53:02 -07:00
Frank Barchard
6a9ef1ea36 any 1 to 2 with stride use SIMD
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/54759004.
2015-06-23 17:08:08 -07:00
Frank Barchard
6dde4f14bd argb to uv read 4 not 8
R=harryjin@google.com
BUG=libyuv:457

Review URL: https://webrtc-codereview.appspot.com/52139004.
2015-06-23 14:48:37 -07:00
Frank Barchard
54100b91c1 copy 2 rows for interpolate and use SIMD.
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/50279004.
2015-06-23 10:41:46 -07:00
Frank Barchard
3b5d726a4f 1 to 1 any functions with a parameter use memcpy.
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/57619004.
2015-06-22 15:08:20 -07:00
Frank Barchard
a0fca88b1d remove fmemcpy and bump version
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/50269004.
2015-06-19 17:58:17 -07:00
Frank Barchard
722e87f19f string.h for memcpy
R=harryjin
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/57609004.
2015-06-19 16:40:22 -07:00
Frank Barchard
dfb2120a42 set us simd
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/55629004.
2015-06-19 14:18:48 -07:00
Frank Barchard
6608c100e2 copy last 4
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/54749004.
2015-06-18 17:40:19 -07:00
Frank Barchard
836709abe2 head version of chromium to attempt ios git build fix
BUG=libyuv:465
TESTED=try bots
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/57599005.
2015-06-18 15:45:39 -07:00
Frank Barchard
a209d7314b simd for 1 to 1
R=harryjin@google.com, harryjin
BUG=448

Review URL: https://webrtc-codereview.appspot.com/55619004.
2015-06-17 18:22:11 -07:00
Frank Barchard
72a235af9f repeat y for yuy2 so that unittests that check the 2nd y on odd widths will match the C and SIMD. The C code duplicates the last Y.
R=harryjin@google.com
BUG=libyuv:455

Review URL: https://webrtc-codereview.appspot.com/50249004.
2015-06-16 16:27:15 -07:00
Frank Barchard
44ff3c333d split share macro
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/55609004.
2015-06-16 12:44:15 -07:00
Frank Barchard
2edfe0f0c6 merge
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/52119004.
2015-06-16 12:17:53 -07:00
Frank Barchard
bff1e18e51 share functions in any
R=harryjin@google.com
BUG=libyuv:448

Review URL: https://webrtc-codereview.appspot.com/57599004.
2015-06-16 12:05:39 -07:00
Frank Barchard
0b3294af6c disable I422ToYUY2 sse for odd sizes.
BUG=455
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/51239004.
2015-06-16 11:09:03 -07:00
Frank Barchard
5edb101088 disable version which fails under git
R=harryjin@google.com, harryjin
BUG=none

Review URL: https://webrtc-codereview.appspot.com/52739004.
2015-06-16 10:02:41 -07:00
Frank Barchard
68e8d9bebd Math functions need BPP of 4 for odd width support on first source argument
BUG=455
TESTED=ARGBMultply
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/54719004.
2015-06-16 09:34:51 -07:00
Frank Barchard
b071a3d321 subsample yuy2 dest
BUG=455
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*ARGBToYUY2*
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/58429004.
2015-06-15 12:01:28 -07:00
Frank Barchard
58ca9f899e remainder done unconditionally and with a variable
BUG=448
TESTED=local build
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/57559004.
2015-06-12 17:21:41 -07:00
Frank Barchard
242cb2554c nv12 odd width support using SIMD for remainder
BUG=libyuv:448
TESTED=NV21ToRGB565_Any etc
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/53689004.
2015-06-12 16:07:20 -07:00
Frank Barchard
cae07fb0e0 bump subsampling up
BUG=455
TESTED=libyuvTest.ARGBToYUY2_Random
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/58419004.
2015-06-12 15:25:03 -07:00
Frank Barchard
03da5420bc use SIMD for I420ToARGB odd widths in a temporary buffer instead of using C for remainder.
Enter a description of the change.

use SIMD for I420ToARGB odd widths in a temporary buffer instead of using C for remainder.  Currently the C code does not exactly match the SIMD code, so an odd width produces different pixels than an even width, causing a subtle artifact.  By using SIMD consistently, there is no difference in even and odd widths.  Also the SIMD performance is faster, so even with overhead of memcpy, performance improves.

BUG=447
TESTED=out\release\libyuv_unittest.exe --gtest_filter=*I420ToARGB*
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/55579004.
2015-06-11 16:38:52 -07:00
Frank Barchard
ee351bc2d5 check height is non-zero
BUG=none
TESTED=libyuv unittest with even width
R=bcornell@google.com

Review URL: https://webrtc-codereview.appspot.com/51219004.
2015-06-11 16:35:20 -07:00
Frank Barchard
4389070d34 ignore pyc
BUG=none
TESTED=untested
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/54709004.
2015-06-11 15:33:53 -07:00
Nodir Turakulov
0c31649f46 DEPS: trunk -> libyuv
Replace 'trunk' root dir in DEPS with libyuv.

R=fbarchard@google.com, fbarchard@chromium.org, kjellander@chromium.org
BUG=libyuv:452

Review URL: https://webrtc-codereview.appspot.com/52109004.
2015-06-09 21:15:08 -07:00
Frank Barchard
ce960d5f6a add scale_any to linux.mk make file.
BUG=453
TESTED=untested
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/50239004.
2015-06-09 17:15:12 -07:00
fbarchard@google.com
2e9f3e5cf5 rename source files from row_posix.cc etc to row_gcc.cc to avoid gyp build filtering out source files from build when on windows with clang. The source code contained in row_gcc.cc is gcc syntax inline assembly available for any platform that supports gcc or clang for intel cpus.
BUG=440
TESTED=try bots
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1430 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-09 17:27:52 +00:00
fbarchard@google.com
d880a90eca make randomize take 64 bit count to allow larger images to be tested
BUG=none
TESTED=untested

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1429 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-09 01:55:01 +00:00
fbarchard@google.com
05416e2d9a Box filter for YUV use rows with accumulation buffer for better memory behavior. The old code would do columns accumulated into registers, and then store the result once. This was slow from a memory point of view. The new code does a row of source at a time, updating an accumulation buffer every row. The accumulation buffer is small, and should fit cache. Before each accumulation of N rows, the buffer needs to be reset to zero. If the memset is a bottleneck, it would be faster to do the first row without an add, storing to the accumulation buffer, and then add for the remaining rows.
BUG=425
TESTED=out\release\libyuv_unittest --gtest_filter=*ScaleTo1x1*
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1428 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-09 01:05:18 +00:00
fbarchard@google.com
b07de879b6 enable intrinsics for clangcl if -mssse3 is enabled.
BUG=451
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1427 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-08 22:48:18 +00:00
fbarchard@google.com
965ef277e1 bump deps to head chromium to get prebuilt clangcl
BUG=none
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1426 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-08 22:07:07 +00:00
fbarchard@google.com
b3d3db1b33 align clangcl using declspec instead of gcc style vector
BUG=451
TESTED=clang=1 build on windows
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1425 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-08 21:37:37 +00:00
johannkoenig@google.com
da6ee35e0c Revert "libyuv: Include foo_posix.cc in the gn build, like it's done in the gyp build."
BUG=496928
R=thakis@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1424 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-05 23:55:57 +00:00
johannkoenig@google.com
d7242b5b6c libyuv: Include foo_posix.cc in the gn build, like it's done in the gyp build.
This is required to get things linking in clang/win. Medium-term, we should
clean libyuv up to not require _posix files on non-posix.

Reviewed at https://webrtc-codereview.appspot.com/52069004/

BUG=496928

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1423 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-05 20:20:29 +00:00
fbarchard@google.com
684c09cd44 roll chromium revision to head in attempt to resolve build time performance hit due to external compilers on windows.
BUG=none
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1422 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-04 22:27:22 +00:00
fbarchard@google.com
a09fd1aa0f scale tests use int64 for size
BUG=none
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1421 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-04 21:34:16 +00:00
fbarchard@google.com
01ca0712c7 Test rotation with negative height
BUG=446
TESTED=libyuvTest.NV12Rotate180_Inverted
R=bcornell@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1420 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-02 22:42:45 +00:00
fbarchard@google.com
d3d8e0d933 make source for planar tests contiguous to test planar functions coalesce into a single low level call.
BUG=431
TESTED=SetPlane unittest
R=bcornell@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1419 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-01 23:28:59 +00:00
fbarchard@google.com
00c0141f30 Add scale color test place holder source
BUG=401
TESTED=untested

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1418 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-01 23:27:07 +00:00
fbarchard@google.com
e5fbad8f39 Add test for scaling color accuracy
BUG=401
TESTED=scale_color test

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1417 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-01 22:57:58 +00:00
fbarchard@google.com
e787144c2d adjust dimensions for scale factor tests to ensure the scale factor tested is actually used.
BUG=none
TESTED=set LIBYUV_WIDTH=1918 libyuvTest.ScaleDownBy3by4_None
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1416 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-30 00:45:08 +00:00
fbarchard@google.com
bd2d903e1b odd width support for ARGBSobel functions. Improves performance for images that are not a multiple of 8 pixels.
BUG=444
TESTED=libyuvTest.ARGBSobel_Opt
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1415 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-28 22:22:28 +00:00
fbarchard@google.com
cfce47efc8 Change Sobel to use JPeg Luma calculation instead of extracting G channel. Using luma produces a better sobel that respects all 3 channels of RGB. Historically the G channel was used to improve performance, and because the luma of I420 is a constrained range, hurting quality. Using the JPeg variation of YUV, the luma is more accurate, including cross platform, better optimized for AVX2 and odd widths, and full range.
BUG=444
TESTED=ARGBSobelXY_Opt
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1414 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-27 22:32:26 +00:00
fbarchard@google.com
535a7140f2 Scale Down by factor tests scale down to specified ratio rather than up. This ensures the alignment constrains on the destination dont cause a different factor to be used.
BUG=431
TESTED=libyuvTest.ScaleDownBy3_Bilinear
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1413 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-26 23:22:01 +00:00
fbarchard@google.com
7c09264ffc odd width support for scale by even scale factor and box scale down by 4. scale down by 4 uses scale down by 2 internally.
BUG=431
TESTED=libyuvTest.ARGBScaleDownBy4_Bilinear

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1412 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-26 17:56:51 +00:00