303 Commits

Author SHA1 Message Date
fbarchard@google.com
aa4750f86d Move sub before store to avoid wait on core2.
BUG=101
TEST=none
Review URL: https://webrtc-codereview.appspot.com/846006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@377 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-26 17:04:51 +00:00
fbarchard@google.com
fb49764705 Use emit for xgetbv in vs2005
BUG=98
TEST=build with vs2005
Review URL: https://webrtc-codereview.appspot.com/845005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@375 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-26 00:10:54 +00:00
fbarchard@google.com
4c32b3a017 Port xgetbv to posix
BUG=98
TEST=none
Review URL: https://webrtc-codereview.appspot.com/848004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@374 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-25 23:46:44 +00:00
fbarchard@google.com
78070bc1ba Added CPUID change to detect AVX2.
BUG=98
TEST=none
Review URL: https://webrtc-codereview.appspot.com/839004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@373 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-25 19:13:04 +00:00
fbarchard@google.com
cad0ad303c I422ToRGBA, I422ToBGRA and I422ToABGR.
BUG=73
TEST=I422ToRGBA_OptVsC
Review URL: https://webrtc-codereview.appspot.com/819008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@372 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-23 15:37:39 +00:00
fbarchard@google.com
dddf94c343 YUY2 and UYVY conversions to I420 ported to NEON
BUG=64
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/823007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@371 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-21 17:54:23 +00:00
fbarchard@google.com
797e9ef871 5 RGB formats to ARGB ported to NEON
BUG=68
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/825004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@369 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-20 21:24:10 +00:00
fbarchard@google.com
5808cb22ce Neon optimized RAW (RGB big endian)
BUG=68
TEST=unittest on try bot
Review URL: https://webrtc-codereview.appspot.com/819005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@368 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-20 05:05:33 +00:00
fbarchard@google.com
64961c01b2 ARGBToRGBA_NEON and ARGBToRGB24_NEON
BUG=68
TEST=none
Review URL: https://webrtc-codereview.appspot.com/816004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@367 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 20:03:20 +00:00
fbarchard@google.com
6fd84a8a59 NV12 optimization turned back on now that unittest is fixed
BUG=55
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/813005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@366 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 07:35:45 +00:00
fbarchard@google.com
2d61b7495d I422ToRGBARow_NEON optimized
BUG=78,93
TEST=android build bot
Review URL: https://webrtc-codereview.appspot.com/815004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@364 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 02:13:24 +00:00
fbarchard@google.com
7c4656317c cpuid on nonx86 has an unused parameter.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/814004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@363 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 23:37:23 +00:00
fbarchard@google.com
5625adfa12 Respect HAVE_JPEG and build cleanly
BUG=93
TEST=none
Review URL: https://webrtc-codereview.appspot.com/812004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@361 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 21:31:21 +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
25dc05858e RGBAToI420_SSSE3 and I420ToRGBA_SSSE3 implemented.
BUG=78
TESTED=gcl lint
Review URL: https://webrtc-codereview.appspot.com/796009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@359 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 05:35:30 +00:00
fbarchard@google.com
bc81e2dc05 Clean up line warnings on long lines mostly.
BUG=90
TEST=lint run on all source
Review URL: https://webrtc-codereview.appspot.com/795009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@357 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-17 19:49:15 +00:00
fbarchard@google.com
caba6c10fb Small fix for ABGR
BUG=78
TESTED=unittest
Review URL: https://webrtc-codereview.appspot.com/798009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@356 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-16 23:45:55 +00:00
fbarchard@google.com
d5a27f0533 RGBA to and from I420 with C implementation.
BUG=78
TEST=planar_test
Review URL: https://webrtc-codereview.appspot.com/798007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@355 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-16 23:27:29 +00:00
fbarchard@google.com
9bcc9a2535 ARGBInterpolateRow_SSSE3 for motion blur. Used to use bilinear row filter, which extrudes edges. This branches off the code so the extrude can be removed for Interpolate.
BUG=none
TEST=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/786007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@354 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-16 05:00:37 +00:00
fbarchard@google.com
a2cc341b6c ARGBToRGBA implemented as alias
BUG=78
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/788009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@353 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-14 18:09:41 +00:00
fbarchard@google.com
b8eabfea64 RGBAToARGB conversion. SSSE3 optimized.
BUG=78
TEST=RGBA unittests
Review URL: https://webrtc-codereview.appspot.com/788008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@351 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-14 06:59:31 +00:00
fbarchard@google.com
06f275cc44 a tsan build caused UYVY unittest to fail. This re-enables the test and fixes the bug.
BUG=80
TEST=unittest with tsan or use build bots
Review URL: https://webrtc-codereview.appspot.com/804004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@348 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-13 09:58:33 +00:00
fbarchard@google.com
93fdfd19fe llvm/clang does not support attribute optimize. Disable the OMITFP macro for llvm. #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__)
BUG=83
TEST=webrtc build bots
Review URL: https://webrtc-codereview.appspot.com/787007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@342 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-10 21:20:10 +00:00
fbarchard@google.com
d4164fb01a Clean up posix build of YUY2
BUG=76
TEST=build on osx/linux
Review URL: https://webrtc-codereview.appspot.com/762006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@335 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 20:42:01 +00:00
fbarchard@google.com
c704f789e9 YUY2ToARGB and UYVYToARGB use specialized row functions that do not subsample.
BUG=76
TEST=unittests for YUY2ToARGB and UYVYToARGB
Review URL: https://webrtc-codereview.appspot.com/763006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@334 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 19:53:48 +00:00
fbarchard@google.com
6343f22bb5 YUY2 and UYVY to ARGB had oversampling bug. This passes 0 for UV stride, avoiding the issue. A better solution would be a version of the conversions that does not do 2 rows subsampled. But the performance would only be slightly faster.
BUG=76
TEST=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*UY*ToARGB*
Review URL: https://webrtc-codereview.appspot.com/773004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@333 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 08:30:38 +00:00
fbarchard@google.com
bf8b0f0e2b Bug fix for I420ToI400 and unittest all I420To packed formats. Most import of the new I420 tests is I420ToYUY2.
BUG=none
TEST=libyuvTest.I420ToI400_OptVsC
Review URL: https://webrtc-codereview.appspot.com/767004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@331 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-28 17:58:10 +00:00
fbarchard@google.com
aeaefa8344 vqrdmulh takes 3 parameters and clang requires all 3 to be specified, not just 2.
BUG=72
TEST=none
Review URL: https://webrtc-codereview.appspot.com/744006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@325 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-23 04:11:25 +00:00
fbarchard@google.com
619ee4586b YUV_DISABLE_ASM for NEON
BUG=70
TEST=none
Review URL: https://webrtc-codereview.appspot.com/710013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@324 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 21:07:22 +00:00
fbarchard@google.com
41f24bf8ca Affine function in 64 bit Mac use movd instead of movq for xmm to gpr.
BUG=69
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/728011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@323 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 16:51:25 +00:00
fbarchard@google.com
f3181b3cf9 Fix aligned version of SSSE3 alpha blend and re-enable SSE2 alpha blend for performance evaluation on low end CPUs where pshufb is slow.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/728009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@322 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 18:57:18 +00:00
fbarchard@google.com
f877e71995 Alpha blend test alignment of source pointer and use movdqa aligned fetches.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/714010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@321 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 00:51:24 +00:00
fbarchard@google.com
e3cc76943e 4 pixel version of affine for gcc and aligned version of win.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/714007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@320 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-10 20:41:27 +00:00
fbarchard@google.com
845e94d1a7 Affine do 4 pixels at a time.
BUG=none
TEST=affine unitest
Review URL: https://webrtc-codereview.appspot.com/729005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@319 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-10 03:48:21 +00:00
fbarchard@google.com
7344440fb2 AffineRow for GCC.
BUG=62
TEST=planar_unittest
Review URL: https://webrtc-codereview.appspot.com/733004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@317 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-09 17:33:29 +00:00
fbarchard@google.com
92e51c7a69 ARGBAffineRow_C for non-SSE2 machine.
BUG=62
TEST=TestAffine unittest added to planar_test
Review URL: https://webrtc-codereview.appspot.com/731004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@315 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 21:29:34 +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
864f828a01 ARGBAffineRow_SSE2 function to copy pixels from a source with slope to a row of destination.
BUG=60
TEST=none
Review URL: https://webrtc-codereview.appspot.com/727004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@313 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 18:10:15 +00:00
fbarchard@google.com
68f0d3df5e NV12ToARGB for linux appears to have a bug in the assembly so this disables the asm for posix. It still works on Windows. Unittests updated to show the amount of pixel difference.
BUG=55
TEST=out/Release/libyuv_unittest --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/675008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@310 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-23 16:01:09 +00:00
mikhal@webrtc.org
25ba021148 LibYuv:Adding input checks
(open TODO: Add unit tests)
Review URL: https://webrtc-codereview.appspot.com/698004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@309 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-19 16:38:27 +00:00
fbarchard@google.com
eeac2903ef ARGBGrayTo takes source and destination pointers so caller does not need to make a copy of the image.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/696004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@308 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-18 18:54:32 +00:00
fbarchard@google.com
c0d6dee4f3 Fix for ARGBColorTable x86 assembly. Sav
BUG=51
TEST=TestARGBColorTable
Review URL: https://webrtc-codereview.appspot.com/667011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@307 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-18 17:58:30 +00:00
fbarchard@google.com
452472dfc4 Internals of scale use ptrdiff_t to allow ARGBInterpolate to use stride between 2 images.
BUG=53
TEST=none
Review URL: https://webrtc-codereview.appspot.com/695004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@306 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-16 22:58:35 +00:00
fbarchard@google.com
8e01bfb420 Disable x86 color table optimization - fall back on C only
BUG=51
TESTED=warmify effect
Review URL: https://webrtc-codereview.appspot.com/673013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@304 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 19:05:08 +00:00
fbarchard@google.com
b50e0572f2 Save and restore last 16 bytes of filtered rows when used for ARGBInterpolate.
BUG=50
TEST=none
Review URL: https://webrtc-codereview.appspot.com/673012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@303 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:58:53 +00:00
fbarchard@google.com
05b5cf9610 move a macro and comment
BUG=49
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/668012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@302 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:16:28 +00:00
fbarchard@google.com
942ad1f5f4 SSE2 version of scale is suspected of having a bug, as it didnt work in ARGBInterpolate, while SSSE3 and C do. Until the result can be verified, SSE2 is disabled. This will hurt performance on Pentium4 and below.
BUG=49
TEST=none
Review URL: https://webrtc-codereview.appspot.com/672009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@301 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 00:55:11 +00:00
fbarchard@google.com
0d95d47757 ARGBInterpolate for blending 2 images with a fractional amount of each.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/670008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@300 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-12 03:28:09 +00:00
fbarchard@google.com
6398e1d4eb Port ARGBShade to Mac
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/679009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@299 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-11 19:12:32 +00:00
fbarchard@google.com
c4c578e327 Flat shade an ARGB image
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/683004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@298 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-10 23:44:29 +00:00