162 Commits

Author SHA1 Message Date
fbarchard@google.com
11a524362d Coalesce rows
BUG=197
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToI400*
Review URL: https://webrtc-codereview.appspot.com/1176004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@598 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-11 18:51:25 +00:00
fbarchard@google.com
1096543eaa ARGBShuffle AVX2
BUG=196
TESTED=BGRAToARGB*
Review URL: https://webrtc-codereview.appspot.com/1171006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@596 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-08 23:22:32 +00:00
fbarchard@google.com
51398e0be5 ARGBMirror AVX2
BUG=none
TEST=out\release\libyuv_unittest --gtest_filter=*ARGBMirror*
Review URL: https://webrtc-codereview.appspot.com/1159005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@594 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-06 00:57:48 +00:00
fbarchard@google.com
2007dca6dc Mirror
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1162005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@592 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-05 22:40:55 +00:00
fbarchard@google.com
51d3e236cb AVX2 math functions for images
BUG=none
TEST=ARGBMultiply ARGBAdd and ARGBSubtract unittests.
Review URL: https://webrtc-codereview.appspot.com/1146006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@588 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-04 21:50:23 +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
d5ee3dc912 AVX2 Attenuate
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1101014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@576 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-19 12:26:13 +00:00
fbarchard@google.com
a00da62e52 Add I422Copy and I444Copy
BUG=none
TEST=I422ToI422 and I444ToI444
Review URL: https://webrtc-codereview.appspot.com/1103009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@570 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-11 22:00:24 +00:00
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
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
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
5b0f7e1132 Neon port of ARGBAdd and ARGBMultiply
BUG=175
TEST=out\release\libyuv_unittest --gtest_filter=*Add*
Review URL: https://webrtc-codereview.appspot.com/1051005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@545 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-21 08:42:59 +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
8ec6033478 ARGBMultiply 2 images together
BUG=175
TEST=Out\release\libyuv_unittest --gtest_filter=*Mult*
Review URL: https://webrtc-codereview.appspot.com/1043004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@541 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-17 20:18:08 +00:00
fbarchard@google.com
ba45bbff34 CopyPlane check for contiguous memory and treat image as width * height, 1 image.
BUG=176
TEST=I420ToI420
Review URL: https://webrtc-codereview.appspot.com/1021014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@538 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-16 02:03:22 +00:00
fbarchard@google.com
9780dd4e81 Remove V210. Quality of this code is insufficient for libyuv. Unable to make V210 pass valgrind. Would require effort to add missing support and optimization.
BUG=91
TEST=valgrind
Review URL: https://webrtc-codereview.appspot.com/1021009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@536 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-11 23:42:00 +00:00
fbarchard@google.com
734787584d I420ToV210 unittest enable
BUG=91
TEST=valgrind on unittests
Review URL: https://webrtc-codereview.appspot.com/1029009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@535 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-11 19:41:40 +00:00
fbarchard@google.com
442b0ad0ac Call CanonicalCode in convert functions and add unittest for function.
BUG=none
TEST=video_common_test added
Review URL: https://webrtc-codereview.appspot.com/1001007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@521 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-18 17:23:15 +00:00
fbarchard@google.com
62154e53a2 Color Matrix for Neon
BUG=176
TESTED=*Matrix*
Review URL: https://webrtc-codereview.appspot.com/966033

git-svn-id: http://libyuv.googlecode.com/svn/trunk@512 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-04 01:05:28 +00:00
fbarchard@google.com
c247625d7f Sepia NEON
BUG=167
TEST=*Sepia
Review URL: https://webrtc-codereview.appspot.com/968014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@511 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-04 00:08:35 +00:00
fbarchard@google.com
82375d6de2 Neon version of Gray
BUG=176
TEST=./libyuv_unittest --gtest_filter=**Gray*
Review URL: https://webrtc-codereview.appspot.com/929039

git-svn-id: http://libyuv.googlecode.com/svn/trunk@510 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-03 23:33:00 +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
ef60ab0db4 Quantize for Neon
BUG=167
TEST=./libyuv_unittest --gtest_filter=*Quantize
Review URL: https://webrtc-codereview.appspot.com/972010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@508 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-03 08:15:31 +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
8f506332af ARGBBlend_NEON
BUG=161
TEST=planar test
Review URL: https://webrtc-codereview.appspot.com/939022

git-svn-id: http://libyuv.googlecode.com/svn/trunk@499 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 20:49:39 +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
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
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
9f2d404145 Neon 1 step conversion of NV12 to RGB565
BUG=136
TEST=unittest on nv12
Review URL: https://webrtc-codereview.appspot.com/939011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@461 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-31 18:36:28 +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
6c1b2d38c6 Mips port of libyuv. Includes functionality for convert, rotate, scale and memcpy.
BUG=126
TESTED=tested by mips
Review URL: https://webrtc-codereview.appspot.com/930005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@449 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-26 22:49:18 +00:00
fbarchard@google.com
6bb9f53f4f Adding I400Mirror allows unittesting of YUV mirroring
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/928008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@446 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-25 20:34:42 +00:00
fbarchard@google.com
62a961bee7 Neon version of I420ToNV12 and I420ToNV21. NV21ToI420 added as function. CopyRow changed to vld4.8 to allow unaligned copy.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/922005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@435 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 17:24:50 +00:00
fbarchard@google.com
c7277d08e8 Add convert_from_argb.h for all conversion functions from ARGB to something else.
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/857014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@408 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 23:10:53 +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
6b5a8efff7 I400 invert support which fixes a valgrind bug
BUG=117
TEST=I400ToI400Invert_OptVsC
Review URL: https://webrtc-codereview.appspot.com/859010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@398 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 02:49:59 +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
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
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
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
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
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