Frank Barchard
cda9d38a4e
xmmword cast for clang
...
clangcl use compare_win for 32 bit, allowing fallback and enabling avx2 code for clang.
move defines/protos to compare_row.h
fix issue with odd width ARGBCopyAlpha functions by copying destination to temp buffer, then doing alpha copy, then copy back to destination.
R=harryjin@google.com
TBR=harryjin@google.com
BUG=libyuv:484
Review URL: https://webrtc-codereview.appspot.com/59379004 .
2015-08-18 11:13:12 -07:00
Frank Barchard
baf6a3c1bd
Using the visual C source allows clangcl to fallback seamlessly to visual c, and supports SSE41 and AVX2 versions.
...
R=harryjin@google.com
BUG=libyuv:469
Review URL: https://webrtc-codereview.appspot.com/58469004 .
2015-08-17 10:47:43 -07: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
a6025e8b6b
ARGBDetect do 2 pixels at a time for improved performance.
...
BUG=375
TESTED=libyuvTest.BenchmarkARGBDetect_Opt
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26049004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1155 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-05 23:23:17 +00:00
fbarchard@google.com
b661b3ee0d
Detect Endian of ARGB image.
...
BUG=375
TESTED=libyuv builds, but no test app for it yet
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32389004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1154 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-05 18:46:06 +00:00
fbarchard@google.com
9c4c82181b
Remove alignment constraint for SSE2. Allows the optimized function to be used with unaligned memory, improving performance in that use case. Hurts performance on core2 and prior where memory was faster with movdqa instruction.
...
BUG=365
TESTED=psnr, ssim and djb2 unittests pass.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/22859004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1100 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-30 18:53:34 +00:00
yang.zhang@arm.com
26f43db1ef
AArch64:add SumSquareError_NEON armv8 assembly version
...
BUG=none
TESTED=libyuv_unittest
R=fbarchard@google.com
Review URL: https://webrtc-codereview.appspot.com/16259004/
the benckmarking result is as follows:
toolchain: gcc 4.9
hardware: A53
| count | C Times/NEON times |
| 16 | 3.35 |
| 128 | 6.63 |
| 512 | 7.47 |
| 1024 | 7.72 |
Change-Id: Ic10bf22d77d069a1a2074b68bd5a310c579ec490
Review URL: https://webrtc-codereview.appspot.com/21159004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1043 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-13 06:10:02 +00:00
fbarchard@google.com
9c6e52791f
Port compare to C89 / Visual C.
...
BUG=303
TESTED=cl /c /TC /Iinclude source/compare.cc
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/7019006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@966 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-13 18:57:30 +00:00
fbarchard@google.com
da443d7adc
Remainder calc needs to be after blocks are done. Move calc to old location.
...
BUG=303
TESTED=Djb2 unittests
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6849004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@960 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-09 20:29:27 +00:00
fbarchard@google.com
167d5d1c2f
Porting parts of compare to c89
...
BUG=303
TESTED=try bots still build, gcc and vc direct for c testing.
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6739004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@956 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-08 00:59:40 +00:00
fbarchard@google.com
a1f5254a95
Switch to c style casts for all source and includes.
...
BUG=303
TESTED=try
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6629004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@952 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-07 03:03:00 +00:00
fbarchard@google.com
88c0b01cdd
Use 64 bit Sum for planar function to remove size limitation
...
BUG=302
TESTED=out\release\libyuv_unittest --gtest_filter=*Psnr
R=tpsiaki@google.com
Review URL: https://webrtc-codereview.appspot.com/6499004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@941 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-02 22:57:06 +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
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
823548cb3b
AVX2 hash using vex128 as first step.
...
BUG=none
TEST=BenchmarkDjb2_Opt
R=ryanpetrie@google.com
Review URL: https://webrtc-codereview.appspot.com/2219004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@792 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-17 20:34:28 +00:00
fbarchard@google.com
0d41aee26b
Port compare functions to Nacl
...
BUG=253
TEST=none
R=nfullagar@google.com
Review URL: https://webrtc-codereview.appspot.com/1998004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@752 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-08 23:52:34 +00:00
fbarchard@google.com
abfeea9b81
Math functions - add, substract, multiply and shade adapted to nacl friendly addressing.
...
BUG=253
TEST=out\release\libyuv_unittest --gtest_filter=*Add*
R=dingkai@google.com , nfullagar@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1972004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@746 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 20:47:18 +00:00
fbarchard@google.com
9b4c00b908
Move vzeroupper to row functions to simplify caller and allow mix of avx2 and sse2. Impact reduced by row coalescing.
...
BUG=none
TEST=all tests pass with sde
Review URL: https://webrtc-codereview.appspot.com/1269009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@641 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 05:54:59 +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
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
408e574366
Use vmovd to avoid switch to sse mode
...
BUG=none
TEST=c:\intelsde\sde -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*Psnr*
Review URL: https://webrtc-codereview.appspot.com/1097013
git-svn-id: http://libyuv.googlecode.com/svn/trunk@573 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-14 19:03:30 +00:00
fbarchard@google.com
f3ad618d40
Sum of Square Error ported to AVX2
...
BUG=187
TEST=compare_unittest
Review URL: https://webrtc-codereview.appspot.com/1099009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@572 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-13 18:38:03 +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
66fe097a2b
Move compare modules into their own files, and scale for mips
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/920005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@434 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 16:18:53 +00:00
fbarchard@google.com
3f467451cf
Move compare low levels into their own files, for consistency with NEON.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/921004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@429 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-20 01:23:27 +00:00
fbarchard@google.com
64ce0ab544
Move Neon source to its own files.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/860009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@396 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 00:05:29 +00:00
fbarchard@google.com
fc7314e86b
Add exports to allow libyuv to be built as a shared lib.
...
BUG=99
TEST=shared lib builds without impact and unittests link against import lib.
Review URL: https://webrtc-codereview.appspot.com/844005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@379 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-27 02:17:51 +00:00
fbarchard@google.com
142f6c4ed5
Move row.h to include and remove rotate_priv.h
...
BUG=93
TESTED=try server
Review URL: https://webrtc-codereview.appspot.com/811004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@360 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 20:56:51 +00:00
fbarchard@google.com
b0c9797589
Update Copyright notice to follow new chromium conventions.
...
BUG=63
TEST=none
Review URL: https://webrtc-codereview.appspot.com/730004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@314 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 19:04:24 +00:00
fbarchard@google.com
5bf29b59db
p2align all loops, copy stride to local for scale, and copy last byte in bilinear more efficiently
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/547007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@255 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-02 00:10:16 +00:00
fbarchard@google.com
5ff3a8fec5
ARGBBlendRow1_SSSE3 added to allow SSSE3 only alpha blending. Saves on SSE2 cpu dispatching
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/518002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@251 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 19:43:45 +00:00
fbarchard@google.com
85ebc8e20b
HashDjb2_SSE41 ported to gcc. gcc 4.5 required for pmulld instruction.
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/506002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@248 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-23 20:09:35 +00:00
fbarchard@google.com
f86ba32b9d
Unattenuate using a reciprocal
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/487006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@241 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 00:35:55 +00:00
fbarchard@google.com
4d3bd8343b
unaligned sse4 djb2 cleanup
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/486001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@238 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-06 00:27:09 +00:00
fbarchard@google.com
ddf9051bd9
DJB2 hash with SSE4 pmulld
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/484002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@237 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 20:44:03 +00:00
fbarchard@google.com
d2f4413d29
Remove old alpha blend, expose GetARGB2Blend, fix ComputeSumSquareErrorPlane on SSE2
...
BUG=29
TEST=none
Review URL: https://webrtc-codereview.appspot.com/469005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@234 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-04 21:53:27 +00:00
fbarchard@google.com
5b22506b14
With an asm() away lint, this cleans up most remaining issues.
...
BUG=none
TEST=lint filename
Review URL: https://webrtc-codereview.appspot.com/464001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@230 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 02:19:26 +00:00
fbarchard@google.com
2b9c210803
lint fix test
...
BUG=none
TEST=gcl lint lintfix2
Review URL: https://webrtc-codereview.appspot.com/458003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@220 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-22 22:36:44 +00:00
fbarchard@google.com
67be98bd44
psnr function was using C. unittest fixed and warnings improved
...
BUG=21,22
TEST=build\release\libyuv_unittest.exe --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/447013
git-svn-id: http://libyuv.googlecode.com/svn/trunk@218 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-19 16:49:12 +00:00
fbarchard@google.com
18184fd19d
switch looping to jg from ja to allow non-multiple of 16 to underflow to a negative
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/453001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@214 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-12 18:53:19 +00:00
fbarchard@google.com
bd4a849bcb
fix for nv21 u, v order, align all loops, and make addrows support 1 row
...
BUG=17
TEST=none
Review URL: https://webrtc-codereview.appspot.com/435004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@208 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 19:19:03 +00:00
fbarchard@google.com
567244c003
minor fixups
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@169 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-07 23:54:52 +00:00
fbarchard@google.com
79a06ac5fe
omp friendly version of psnr
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/378007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@167 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:33:09 +00:00
fbarchard@google.com
3e34b8e89d
hash funtion for comparing images
...
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/380006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@166 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:05:16 +00:00
fbarchard@google.com
fe5ff7ed54
clang on linux prefers no args for rep movsl/stosl. ifdef for C that removes namespace. extern c allows c++ to be used to compile, including with namespace, but C program can link libyuv
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/320004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@101 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-10 07:45:58 +00:00
fbarchard@google.com
1c5136d069
use IS_ALIGNED for width and stride to avoid mod that generates 6 instructions
...
BUG=none
TEST=disassemble to confirm smaller/simplier alignment checks
Review URL: http://webrtc-codereview.appspot.com/287001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@91 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-22 18:15:17 +00:00
fbarchard@google.com
15c3d45cbe
Change WIN32 to _M_IX86 and use YUV_DISABLE_ASM consistently
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/277008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@84 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-17 22:13:17 +00:00
fbarchard@google.com
4cf70bd6db
compare SumSquareError_SSE2 ported to gcc
...
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/279005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@79 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-15 18:44:31 +00:00
frkoenig@google.com
c82af4a59c
Order includes.
...
Use the following order.
local
system
libyuv
Review URL: http://webrtc-codereview.appspot.com/270007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@76 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 00:54:34 +00:00
fbarchard@google.com
f7a5048f54
align asm new line to column 48
...
BUG=none
TEST=builds
Review URL: http://webrtc-codereview.appspot.com/268008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@73 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 22:41:20 +00:00