125 Commits

Author SHA1 Message Date
fbarchard@google.com
b444bae883 ARGBToI400 and ARGBToI411 using AVX2. YUY2ToI420 and UVYVToI420 use AVX2. CopyPlane use rep movsb for AVX2. CopyPlane2 use rep movsb for AVX2 and CopyPlane if strides match AVX2, which will do a single rep movsb for entire image if stride == width. MergeUV for I420ToNV12.
BUG=181
TESTED=unittests pass
Review URL: https://webrtc-codereview.appspot.com/1103007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@569 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-11 20:30:41 +00:00
fbarchard@google.com
c9562334d7 SplitUV 3 operand AVX2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1105005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@568 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-10 03:42:51 +00:00
fbarchard@google.com
208280598e Remove vmovdqa from UV code
BUG=181
TESTED=c:\intelsde\sde -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*ARGBToI420*
Review URL: https://webrtc-codereview.appspot.com/1091010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@567 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-08 23:27:22 +00:00
fbarchard@google.com
551d2b297e AVX2 version of ARGBToI420
BUG=181
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/1090005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@566 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-08 20:57:52 +00:00
fbarchard@google.com
f5f6fd2aa7 fix spaces on asm statements
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1101006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@562 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-06 18:23:09 +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
8c4e5e284c Specialize SSE2 filter
BUG=177
TEST=unittest scale*
Review URL: https://webrtc-codereview.appspot.com/1069005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@550 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-23 02:05:12 +00:00
fbarchard@google.com
8811289be7 Interpolate ported to SSE2
BUG=177
TEST=out\release\libyuv_unittest --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/1060006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@549 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-22 19:16:07 +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
fbarchard@google.com
41e972ec31 ARGBToI444_SSSE3 UV function ported. Thanks to changjun.yang@intel.com
BUG=148
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToI* | grep ms
Review URL: https://webrtc-codereview.appspot.com/1019011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@539 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-16 05:54:56 +00:00
fbarchard@google.com
b3c1a3fe79 ARGB Multiply
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1028010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@537 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-12 00:00:59 +00:00
fbarchard@google.com
b94b139e86 Shade ported to Neon
BUG=167
TESTED=planar test Shade*
Review URL: https://webrtc-codereview.appspot.com/969014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@509 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-03 20:36:40 +00:00
fbarchard@google.com
1d160cb99f Attenuate AGRB pixels NEON optimized
BUG=164
TEST=./libyuv_unittest --gtest_filter=*Atten*
Review URL: https://webrtc-codereview.appspot.com/937031

git-svn-id: http://libyuv.googlecode.com/svn/trunk@506 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 20:02:55 +00:00
fbarchard@google.com
dd3b137f5d ARGBBlend unaligned unittest
BUG=160
TEST=libyuvTest.ARGBBlend_Unaligned
Review URL: https://webrtc-codereview.appspot.com/935019

git-svn-id: http://libyuv.googlecode.com/svn/trunk@498 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 19:30:04 +00:00
fbarchard@google.com
b5491759b4 Neon optimized argb filter row for bilinear scale and Effects Interpolate.
BUG=none
TEST=./libyuv_unittest --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/964017

git-svn-id: http://libyuv.googlecode.com/svn/trunk@497 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 09:44:46 +00:00
fbarchard@google.com
f08ac6bb09 Rename row functions so they are all SomethingRow_CPU
BUG=133
TEST=still builds
Review URL: https://webrtc-codereview.appspot.com/939020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@491 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-15 00:21:14 +00:00
fbarchard@google.com
bdf7cb5914 RGB formats converted to YUV with Neon
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/936013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@471 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-05 23:40:11 +00:00
fbarchard@google.com
30859f75f2 Neon YToARGB and fix SSE2 to match C version
BUG=none
TEST=YToARGB_Opt
Review URL: https://webrtc-codereview.appspot.com/966007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@466 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-02 09:51:29 +00:00
fbarchard@google.com
00b69a2fe6 I400ToARGB_Neon optimized
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/935010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@465 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-02 06:03:28 +00:00
fbarchard@google.com
af1aa56f0b Make I420ToARGB1555, I420ToARGB4444 and I420ToRGB565 call a single function per row, which may be implemented in assembly, but for now the function calls 2 functions internally.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/965006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@459 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-30 21:11:54 +00:00
fbarchard@google.com
15449263c4 NV12ToRGB565 use NV12ToARGB any row function
BUG=136
TEST=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*565* | grep ms
Review URL: https://webrtc-codereview.appspot.com/965004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@452 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 16:24:53 +00:00
fbarchard@google.com
e0d8648b6a MergeUV aligned and SplitUV cpu detect combined with width check.
BUG=none
TEST=libyuvTest.I420ToNV12_Any
Review URL: https://webrtc-codereview.appspot.com/937005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@451 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-27 19:07:55 +00:00
fbarchard@google.com
1dafd444ba MergeUV backport to SSE2
BUG=135
TESTED=unitest I420ToNV12
Review URL: https://webrtc-codereview.appspot.com/943006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@447 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-26 08:27:36 +00:00
fbarchard@google.com
db694edfc2 SplitUV_Any variations for all CPUS.
BUG=126
TEST=convert tests NV12 with alignments
Review URL: https://webrtc-codereview.appspot.com/896007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@426 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-17 21:54:04 +00:00
fbarchard@google.com
9de8867ab6 I422ToYUY2_NEON
BUG=none
TEST=convert_test *I422ToYUY2*
Review URL: https://webrtc-codereview.appspot.com/869008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@413 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 06:23:33 +00:00
fbarchard@google.com
4de0c439aa Enable SSE version of I420ToRAW/RGB24 for Linux/Mac/ChromeOS x86
BUG=116
TEST=xcodebuild/Release/libyuv_unittest --gtest_filter=*I420To*R*Opt
Review URL: https://webrtc-codereview.appspot.com/863015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@402 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 01:25:46 +00:00
fbarchard@google.com
8d37dd5c20 Any conversions fix for RGB 3 bytes. Fix for overread valgrind. Avoid memcpy. Add _Any unittests for all conversions.
BUG=121
TEST=./libyuv_unittest --gtest_filter=*Any
Review URL: https://webrtc-codereview.appspot.com/873010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@401 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 00:07:30 +00:00
fbarchard@google.com
e91bdaca36 Move HalfRow to row_win and port to row_neon
BUG=118
TEST=libyuvTest.I420ToI422_OptVsC (247 ms)
Review URL: https://webrtc-codereview.appspot.com/855012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@400 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 21:09:33 +00:00
fbarchard@google.com
827de16bb1 I422ToRGB24Row_SSSE3 in 1 pass. Internally converts to ARGB then packs down to RGB.
BUG=116
TEST=libyuv unittest
Review URL: https://webrtc-codereview.appspot.com/863013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@399 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 03:48:26 +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
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
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
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
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
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
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
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
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
fbarchard@google.com
27d42c7ff6 Expose ARGB rotation using scale low levels
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/675004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@292 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-22 23:57:26 +00:00
fbarchard@google.com
8f439eac1d ARGBColorMatrixRow_SSSE3 use signed psraw instead of psrlw before doing pack
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/652009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@291 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-21 02:00:34 +00:00