Frank Barchard
16f12b58cc
Replace random with fastrand
...
random / rand is slow and impacts performance testing.
Although its only called to clear a frame once, a typical profile shows
it high in the overall profile, when doing 1000 frames for a benchmark.
95.10% libyuv_unittest libyuv_unittest [.] YUY2ToARGBRow_SSSE3
2.01% libyuv_unittest libc-2.19.so [.] __random_r
1.13% libyuv_unittest libc-2.19.so [.] __random
Replace random is a faster version for unittests.
set LIBYUV_WIDTH=1280
set LIBYUV_HEIGHT=720
set LIBYUV_REPEAT=999
set LIBYUV_FLAGS=-1
out\release\libyuv_unittest --gtest_filter=*YUY2ToARGB* | findms
Was
libyuvTest.YUY2ToARGB_Opt (497 ms)
Now
libyuvTest.YUY2ToARGB_Opt (454 ms)
R=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1361813002 .
2015-09-22 15:47:36 -07: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
f16f33d4ce
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
2015-03-26 18:22:29 +00:00
fbarchard@google.com
d28cd77f99
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
2015-03-19 20:36:31 +00:00
fbarchard@google.com
0887315390
Remove bayer format support from libyuv. This format is very rare and used on legacy hardware. Its not well optimized and has bugs related to odd widths. Removing the format will allow tests to pass under more circumstances, run faster and allow focus on higher priority quality and performance issues.
...
BUG=301
TESTED=local unittests build/pass on windows gyp build.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/38059004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1270 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-09 19:58:19 +00:00
fbarchard@google.com
8e3db2dc73
Support invert for ARGBRect and SetPlane
...
BUG=387
TESTED=ARGBRect_Invert
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/37539004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1219 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-07 19:02:01 +00:00
fbarchard@google.com
61ffd847d7
Add tests for ARGBRect and SetPlane. Remove comment to test Neon shuffle and Setrows for Neon.
...
BUG=387
TESTED=libyuvTest.ARGBRect_Opt and libyuvTest.SetPlane_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/35589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1217 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-01-06 22:27:35 +00:00
fbarchard@google.com
ae9a1388a7
Use malloc for row buffers in rotate
...
BUG=296
TESTED=rotate_test
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6329004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@922 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-26 21:41:11 +00:00
fbarchard@google.com
ff74e023e1
A simple Makefile for libyuv on linux
...
BUG=286
TEST=make
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3979005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@856 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-18 16:56:45 +00:00
fbarchard@google.com
5daa25f9ba
Add small test for blur
...
BUG=none
TEST=Blur*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3309004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@842 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-05 03:35:29 +00:00
fbarchard@google.com
f6bd6c0ac5
Use allocation instead of stack for a unittest that uses a bit too much.
...
BUG=284
TEST=Unattenuate test
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3369004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@840 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-04 20:52:28 +00:00
fbarchard@google.com
092099507e
Sobel using max to get abs for SSE2
...
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2769004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@824 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-23 00:51:52 +00:00
fbarchard@google.com
095f33d870
Coalesce rows by changing width/height and dropping into code instead of recursing. Improve coalesce by setting stride to 0 so it can be used even on odd width images. Reduce unittests to improve time to run emulators.
...
BUG=277
TEST=unittests all build and pass
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2589004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@819 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 19:29:10 +00:00
fbarchard@google.com
8be4b289c7
ARGBSobelToPlane which produces a planar output.
...
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2415005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@818 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:39:07 +00:00
fbarchard@google.com
adef267edf
CopyYToAlpha to copy from a plane to alpha channel of ARGB
...
BUG=275
TESTED=untested
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2415004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@814 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-17 07:32:16 +00:00
fbarchard@google.com
7f67961ec5
ARGBCopyAlpha for effects
...
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/2385004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@810 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-12 22:27:37 +00:00
fbarchard@google.com
c99db063e2
Change ARGBColorMatrix to a 4x4.
...
BUG=none
TEST=planar_unitest updates
R=johannkoenig@google.com , ryanpetrie@google.com , thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2320008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@805 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-01 01:27:30 +00:00
fbarchard@google.com
a927c6fb87
DrMemory fix for Sobel overread.
...
BUG=262
TESTED=Sobel* unittests re-enabled.
Review URL: https://webrtc-codereview.appspot.com/2273008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@800 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 11:10:22 +00:00
fbarchard@google.com
07c3fe2f61
Fix DrMemory errors in unittests that were not initializing memory.
...
BUG=263
TEST=set GYP_DEFINES=build_for_tool=drmemory target_arch=ia32 & drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*
R=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2270007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@798 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 07:39:10 +00:00
fbarchard@google.com
afd1d6b4ec
Fix 2 bugs with Luma scale
...
BUG=267
TEST=luma unittest improved
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2260005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@794 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-20 01:00:54 +00:00
fbarchard@google.com
a1ab194545
Color Table x86 reoptimized and ported to gcc.
...
BUG=266
TESTED=color table unittests
R=changjun.yang@intel.com
Review URL: https://webrtc-codereview.appspot.com/2216004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@791 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 17:01:02 +00:00
fbarchard@google.com
1390aaf69a
fix for luma table valgrind uninitialized variable.
...
BUG=267
TEST=try bots
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2184008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@784 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 23:38:49 +00:00
fbarchard@google.com
b38b73d88c
ARGBLumaColorTable function.
...
BUG=267
TEST=Luma*
R=thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2202004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@783 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 20:34:09 +00:00
fbarchard@google.com
c3c06ec328
polynomial sse2 do 2 pixels at a time.
...
BUG=265
TEST=*Poly*
R=changjun.yang@intel.com
Review URL: https://webrtc-codereview.appspot.com/2195004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@782 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 08:16:06 +00:00
fbarchard@google.com
6da76f3b34
AVX version of Polynomial
...
BUG=265
TEST=untested
R=thorcarpenter@google.com , yunqingwang@google.com
Review URL: https://webrtc-codereview.appspot.com/2166004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@780 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-07 07:05:06 +00:00
fbarchard@google.com
ae0091e3a7
ARGBPolynomial for applying a 3 term polynomial matrix to pixels.
...
BUG=265
TEST=ARGBPolynomial
R=thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2159005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@778 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 19:20:47 +00:00
fbarchard@google.com
c4a70492c0
blur unittest and fix for negative height
...
BUG=256
TEST=*Blur*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2027005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@757 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 16:16:39 +00:00
fbarchard@google.com
4b4b50fb44
Make unittests to 1280 pixels for simple planar tests, to get more realistic performance metrics than 256 pixels.
...
BUG=253
TEST=planar tests
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/1994004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@753 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-09 02:02:52 +00:00
fbarchard@google.com
5520710ef7
Add RGBColorTable which is like ARGBColorTable but only does first 3 channels.
...
BUG=none
TEST=none
R=dingkai@google.com , thorcarpenter@google.com , wuwang@google.com
Review URL: https://webrtc-codereview.appspot.com/1858004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@739 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-24 21:35:57 +00:00
fbarchard@google.com
4127a2637d
ARGBInterpolate odd width support and inverted odd width test. ARGBToNV12/21 odd height fix. Compare test tolerate small height with warning.
...
BUG=202
TEST=libyuvTest.ARGBInterpolate85_Any_Invert
Review URL: https://webrtc-codereview.appspot.com/1325004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@663 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 10:43:33 +00:00
fbarchard@google.com
cd6056c01c
InterpolateAny for unaligned and odd width interpolate. To be used in ARGBScaler in future.
...
BUG=208
TEST=ARGBInterpolate255_Unaligned
Review URL: https://webrtc-codereview.appspot.com/1324004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@662 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 03:05:08 +00:00
fbarchard@google.com
c56a55fc72
Sobel and SobelXY Neon port. Improved Bayer - did 8 at time version, and specialized G channel version.
...
BUG=201
TEST=libyuvTest.TestSobel and libyuvTest.TestSobelXY
Review URL: https://webrtc-codereview.appspot.com/1279006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@642 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 18:33:44 +00:00
fbarchard@google.com
87adfaa61e
Enable Sepia and improve unittest
...
BUG=214
TESTED=Sepia test improved
Review URL: https://webrtc-codereview.appspot.com/1201006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@631 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 17:54:27 +00:00
fbarchard@google.com
050b39a5cb
Recomputed JPeg coefficients normalized to 128. Apply to ARGBGray function reusing YJ function/coefficients and rounding.
...
BUG=201
TESTED=Gray unittest improved
Review URL: https://webrtc-codereview.appspot.com/1269006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@629 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-01 20:07:14 +00:00
fbarchard@google.com
4e0d7cc2c6
Y coefficients for J420 need to be scaled by 255/219 to full range.
...
BUG=159
TESTED=out\release\libyuv_unittest --gtest_filter=*J*
Review URL: https://webrtc-codereview.appspot.com/1264004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@624 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-27 07:35:03 +00:00
fbarchard@google.com
9d48df9ac4
Sobel port to posix. Improved unittest for C version.
...
BUG=201
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1242004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@619 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-24 20:12:25 +00:00
fbarchard@google.com
e8df16bd7c
Sobel use G channel for consistency on all CPUs, better performance and full range of 0 to 255.
...
BUG=201
TESTED=out\release\libyuv_unittest --gtest_filter=*Sobel*
Review URL: https://webrtc-codereview.appspot.com/1225004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@614 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-22 04:47:14 +00:00
fbarchard@google.com
c93a137671
Replace Add+YToARGB with SobelRow
...
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1217005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@611 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 23:51:09 +00:00
fbarchard@google.com
610e012d56
SobelXY which returns Sobel X, Sobel Y and Sobel as RGB values.
...
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1210006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@610 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 22:24:06 +00:00
fbarchard@google.com
1e985bbc16
ARGBSobel
...
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1221005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@609 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 19:23:44 +00:00
fbarchard@google.com
e1247eec94
Sobel functions
...
BUG=201
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1200004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@608 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-18 22:40:15 +00:00
fbarchard@google.com
155c76161a
Add comments to gyp showing what the macros are for.
...
BUG=189
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1113007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@586 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-28 00:05:18 +00:00
fbarchard@google.com
83a63e65a6
Change YUV_DISABLE_ASM to LIBYUV_DISABLE_NEON, LIBYUV_DISABLE_MIPS, LIBYUV_DISABLE_X86
...
BUG=189
TESTED=try
Review URL: https://webrtc-codereview.appspot.com/1113006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@582 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 00:20:29 +00:00
fbarchard@google.com
c0d9c34690
Attenuate and Unattenuate Any variations for sse2, sss3 and avx2
...
BUG=190
TESTED=out\release\libyuv_unittest --gtest_filter=*Unatt*
Review URL: https://webrtc-codereview.appspot.com/1121005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@579 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-21 00:55:47 +00:00
fbarchard@google.com
3c7bb050bd
Unattenuate AVX2
...
BUG=190
TEST=planar_test
Review URL: https://webrtc-codereview.appspot.com/1112004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@577 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-20 22:18:36 +00:00
fbarchard@google.com
cde587092f
Replace two spaces with one after .
...
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1063010
git-svn-id: http://libyuv.googlecode.com/svn/trunk@553 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:02:35 +00:00
fbarchard@google.com
573a883dd6
Subtract 2 images.
...
BUG=179
TEST=planar unittest
Review URL: https://webrtc-codereview.appspot.com/1073004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@551 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-24 23:08:12 +00:00
fbarchard@google.com
70b4928158
SSE2 bilinear fix for posix.
...
BUG=177
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1061004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@548 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-22 07:49:40 +00:00
fbarchard@google.com
83e1b17cc0
Add 2 ARGB Images together and store to destination
...
BUG=175
TEST=Add unittest
Review URL: https://webrtc-codereview.appspot.com/1049004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@543 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-18 23:03:56 +00:00
fbarchard@google.com
8fa7634994
Blend style multiple
...
BUG=175
TEST=Multiply unittest
Review URL: https://webrtc-codereview.appspot.com/1048004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@542 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-18 02:25:04 +00:00