133 Commits

Author SHA1 Message Date
fbarchard@google.com
ee43c95c51 fix memory leaks in *ToI420 functions.
BUG=352
TESTED=drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=**ToI420_Opt
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/21289004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1060 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-22 00:37:16 +00:00
ashok.bhat@gmail.com
8f04ca5b9c Row AArch64 Neon implementation - Part 5
BUG=319
TESTED=libyuv_unittest
R=fbarchard@chromium.org, fbarchard@google.com

Change-Id: Ia76096088ddd771388f01dd86110089db2faedfc
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>

Review URL: https://webrtc-codereview.appspot.com/21189004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1055 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-21 10:07:11 +00:00
fbarchard@google.com
720e3a247f In Q420ToI420 the variable halfheight is initialized but not used. Change it to instantiate the variable but do not initialize it. It will be assigned conditionally later. This warning raised in xcode.
BUG=353
TESTED=local build still works
R=harryjin@google.com, noahric@chromium.org

Review URL: https://webrtc-codereview.appspot.com/13299004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1053 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-08-21 00:20:58 +00:00
fbarchard@google.com
8798e04075 Port conversion functions to c.
BUG=303
TESTED=cl /c /TC /Iinclude source\convert_from.cc source\convert_argb.cc source\convert_from_argb.cc
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/17909004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1030 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-08 18:44:57 +00:00
fbarchard@google.com
a2fbf9dee6 convert source ported to c89.
BUG=303
TESTED=cl /c /TC /Iinclude source/convert.cc
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/21849004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1029 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-07-07 19:05:45 +00:00
kjellander@google.com
614c9fa853 Revert accidental checkin in r992
I dunno how this happened, since that file belonged
to a another gcl change that I use to test the trybots.

TBR=fbarchard@google.com

Review URL: https://webrtc-codereview.appspot.com/10899005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@993 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 19:40:39 +00:00
kjellander@google.com
d5a521cd23 Minor fixes to gyp_libyuv.py
Fixed invalid references left from
the copied gyp_webrtc.

This CL will also add svn:ignore on a
bunch of directories to speed up builds
(less unnecessary delete + redownload).

It also adds the executable bit to
gyp_libyuv.

R=fbarchard@google.com

Review URL: https://webrtc-codereview.appspot.com/10889004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@992 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-03-28 19:38:05 +00:00
fbarchard@google.com
d9c9f37ac4 Conversions use malloc for row buffers.
BUG=296
TESTED=libyuv convert_test
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/6399004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@928 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 02:00:30 +00:00
fbarchard@google.com
99a1298c54 I444ToI420 etc use ScalePlane on Y to allow mirroring.
BUG=291
TESTED=unittests still pass.
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/4979004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@893 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 23:36:06 +00:00
fbarchard@google.com
a8e4dcb5d5 Use scaling for YUV to YUV.
BUG=none
TEST=I4*ToI4*
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/4969004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@892 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 20:31:53 +00:00
fbarchard@google.com
48e5364313 Use xor/mov bx instead of movzx to avoid drmemory bug
BUG=none
TEST=none
R=johannkoenig@google.com, tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/4879004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@891 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 03:04:58 +00:00
fbarchard@google.com
d0a4b4ac01 Switch I4xxToI420 to point sample to pass drmemory.
BUG=289
TESTED=drmemory
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/4809004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@886 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 07:00:11 +00:00
fbarchard@google.com
545a51c1d3 use scale for subsampling to handle odd source width to even destination width.
BUG=289
TEST=drmemory
R=nfullagar@google.com, ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/4779004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@884 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 00:27:29 +00:00
fbarchard@google.com
87215c0871 Fix row coalescing for NV12 and NV21 to I420.
BUG=none
TEST=none
R=tpsiaki@google.com

Review URL: https://webrtc-codereview.appspot.com/3379004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@841 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-05 02:15:55 +00:00
fbarchard@google.com
6368c10c9c Add __declspec(safebuffers) to functions with arrays on stack that have explicit checks to avoid a redundent compiler stack check.
BUG=none
TEST=unitests pass
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/3289004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@837 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-01 21:27:31 +00:00
fbarchard@google.com
095f33d870 Coalesce rows by changing width/height and dropping into code instead of recursing. Improve coalesce by setting stride to 0 so it can be used even on odd width images. Reduce unittests to improve time to run emulators.
BUG=277
TEST=unittests all build and pass
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/2589004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@819 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 19:29:10 +00:00
fbarchard@google.com
7fa21d677c More ifdefs to build all libyuv and not get link errors on missing assembly
BUG=253
TEST=nacl validator
R=nfullagar@google.com, ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/2024004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@756 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-13 21:54:23 +00:00
fbarchard@google.com
8ffe78abd2 Scale down by 4 used 3rd pixel
BUG=232
TEST=convert.exe -f 0 faces_640x480_P420.yuv face2_160x120_P420.yuv
R=changjun.yang@intel.com

