89 Commits

Author SHA1 Message Date
fbarchard@google.com
793e5a06ff YUY2ToARGB_NEON in one step
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/964010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@468 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-03 15:12:48 +00:00
fbarchard@google.com
b883ce6e2c I411ToARGB_NEON and I444ToARGB_NEON port.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/964009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@467 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-02 21:37:41 +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
11c6d32afc I420ToARGB1555, I420ToARGB4444, I420ToRGB565, ARGBToARGB1555, ARGBToARGB4444, and ARGBToRGB565 done with shared macro for conversion in 1 step NEON.
BUG=139
TEST=libyuv_unittest --gtest_filter=*I420To*RGB???*_*
Review URL: https://webrtc-codereview.appspot.com/928013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@460 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-30 23:12:34 +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
4bfe1e0d6b Move any functions into their own file
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/936009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@458 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-30 20:01:41 +00:00
fbarchard@google.com
dbcabea057 move rgb565 wrapper to common so it wont inline
BUG=137
TEST=hammer builds
Review URL: https://webrtc-codereview.appspot.com/930006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@455 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 21:20:25 +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
31d05032f7 I420ToYUY2_Any_Neon to handle odd sizes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/922007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@437 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-23 09:04:37 +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
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
0908a701e9 ARGBToY_NEON for faster screencasts
BUG=107
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/892004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@423 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-16 22:34:07 +00:00
fbarchard@google.com
1bdcc4c3e3 rgb565 and argb1555 neon
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/881004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@420 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-15 17:46:59 +00:00
fbarchard@google.com
c389e8e3b1 Convert ARGB to ARGB4444 with Neon
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/875004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@415 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-13 02:51:48 +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
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
c05b7c4981 NEON YUY2 Any functions enabled. Previously was inside an SSSE3 ifdef that disabled them
BUG=105
TEST=neon build bots
Review URL: https://webrtc-codereview.appspot.com/859004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@385 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 05:18:04 +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
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
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
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
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
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
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
81b804e35c ARGBQuantize to do a posterizing effect. Added random resolution unittest.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/654005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@289 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-20 02:15:01 +00:00
fbarchard@google.com
e442dc4c2a ARGBcolorMatrix for applying transforms such as grey and sepia in a more general form. Unittest does sepia for comparison.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/656004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@288 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-18 17:37:09 +00:00
fbarchard@google.com
794fe1236a alpha blend 4 pixel loop bug fix and blender C code match SSE for better testability and reference code for future optimized code.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@287 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-15 01:05:01 +00:00
fbarchard@google.com
ee2208885f Fix constant in rowposix, remove addrow and minor cleanups
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/637013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@286 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-14 00:07:56 +00:00
fbarchard@google.com
bac5f2c3ee ARGBBlend functions that handle any alignment and number of pixels
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/635011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@285 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-13 23:43:12 +00:00
fbarchard@google.com
133adc4647 followup cleanup for blur and make compilable with /clr
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@284 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 05:46:49 +00:00
fbarchard@google.com
f51e87912e Blur functions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/633005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@282 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-10 02:40:04 +00:00
fbarchard@google.com
2d9fe08225 direct conversion from NV12 to ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@281 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 22:11:34 +00:00
fbarchard@google.com
e214fe3f07 I411ToARGB doing 2 UV values with 8 Y values
BUG=40
TEST=planar_test
Review URL: https://webrtc-codereview.appspot.com/637005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@277 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-04 23:47:11 +00:00
fbarchard@google.com
6d6b7709f7 Fix RGB565ToARGB_SSE2. Expose rgb conversions. Low levels were already there for i420 to rgb, but rgb to rgb functions were not exposed. Added unittests.
BUG=none
TEST=planar unittests
Review URL: https://webrtc-codereview.appspot.com/632004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@276 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-04 15:29:15 +00:00
fbarchard@google.com
85869c87f3 UYVYToARGB and ARGBToRGB565 added for more ARGB support completeness.
BUG=38
TEST=none
Review URL: https://webrtc-codereview.appspot.com/624004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@275 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-01 05:44:36 +00:00