Frank Barchard
7edf572e28
remove includes for duplicate functions
...
R=harryjin@google.com
BUG=libyuv:592
TESTED=local builds work with fewer headers
Review URL: https://codereview.chromium.org/2006943002 .
2016-05-23 17:38:26 -07:00
Frank Barchard
fbdc43a03c
fix wrong HAS_ARGBCOPYALPHAROW_SSE2 ifdef
...
TBR=kjellander@chromium.org
BUG=libyuv:593
TESTED=try bots pass.
Review URL: https://codereview.chromium.org/2000393002 .
2016-05-23 16:26:02 -07:00
Frank Barchard
07cb92272f
If image sizes are greater than 32768, fixed point stepping will overflow an int. This CL changes the max size to 32768 and disables the test if larger.
...
BUG=libyuv:590
TESTED=LIBYUV_FLAGS=-1 LIBYUV_WIDTH=8192 LIBYUV_HEIGHT=16 out/Release/libyuv_unittest --gtest_filter=*
R=harryjin@google.com
Review URL: https://codereview.chromium.org/1947783002 .
2016-05-05 19:09:02 -07:00
Frank Barchard
60adcbaf32
scale with conversion using 2 steps with unittest
...
a prototype function to implement the yuv to rgb with conversion and scale.
replace with 1 step function in future version, using same API.
R=harryjin@google.com
BUG=libyuv:471
Review URL: https://codereview.chromium.org/1421553016 .
2015-11-13 11:25:56 -08:00
Frank Barchard
c629cb3afe
add command line cpu info to allow android neon test
...
in order to compare C and Neon code, a new command line flag is added.
historically environment variables controlled cpu features, but on
android apk it is easier to pass a command line option to disable cpu
optimizations.
R=harryjin@google.com
BUG=libyuv:516
Review URL: https://codereview.chromium.org/1407193009 .
2015-11-03 17:01:48 -08:00
Frank Barchard
26db4de2ae
break up unittests into categories
...
R=harryjin@google.com
BUG=none
Review URL: https://codereview.chromium.org/1399523004 .
2015-10-13 16:01:07 -07:00
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
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
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
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
80be2468b0
add test for box filter before improving odd width.
...
BUG=431
TESTED=ARGBScaleDownBy4_Box
Review URL: https://webrtc-codereview.appspot.com/57409004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1411 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-05-22 23:32:20 +00:00
fbarchard@google.com
e52b9c3405
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
2015-04-16 21:02:16 +00:00
fbarchard@google.com
bb43f064df
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
2015-04-15 22:46:45 +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
008ce53ac4
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
2014-10-07 01:57:34 +00:00
fbarchard@google.com
398de7d0be
ARGBScale down bilinear clip to edge of image to avoid overread.
...
BUG=317
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*ARGBScale*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/10159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@984 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-18 21:39:42 +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
b14f46fa30
NaCL pepper_33 port of scale and compare using lock/unlock. Remove less useful scaling tests and change default size to a multiple of 16 for better assembly coverage.
...
BUG=none
TESTED=ncval
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/5939005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@917 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-17 18:27:06 +00:00
fbarchard@google.com
5ed2b2e465
Test scaling to/from 1 pixel
...
BUG=none
TEST=scale unittests updated to test to/from 1 pixel
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/5479005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@908 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-10 01:25:35 +00:00
fbarchard@google.com
dd2fca5f9c
scale down 4
...
BUG=none
TEST=none
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/5389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@907 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-09 21:07:37 +00:00
fbarchard@google.com
09d5f2bfd6
Change scale factors to test QVGA to/from CIF
...
BUG=261
TESTED=valgrind
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/5129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@895 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-05 22:32:46 +00:00
fbarchard@google.com
4163003f66
Add CIF scale test to confirm DrMemory bug is fixed.
...
BUG=none
TESTED=untested
R=wuwang@google.com
Review URL: https://webrtc-codereview.appspot.com/4479004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@875 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-27 00:36:14 +00:00
fbarchard@google.com
431f5f0388
Fix scaling bug
...
BUG=none
TEST=none
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3979007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@864 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-20 01:23:04 +00:00
fbarchard@google.com
a0630d77f0
Report of affine to nacl using %k0
...
BUG=none
TEST=none
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/3929004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@855 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-15 17:42:44 +00:00
fbarchard@google.com
788f757016
Linear interpolation.
...
BUG=none
TEST=*Linear*
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/3689004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@848 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-11 18:53:19 +00:00
fbarchard@google.com
a721402a20
Disable xgetbv for NaCL
...
BUG=none
TEST=ncval
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/2719004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@822 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 22:59:51 +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
a03b8adde8
Do fewer scale tests to speed up overall unittest
...
BUG=273
TEST=timex emuyuv Scale*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2469005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@815 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-18 22:22:09 +00:00
fbarchard@google.com
dcd87ffb8c
Vertical-only scale for YUV.
...
BUG=260
TEST=ScaleDownByVertical2by3_Bilinear
R=jingning@google.com , thorcarpenter@google.com
Review URL: https://webrtc-codereview.appspot.com/2165004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@779 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 20:00:10 +00:00
fbarchard@google.com
f2f9dbb644
FixedDiv function in C and benchmark
...
BUG=none
TEST=FixedDiv*
R=johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/1668004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@727 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-15 21:10:19 +00:00
fbarchard@google.com
ff0db0ea86
change tile size for convert util and unittest to 32x32 which would lend itself to AVX2 or VP9
...
BUG=none
TEST=none
R=dingkai@google.com
Review URL: https://webrtc-codereview.appspot.com/1667004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@726 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-13 23:18:08 +00:00
fbarchard@google.com
ae67c900f4
Randomize function for filling a buffer with random values.
...
BUG=244
TEST=*ScaleFrom1366x768_Box
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1644004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@720 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-10 16:12:20 +00:00
fbarchard@google.com
76f86067a2
Additional scale resolutions tested
...
BUG=none
TEST=*Scale*
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1608005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@718 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-05 15:10:43 +00:00
fbarchard@google.com
dee86a1484
Add comment about return value from scaling unittest internal function - TestFilter.
...
BUG=none
TEST=*Scale* unittests
R=fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1599005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@716 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-04 16:47:30 +00:00
fbarchard@google.com
b911428afd
Adapt row interpolator to do YUV as well as ARGB without extrude so it can be used in I420Scale.
...
BUG=237
TEST=Scale*
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/1587004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@710 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 23:42:27 +00:00
fbarchard@google.com
927eb2c1f6
scale argb clip
...
BUG=226
TESTED=libyuv scale unittests
Review URL: https://webrtc-codereview.appspot.com/1470004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@694 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-15 18:44:12 +00:00
fbarchard@google.com
48085a2267
Lint fix for scale
...
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1417004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@686 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-06 18:41:14 +00:00
fbarchard@google.com
ef888b7dba
ARGBScale accept negative width for scaling to indicate mirror horizontally.
...
BUG=220
TEST=convert util and ARGBScale unittests with set LIBYUV_WIDTH=-1280
Review URL: https://webrtc-codereview.appspot.com/1409005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@685 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-06 17:48:25 +00:00
fbarchard@google.com
461767d6d5
Bilinear upsample
...
BUG=208
TEST=out\release\libyuv_unittest --gtest_filter=*ARGBScale*640*
Review URL: https://webrtc-codereview.appspot.com/1303006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@664 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 18:32:45 +00:00
fbarchard@google.com
54f0b67c46
Scale up use pextrw to speed up a little
...
BUG=208
TEST=out\release\libyuv_unittest --gtest_filter=*Scale*640*
Review URL: https://webrtc-codereview.appspot.com/1283008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@649 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-08 07:00:48 +00:00
fbarchard@google.com
98a1fbf5e9
Scale up columns 2 pixels at a time
...
BUG=208
TEST=out\release\libyuv_unittest --gtest_filter=*Scale*640*
Review URL: https://webrtc-codereview.appspot.com/1294004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@648 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-07 04:07:08 +00:00
fbarchard@google.com
d8431003bb
movbe remove - not useful so far.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1255004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@623 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-26 18:04:02 +00:00
fbarchard@google.com
25120f2196
Add a unittest for scaling from VGA to whatever.
...
BUG=208
TESTED=out\release\libyuv_unittest --gtest_filter=*ScaleFrom*
Review URL: https://webrtc-codereview.appspot.com/1250004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@620 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-25 22:53:29 +00:00
fbarchard@google.com
7d25fe2ddb
bilinear scaling allow higher error for differences in SSSE3 7 bit math vs C/SSE2 15 bit math, when extreme scale factors are used.
...
BUG=200
TEST=*Scale* width LIBYUV_WIDTH=16 LIBYUV_HEIGHT=16
Review URL: https://webrtc-codereview.appspot.com/1197004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@606 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-13 18:33:41 +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
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
326a521aba
unittest to scale to 1280x720 from whatever current LIBYUV_WIDTH and LIBYUV_HEIGHT are
...
BUG=none
TEST=libyuv_unittest --gtest_filter=*ScaleTo1280*
Review URL: https://webrtc-codereview.appspot.com/969011
git-svn-id: http://libyuv.googlecode.com/svn/trunk@505 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 02:23:34 +00:00
fbarchard@google.com
d1cb453c6c
Unittest each scaling filter separately for benchmarking purposes.
...
BUG=155
TEST=*Scale*
Review URL: https://webrtc-codereview.appspot.com/935022
git-svn-id: http://libyuv.googlecode.com/svn/trunk@504 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 23:09:45 +00:00
fbarchard@google.com
2580ccf64d
Scale benchmark just the OPT and run C version once.
...
BUG=none
TEST=scale_test
Review URL: https://webrtc-codereview.appspot.com/929028
git-svn-id: http://libyuv.googlecode.com/svn/trunk@503 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 22:39:30 +00:00
fbarchard@google.com
3e46444727
Mirror source to continuous destination with Neon
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/937020
git-svn-id: http://libyuv.googlecode.com/svn/trunk@488 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-14 02:03:49 +00:00