111 Commits

Author SHA1 Message Date
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
042acf0458 Reduce allowed error on simple conversions
BUG=none
TEST=unittests
Review URL: https://webrtc-codereview.appspot.com/917006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@431 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-20 06:37:21 +00:00
fbarchard@google.com
0a6b7a6eb7 test rgb565 by converting to ARGB and then doing MSE
BUG=114
TEST=libyuvTest.I420ToRGB565_Any
Review URL: https://webrtc-codereview.appspot.com/919004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@428 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-19 20:10:47 +00:00
fbarchard@google.com
de07146fa4 ifdef around mips detect code
BUG=none
TEST=build on x86 linux
Review URL: https://webrtc-codereview.appspot.com/889005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@421 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-16 08:38:44 +00:00
fbarchard@google.com
4862595764 More tests for NV12
BUG=none
TEST=*NV12*
Review URL: https://webrtc-codereview.appspot.com/885004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@419 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 07:19:31 +00:00
fbarchard@google.com
c4163acb7b Additional rotate test
BUG=none
TEST=adds new test in rotate_test
Review URL: https://webrtc-codereview.appspot.com/883004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@417 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:02:28 +00:00
fbarchard@google.com
ca41005256 mips version of SplitUV for nv12/21
BUG=126
TEST=rotate_test and cpu_test updated
Review URL: https://webrtc-codereview.appspot.com/879005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@416 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:01:19 +00:00
fbarchard@google.com
7d3786c6c4 Enable C vs Opt unittest
BUG=91
TEST=I420ToV210
Review URL: https://webrtc-codereview.appspot.com/859015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@412 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 06:22:20 +00:00
fbarchard@google.com
16644f5f77 Enable C vs Opt unittest
BUG=91
TEST=I420ToV210
Review URL: https://webrtc-codereview.appspot.com/859015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@411 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 02:04:59 +00:00
fbarchard@google.com
ab1f34a1d6 Disable C vs ASM comparion
BUG=91
TEST=I420ToV210
Review URL: https://webrtc-codereview.appspot.com/857015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@409 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 23:37:24 +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
0cbbdde3d5 memset v210 destination buffer to 0 to attempt valgrind fix.
BUG=91
TEST=I420ToV210
Review URL: https://webrtc-codereview.appspot.com/872008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@407 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 20:53:05 +00:00
fbarchard@google.com
f09570d5e5 v210 unittest use 128 byte stride
BUG=91
TEST=libyuv unittest I420ToV210
Review URL: https://webrtc-codereview.appspot.com/867009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@404 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 08:30:08 +00:00
fbarchard@google.com
a7e530900e More unittests
BUG=91
TEST=I420ToV210
Review URL: https://webrtc-codereview.appspot.com/868011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@403 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 06:40:27 +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
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
4807dea4e7 NV12ToARGBRow_NEON and SetRow8_NEON
BUG=115
TEST=./libyuv_unittest --gtest_filter=*NV12ToARGB*
Review URL: https://webrtc-codereview.appspot.com/869006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@395 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-08 10:16:13 +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
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
f0ada0e90b Pad source RGB buffer by 16 to allow overread in ARGBToRGB24
BUG=94
TEST=Build bots
Review URL: https://webrtc-codereview.appspot.com/827004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@370 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-21 01:00:40 +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
7781d943b0 Disable V210 unittest that fails valgrind, and some warning fixes for android.
BUG=91
TEST=try
Review URL: https://webrtc-codereview.appspot.com/813004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@362 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 22:58:34 +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
13f3894033 Fix for subsampling that caused a valgrind memcheck fail.
BUG=79
TEST=build bots should pass
Review URL: https://webrtc-codereview.appspot.com/806005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@358 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-17 21:19:34 +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
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
6ccda3d206 Add environment variable for tests to repeat for benchmarking purposes.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/796006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@352 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-14 15:35:34 +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
cded3e566b interpolate stores/restores an extra byte, so asan complains about the potential danger. This pads the buffer by 16, which is what the user is expected to do, for now at least.
BUG=81
TESTED=asan on unittests
Review URL: https://webrtc-codereview.appspot.com/799005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@349 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-13 11:19:00 +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
008e5eb689 produce a warning if versions are slightly off.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/796004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@347 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-12 01:13:01 +00:00
fbarchard@google.com
853dc689bf Allow TextVersion to be with 5 of actual version. This allows a few changes without failing the unittest before version.h must be updated. Note that changes of documentation count.
BUG=none
TEST=TestVersion passes, even though this CL purposely does not update the version.
Review URL: https://webrtc-codereview.appspot.com/781007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@344 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-11 06:15:16 +00:00
fbarchard@google.com
feb589f6ce Disable v210 test which fails under valgrind. 210 is a very uncommon format, but leverages UYVY, which also fails.
BUG=82
TEST=build bot
Review URL: https://webrtc-codereview.appspot.com/787006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@341 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-10 20:21:47 +00:00
fbarchard@google.com
78b2d9ae9b Disable 3 tests that fail valgrind memcheck, tsan and asan tests
BUG=79,80,81
TEST=none
Review URL: https://webrtc-codereview.appspot.com/789004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@340 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-10 19:50:09 +00:00
fbarchard@google.com
b8f820af71 make const int into int
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/766007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@338 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 22:57:02 +00:00
fbarchard@google.com
26d088e770 Unittest fix 80 column limit
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/762007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@337 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 22:31:27 +00:00
fbarchard@google.com
de6eca3104 Change unittest to default to 1 iteration of each test. Can be change manually to 1000 for benchmarking purposes.
BUG=77
TEST=build\release\libyuv_unittest.exe
Review URL: https://webrtc-codereview.appspot.com/768006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@336 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 21:18:10 +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
5ef7680eae Change size of V210 in unittest from 3 bytes to 45 / 16 bytes.
BUG=75
TEST=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=**V210*
Review URL: https://webrtc-codereview.appspot.com/762005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@332 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-29 23:51: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
b1f5fae637 YUY2ToI420_OptVsC unittest added. As well as all other packed formats to I420.
BUG=71
TESTED=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=libyuvTest.*OptVsC
Review URL: https://webrtc-codereview.appspot.com/764004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@330 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-28 16:45:48 +00:00
fbarchard@google.com
749950d7fd Fix a warning on win64.. unused variable.
BUG=61,62
TEST=build 64 bit on windows
Review URL: https://webrtc-codereview.appspot.com/717011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@318 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-09 19:48:41 +00:00
fbarchard@google.com
2a95465795 HAVE_ARGBAFFINEROW_SSE2 macro
BUG=62
TEST=none
Review URL: https://webrtc-codereview.appspot.com/716006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@316 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 23:18:56 +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