Review URL: https://webrtc-codereview.appspot.com/1579005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@709 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 07:14:14 +00:00
fbarchard@google.com
aa7988ff73 Enhanced Rep Mov String version of CopyRow for posix and use cpu detect for ERMS
BUG=213
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1306008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@658 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-12 00:44:33 +00:00
fbarchard@google.com
492768cbca isolate jpeg to convert_jpeg and call from convert_to_i420
BUG=212
TESTED=manually tested
Review URL: https://webrtc-codereview.appspot.com/1309004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@653 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-09 23:00:56 +00:00
fbarchard@google.com
9b4c00b908 Move vzeroupper to row functions to simplify caller and allow mix of avx2 and sse2. Impact reduced by row coalescing.
BUG=none
TEST=all tests pass with sde
Review URL: https://webrtc-codereview.appspot.com/1269009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@641 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 05:54:59 +00:00
fbarchard@google.com
5ca144d214 NV12 to/from I420 coalesce rows for Y and UV independently.
BUG=197
TESTED=*NV12*_Opt
Review URL: https://webrtc-codereview.appspot.com/1201004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@607 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-14 17:57:47 +00:00
fbarchard@google.com
e1bb5d9430 AVX2 version of half rows.
BUG=none
TEST=out\release\libyuv_unittest.exe --gtest_filter=*I422ToI420*
Review URL: https://webrtc-codereview.appspot.com/1157004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@590 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-05 06:32:03 +00:00
fbarchard@google.com
83a63e65a6 Change YUV_DISABLE_ASM to LIBYUV_DISABLE_NEON, LIBYUV_DISABLE_MIPS, LIBYUV_DISABLE_X86
BUG=189
TESTED=try
Review URL: https://webrtc-codereview.appspot.com/1113006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@582 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 00:20:29 +00:00
fbarchard@google.com
928483f397 Add I420ToNV12 and NV21 to convert from
BUG=178
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1127007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@581 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-26 03:00:31 +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
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
92352b7081 mips optimized copy for all functions using CopyRows.
BUG=176
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1074010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@556 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 19:43:29 +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
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
kjellander@google.com
7c9186f568 Removing accidental change in r529
git-svn-id: http://libyuv.googlecode.com/svn/trunk@530 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-10 10:25:34 +00:00
kjellander@google.com
da4080de69 Adding tools directory to source control
git-svn-id: http://libyuv.googlecode.com/svn/trunk@529 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-10 10:23:39 +00:00
fbarchard@google.com
ceee491c24 move READWORD and WRITEWORD into row_common along with row functions that use them
BUG=171
TEST=still builds
Review URL: https://webrtc-codereview.appspot.com/1021008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@528 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-09 05:30:08 +00:00
fbarchard@google.com
3ae19cb834 Make 565 use big endian consistent read/write word for s390.
BUG=171
TESTED=unittests on x86 not impacted.
Review URL: https://webrtc-codereview.appspot.com/1022006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@524 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-07 06:50:53 +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
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
4a86a836fc On Neon remove aligned SplitUVRow
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/930020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@493 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-16 02:51:31 +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
752cb9e057 Some minor fixes for yuy2, r12 register, mask on any function.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/936023

git-svn-id: http://libyuv.googlecode.com/svn/trunk@489 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-14 05:46:56 +00:00
fbarchard@google.com
9573071950 Neon RGB24 to I420
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/965018

git-svn-id: http://libyuv.googlecode.com/svn/trunk@481 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-12 20:42:48 +00:00
fbarchard@google.com
522d757c92 Neon optimized ARGBToI444/422/411/420 Any variations, ARGB1555ToI420 Neon, ARGB4444ToI420
BUG=148
TEST=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*R*ToI4* | sed 's/\(.*(\)\([0-9]*\)\( ms)\)/\2 - \1\2\3/g' | sort -rn | grep ms
Review URL: https://webrtc-codereview.appspot.com/936020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@480 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-09 23:14:57 +00:00
fbarchard@google.com
f1daa3db65 Neon RGB To I420
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/936015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@479 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-07 08:27:24 +00:00
fbarchard@google.com
dd2d512e5a 420 subsampler
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/935012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@478 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-07 00:53:52 +00:00
fbarchard@google.com
1dee625093 ARGB1555 and ARGB4444 to I420 Neon
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/965008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@473 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 02:14:23 +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
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
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
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
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
1c396a3d7d MJPGSize function to query size.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/898004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@425 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-17 04:37:39 +00:00