1122 Commits

Author SHA1 Message Date
fbarchard@google.com
529558453f Add gcc 4.7 support for AVX2
BUG=269
TEST=g++ -c source/row_posix.cc -I include/
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@797 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 01:13:43 +00:00
fbarchard@google.com
3cb6071cb9 Port Polynomial AVX2 code to GCC/NaCL
BUG=269
TESTED=untested
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@795 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-20 05:48:05 +00:00
fbarchard@google.com
afd1d6b4ec Fix 2 bugs with Luma scale
BUG=267
TEST=luma unittest improved
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@794 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-20 01:00:54 +00:00
fbarchard@google.com
7a0d01ef8b Luma Table optimized for SSSE3
BUG=267
TESTED=lUMA unittest
R=jingning@google.com, nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@793 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-19 17:55:54 +00:00
fbarchard@google.com
823548cb3b AVX2 hash using vex128 as first step.
BUG=none
TEST=BenchmarkDjb2_Opt
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@792 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-17 20:34:28 +00:00
fbarchard@google.com
a1ab194545 Color Table x86 reoptimized and ported to gcc.
BUG=266
TESTED=color table unittests
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@791 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 17:01:02 +00:00
fbarchard@google.com
2bbb64df2c FMA3 version of Polynomial
BUG=265
TEST=cpuid and Polynomial unittest
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@790 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 16:42:19 +00:00
fbarchard@google.com
851a702b39 Make static constants const for Visual C. Allows optimizer to collapse similar constants (SSE2 is subset of AVX2). GCC has compiler bug with const attributes, but Visual C does not.
BUG=254
TEST=windows build still passes and is smaller
R=cdelaunay@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@788 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-12 01:07:42 +00:00
fbarchard@google.com
acce9ed482 Nacl port of Polynomial
BUG=265
TESTED=untested
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@787 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-11 23:36:17 +00:00
fbarchard@google.com
c3b04796c2 ARGBPolynomial ported to gcc
BUG=265
TESTED=try bots
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@786 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-11 14:43:29 +00:00
fbarchard@google.com
7e7c7753ba Remove alignment from ARGBToRGB24 and ARGBToRAW to allow fast code to be used all of the time. Improves performance on Westmere and beyond, hurts performance for aligned buffers on older CPUs.
BUG=230
TESTED=try bot
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@785 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-11 01:18:36 +00:00
fbarchard@google.com
b38b73d88c ARGBLumaColorTable function.
BUG=267
TEST=Luma*
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@783 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 20:34:09 +00:00
fbarchard@google.com
c3c06ec328 polynomial sse2 do 2 pixels at a time.
BUG=265
TEST=*Poly*
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@782 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 08:16:06 +00:00
fbarchard@google.com
5442018d64 Improved polynomial for avx2 using vpmovzxbd and remove movdqa.
BUG=265
TESTED=libyuvTest.TestARGBPolynomial
R=jingning@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@781 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-09 18:14:03 +00:00
fbarchard@google.com
6da76f3b34 AVX version of Polynomial
BUG=265
TEST=untested
R=thorcarpenter@google.com, yunqingwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@780 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-07 07:05:06 +00:00
fbarchard@google.com
dcd87ffb8c Vertical-only scale for YUV.
BUG=260
TEST=ScaleDownByVertical2by3_Bilinear
R=jingning@google.com, thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@779 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 20:00:10 +00:00
fbarchard@google.com
ae0091e3a7 ARGBPolynomial for applying a 3 term polynomial matrix to pixels.
BUG=265
TEST=ARGBPolynomial
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@778 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 19:20:47 +00:00
fbarchard@google.com
2154de414c Port InterpolateRows to AVX2
BUG=264
TEST=ARGBInterpolate*
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@777 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 07:18:21 +00:00
fbarchard@google.com
7aa2bf9284 Scale avoid overread for DrMemory
BUG=263
TEST=Scale unittests still pass with same performance.
R=mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@776 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-02 10:32:27 +00:00
fbarchard@google.com
5fcf38cfc8 Scale a plane. Before eating an airplane, remove the scales, then fry and serve with tartar sauce.
BUG=260
TEST=try serving with lemon.
R=wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@775 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-28 01:10:48 +00:00
fbarchard@google.com
c105bae792 Move header and rename function to more generic scaleplane
BUG=260
TEST=unittests
R=wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@774 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-28 00:31:08 +00:00
fbarchard@google.com
49bbc1b4f3 Move vertical scaler to common code.
BUG=260
TEST=unittests build/run
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@773 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-27 16:32:22 +00:00
fbarchard@google.com
d1f2ef310d Scale specialized for 50/50 vertically and check x is integer
BUG=260
TESTED=manual test with LIBYUV_HEIGHT=1440
R=wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@772 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-26 23:52:13 +00:00
fbarchard@google.com
eed5d8e92f Remove TESTING macro from posix
BUG=253
TEST=none
R=dingkai@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@771 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-26 22:48:51 +00:00
fbarchard@google.com
3c11e185a8 Scale vertically only
BUG=260
TESTED=manually tested with LIBYUV_HEIGHT=270
R=dingkai@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@770 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-26 22:24:08 +00:00
nfullagar@google.com
607dc47533 Port HAS_ARGBTOUVROW_SSSE3 to Native Client
This CL also ports HAS_YUY2TOYROW_SSE2 and enables
HAS_BGRATOYROW_SSSE3 and many others.

TEST=libyuv_test,ncval,bots
BUG=253
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@769 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-22 01:15:58 +00:00
fbarchard@google.com
196cc2e5c1 generate code for various instructions just to get byte codes.
BUG=253
TESTED=nacl build and dump
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@768 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-21 01:38:25 +00:00
fbarchard@google.com
fc34ac5bb2 Fix for ARGBScale nacl validator
BUG=253
TESTED=ncval.exe newlib/Release/nacltest_x86_64.nexe
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@767 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-19 22:29:33 +00:00
nfullagar@google.com
f6e1139921 Port scale_argb functions to Native Client.
BUG=253
TEST=libyuv_unittest,ncval,trybots
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@766 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-19 20:44:14 +00:00
fbarchard@google.com
c140b9d150 CopyRow_SSE2 ported to Nacl with munging removed
BUG=253
TESTED=libyuvTest.TestCopyPlane
R=wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@765 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-19 19:12:39 +00:00
nfullagar@google.com
1c710a0606 Port Sobel to Native Client
BUG=253
TEST=libyuvtest,trybots
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@764 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-15 21:26:53 +00:00
fbarchard@google.com
bb5ea8e4df Unattenuate port to NaCL
BUG=253
TESTED=validator
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@763 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-15 06:40:42 +00:00
nfullagar@google.com
f78509b3be Port Interpolate SSE2 to NaCl
BUG=253
TEST=libyuv_test,try bots
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@762 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 23:09:44 +00:00
fbarchard@google.com
6f61eb6709 NaCL port of Affine
BUG=253
TESTED=ncval passed
R=dingkai@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@761 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 21:43:44 +00:00
fbarchard@google.com
d593876b16 Disable assembly for rotate and scale
BUG=253
TEST=validator
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@760 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 18:45:16 +00:00
nfullagar@google.com
9b0f0da083 InterpolateRow SSSE3 for Native Client
Fix bug in CumulativeSumToAverageRow
BUG=253
TEST=ncval,trybots
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@759 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 18:19:04 +00:00
fbarchard@google.com
d459f382fd Align branch targets for NaCL validator.
BUG=253
TEST=validator
R=johannkoenig@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@758 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 17:58:33 +00:00
fbarchard@google.com
c4a70492c0 blur unittest and fix for negative height
BUG=256
TEST=*Blur*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@757 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 16:16:39 +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
ee34d49b28 Fix for ret in rotate for nacl 32 bit
BUG=253
TESTED=VALID
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@755 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-12 23:28:28 +00:00
nfullagar@google.com
e9a27403d4 First go at porting blur component to NaCl
BUG=253
TEST=ncvar
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@754 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-09 18:21:57 +00:00
fbarchard@google.com
4b4b50fb44 Make unittests to 1280 pixels for simple planar tests, to get more realistic performance metrics than 256 pixels.
BUG=253
TEST=planar tests
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@753 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-09 02:02:52 +00:00
fbarchard@google.com
0d41aee26b Port compare functions to Nacl
BUG=253
TEST=none
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@752 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-08 23:52:34 +00:00
nfullagar@google.com
341b17a250 Fix for NaCl store string, which needs source reg.
BUG=253
TEST=ncval
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@751 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-08 19:58:03 +00:00
nfullagar@google.com
22402bfa6f Support string instructions for NaCl
BUG=253
TEST=validator
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@750 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-08 00:26:20 +00:00
fbarchard@google.com
e64c236250 Fix for Nacl version of blur
BUG=253
TEST=none
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@749 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-07 21:18:01 +00:00
fbarchard@google.com
9335518f41 Port some of the conversion routines to nacl
BUG=253
TEST=validator
R=nfullagar@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@748 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-07 20:29:18 +00:00
fbarchard@google.com
b8ffdc9e57 ColorMatrix and friends ported to NaCL
BUG=253
TESTED=ncval_x86_64.exe newlib/Release/nacltest_x86_64.nexe
R=nfullagar@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@747 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 22:27:01 +00:00
fbarchard@google.com
abfeea9b81 Math functions - add, substract, multiply and shade adapted to nacl friendly addressing.
BUG=253
TEST=out\release\libyuv_unittest --gtest_filter=*Add*
R=dingkai@google.com, nfullagar@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@746 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 20:47:18 +00:00
fbarchard@google.com
008ecea4fe NaCL port of Attenuate
BUG=253
TEST=out\release\libyuv_unittest --gtest_filter=*Attenuate*
R=nfullagar@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@745 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 00:51:26 +00:00
fbarchard@google.com
f8a86cb095 Enable AlphaBlend SSSE3 code for NaCL
BUG=253
TESTED=validator
R=nfullagar@chromium.org, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@744 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 00:08:01 +00:00
fbarchard@google.com
f2aa91a1ac replace static const with static to avoid internal compiler error with gcc
BUG=258
TEST=try bots
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@743 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-02 17:48:24 +00:00
fbarchard@google.com
465a5583ef use CONST macro for OSX.
BUG=254
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@742 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-02 00:44:29 +00:00
fbarchard@google.com
f0627d7107 syntax error fix
BUG=none
TEST=none
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@741 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-26 01:18:25 +00:00
fbarchard@google.com
4a1325ade5 Disable xgetbv on nacl for now as its not allowed under validator. Consider reenabling it when avx2 is allowed.
BUG=253
TEST=validator
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@740 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-26 00:59:52 +00:00
fbarchard@google.com
5520710ef7 Add RGBColorTable which is like ARGBColorTable but only does first 3 channels.
BUG=none
TEST=none
R=dingkai@google.com, thorcarpenter@google.com, wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@739 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-24 21:35:57 +00:00
fbarchard@google.com
595c2427e8 Simple FixedDiv that does integer divide instruction with 64 bit dividend and 32 bit divisor to produce 32 bit result.
BUG=250
TEST=math_test
R=dingkai@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@736 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 22:08:16 +00:00
fbarchard@google.com
e5d3e10ee8 Add rounding to FixedDiv
BUG=250
TEST=unittest more exact
R=dingkai@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@735 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 20:37:14 +00:00
fbarchard@google.com
c9f0d966ed FixedDiv port to gcc
BUG=250
TEST=*Div*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@733 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 18:58:33 +00:00
fbarchard@google.com
747ceb9fa5 FixedDiv using integers
BUG=250
TEST=fixed div unittest
R=dingkai@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@732 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 17:12:15 +00:00
fbarchard@google.com
1140454596 add f to float constant
BUG=none
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@731 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 23:23:51 +00:00
fbarchard@google.com
a18ba50d23 Remove blank lint from OWNERS. Move FixedDiv into row functions to avoid changing build files.
BUG=none
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@730 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 23:04:13 +00:00
fbarchard@google.com
6f269a1a1b Expect off by one on 1/1080 and disable scaleup code for now.
BUG=none
TEST=libyuvTest.TestFixedDiv_Opt
R=shaowei@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@729 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 17:21:26 +00:00
fbarchard@google.com
b3a08b3e05 include lint warning fixes
BUG=none
TEST=lint
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@728 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 16:37:39 +00:00
fbarchard@google.com
f2f9dbb644 FixedDiv function in C and benchmark
BUG=none
TEST=FixedDiv*
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@727 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-15 21:10:19 +00:00
fbarchard@google.com
e4d77322ab YUV to ARGB scaler low level function. Not hooked up to high level.
BUG=240
TEST=try bots compile function without errors.
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@724 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-13 21:05:47 +00:00
fbarchard@google.com
2c4e3993c0 Change vld and vst to specify only elements and size not sign for better arm compiler compatability.
BUG=none
TEST=none
R=kma@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@721 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-10 16:21:57 +00:00
fbarchard@google.com
eed4149e10 gcc msys compile ifdefs avoid Visual C inline
BUG=243
TEST=local compile with gcc
R=jkoleszar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@717 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-04 17:58:57 +00:00
fbarchard@google.com
97c9626107 Test yuv scaler with scale factor of 1
BUG=none
TEST=ScaleDownBy1
R=gangji@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@715 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-03 15:09:58 +00:00
fbarchard@google.com
449eb230a2 When scaling a 1x1, dx/dy is 0. Switch to point sample
BUG=none
TEST=none
R=dingkai@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@714 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-31 21:48:11 +00:00
fbarchard@google.com
e2115ac385 scaling from 1x1 will cause dx/dy to be 0. This was confusing the specialized scalers into calling the wrong function.
BUG=none
TEST=none
R=johannkoenig@google.com, noahric@chromium.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@713 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-31 21:10:01 +00:00
fbarchard@google.com
37c0e648d2 Fix crash on wide images
BUG=239
TEST=LIBYUV_WIDTH=10000 out\release\libyuv_unittest
R=changjun.yang@intel.com, johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@712 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-31 16:55:27 +00:00
fbarchard@google.com
314dbf71c3 ARGBScale to half size adjust address for filtering.
BUG=238
TEST=libyuvTest.ARGBScaleDownBy4_Bilinear
R=dingkai@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@711 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-31 00:56:33 +00:00
fbarchard@google.com
b911428afd Adapt row interpolator to do YUV as well as ARGB without extrude so it can be used in I420Scale.
BUG=237
TEST=Scale*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@710 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 23:42:27 +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
8b54a8f9f2 Specialized scale down sample to 1 / 2 size adjust to match general purpose code which uses odd pixel (rounded up - nearest neighbor).
BUG=223
TEST=out\Debug\convert.exe -f 0 faces_640x480_P420.yuv face2_320x240_P420.yuv
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@708 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-29 19:29:46 +00:00
fbarchard@google.com
83408b85e4 Change point down sampling to x = dx / 2 which matches ffmpeg and is lossless on up and then down sample.
BUG=232
TEST=convert.exe -f 0 faces_640x480_P420.yuv face2_352x288_P420.yuv
R=johannkoenig@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@707 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-29 17:40:50 +00:00
fbarchard@google.com
fcc1b95592 Scale up point use step / 2 as initial coordinate, which is more symetric and matches ffmpeg exactly.
BUG=232
TEST=convert.exe -f 0 faces_352x288_P420.yuv faces_640x480_P420.yuv
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@706 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-29 17:05:42 +00:00
fbarchard@google.com
58f50df879 Add Rotate Plane
BUG=233
TEST=RotatePlane*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@704 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-28 22:40:05 +00:00
fbarchard@google.com
031f05fd00 Add OSX fourcc for 32 and 24 bit big endian formats, using by camtwist
BUG=229
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/1506004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@698 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-19 18:32:45 +00:00
fbarchard@google.com
9591f63a46 scale down filter row segment
BUG=226
TESTED=unittest
Review URL: https://webrtc-codereview.appspot.com/1498004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@697 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-17 18:53:21 +00:00
fbarchard@google.com
d45342f61e Remove getenv for scaling filter as its not needed now and is showing up on profiles.
BUG=228
TESTED=unittest and try bots
Review URL: https://webrtc-codereview.appspot.com/1496004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@696 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-17 09:12:29 +00:00
fbarchard@google.com
3db4588bf9 Scale horizontally by 2 but vertically anything.
BUG=none
TEST=set LIBYUV_WIDTH=320 set LIBYUV_HEIGHT=90 libyuvTest.ARGBScaleFrom640x360_Bilinear
Review URL: https://webrtc-codereview.appspot.com/1477006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@695 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-15 19:51:33 +00:00
fbarchard@google.com
927eb2c1f6 scale argb clip
BUG=226
TESTED=libyuv scale unittests
Review URL: https://webrtc-codereview.appspot.com/1470004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@694 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-15 18:44:12 +00:00
fbarchard@google.com
306e984451 YUV scaler mirror horizontal if src_width is negative
BUG=
Review URL: https://webrtc-codereview.appspot.com/1449004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@692 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-13 17:57:27 +00:00
fbarchard@google.com
74df2a521d Point upsample uncentered so last pixel is same width as first.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1424004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@687 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-06 21:57:25 +00:00
fbarchard@google.com
ef888b7dba ARGBScale accept negative width for scaling to indicate mirror horizontally.
BUG=220
TEST=convert util and ARGBScale unittests with set LIBYUV_WIDTH=-1280
Review URL: https://webrtc-codereview.appspot.com/1409005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@685 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-06 17:48:25 +00:00
fbarchard@google.com
b432b7da2d Fix for clobber registers on SumSquareError_SSE2 used for PSNR
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1410004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@683 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-06 05:36:58 +00:00
fbarchard@google.com
4154163e20 make the lib self contained .a files
BUG=none
TEST=try
Review URL: https://webrtc-codereview.appspot.com/1380004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@682 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-01 19:14:28 +00:00
fbarchard@google.com
e25f991327 Fix for ARGBToI444 for arm
BUG=223
TEST=libyuv_unittest --gtest_filter=*I444ToARGB*
Review URL: https://webrtc-codereview.appspot.com/1353004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@680 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-25 18:04:17 +00:00
fbarchard@google.com
7c4ba13b31 remove empty last line
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1317007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@679 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-24 19:08:17 +00:00
fbarchard@google.com
77b0af36e4 roll chromium deps to a known good release (lkgr) and fix indent lint issue.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1321008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@677 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-23 21:35:07 +00:00
fbarchard@google.com
50c33eb601 YuvPixel for llvm use byte clamping branchless instead of int expression.
BUG=221
TEST=I420To*R*
Review URL: https://webrtc-codereview.appspot.com/1313011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@676 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-23 07:06:45 +00:00
fbarchard@google.com
609dd85f7a Branchless clamping for llvm
BUG=221
TESTED=try
Review URL: https://webrtc-codereview.appspot.com/1329005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@675 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-23 01:25:33 +00:00
fbarchard@google.com
e24ba5cefa Fix for llvm GPR register usage
BUG=222
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1326010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@674 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-23 01:06:04 +00:00
fbarchard@google.com
c751b68a78 fix for llvm max255 macro
BUG=none
TEST=libyuv_unittest --gtest_filter=*Add*
Review URL: https://webrtc-codereview.appspot.com/1346005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@671 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-19 19:45:36 +00:00
fbarchard@google.com
bb92acade0 Unaligned math effects.
BUG=none
TEST=Add*
Review URL: https://webrtc-codereview.appspot.com/1345004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@670 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-19 18:10:38 +00:00
fbarchard@google.com
fc264019de Underflow sub fix
BUG=none
TEST=ARGBSubtract_Unaligned

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@667 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-16 02:44:10 +00:00
fbarchard@google.com
75a5403e9e llvm -O0 -fpic 32 bit runs out of registers. Extend the apple fix to llvm.
BUG=none
TEST=none

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@666 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 23:21:48 +00:00
fbarchard@google.com
2b115a5237 Remove cruft.
BUG=208
TEST=lint

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@665 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 20:06:52 +00:00
fbarchard@google.com
461767d6d5 Bilinear upsample
BUG=208
TEST=out\release\libyuv_unittest --gtest_filter=*ARGBScale*640*

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@664 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 18:32:45 +00:00
fbarchard@google.com
4127a2637d ARGBInterpolate odd width support and inverted odd width test. ARGBToNV12/21 odd height fix. Compare test tolerate small height with warning.
BUG=202
TEST=libyuvTest.ARGBInterpolate85_Any_Invert
Review URL: https://webrtc-codereview.appspot.com/1325004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@663 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 10:43:33 +00:00
fbarchard@google.com
cd6056c01c InterpolateAny for unaligned and odd width interpolate. To be used in ARGBScaler in future.
BUG=208
TEST=ARGBInterpolate255_Unaligned
Review URL: https://webrtc-codereview.appspot.com/1324004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@662 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 03:05:08 +00:00
fbarchard@google.com
c297d103f1 I420ToARGB for Haswell.
BUG=216
TEST=I420ToARGB
Review URL: https://webrtc-codereview.appspot.com/1314004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@660 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-12 07:26:24 +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
15c7b2fffc Remove duplicate function
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1311006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@657 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-11 20:37:10 +00:00
fbarchard@google.com
8c8cf8d707 Move convert_to_argb and MJPGToARGB to isolated files. Move ValidateJPeg to its own file. Allows jpeg to be not linked in for more applications.
BUG=212
TESTED=manual test by removing mjpeg_decode.cc from gyp file and built/ran unittests
Review URL: https://webrtc-codereview.appspot.com/1310007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@656 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-11 16:34:24 +00:00
fbarchard@google.com
c3ee55d528 k for r32 bit registers on pextrw to make valgrind ASAN happy.
BUG=208
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1303005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@655 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-10 00:42:37 +00:00
fbarchard@google.com
531c26624f l for r32 bit registers on pextrw to make valgrind ASAN happy.
BUG=208
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1301005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@654 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-10 00:22:37 +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
16fc2c6a54 fix linux build
BUG=none
TEST=try
Review URL: https://webrtc-codereview.appspot.com/1286007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@650 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-08 17:23:08 +00:00
fbarchard@google.com
54f0b67c46 Scale up use pextrw to speed up a little
BUG=208
TEST=out\release\libyuv_unittest --gtest_filter=*Scale*640*
Review URL: https://webrtc-codereview.appspot.com/1283008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@649 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-08 07:00:48 +00:00
fbarchard@google.com
98a1fbf5e9 Scale up columns 2 pixels at a time
BUG=208
TEST=out\release\libyuv_unittest --gtest_filter=*Scale*640*
Review URL: https://webrtc-codereview.appspot.com/1294004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@648 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-07 04:07:08 +00:00
fbarchard@google.com
a007046105 scale columns ported to SSSE3
BUG=208
TESTED=runyuv Scale*640*
Review URL: https://webrtc-codereview.appspot.com/1292004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@647 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 21:03:28 +00:00
fbarchard@google.com
ff4a84168d Fix neon comment
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1286006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@646 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 19:13:13 +00:00
fbarchard@google.com
aa544f3205 Scale use kMaxStride for row buffers
BUG=none
TEST=libyuv unittest passes
Review URL: https://webrtc-codereview.appspot.com/1287005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@645 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 18:22:59 +00:00
fbarchard@google.com
0cc0b4df46 Neon Color Matrix avoid overflow
BUG=214
TEST=planar_tests
Review URL: https://webrtc-codereview.appspot.com/1276004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@644 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 04:13:21 +00:00
fbarchard@google.com
0057aeb1a9 ERMS detect work around for compiler bug
BUG=213
TEST=cpu tool/unittest under sde
Review URL: https://webrtc-codereview.appspot.com/1283006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@643 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 19:03:28 +00:00
fbarchard@google.com
c56a55fc72 Sobel and SobelXY Neon port. Improved Bayer - did 8 at time version, and specialized G channel version.
BUG=201
TEST=libyuvTest.TestSobel and libyuvTest.TestSobelXY
Review URL: https://webrtc-codereview.appspot.com/1279006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@642 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 18:33:44 +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
91c50c3a7d ARGBToYJ_AVX2 port to AVX2.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1272008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@640 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-03 23:47:10 +00:00
fbarchard@google.com
2f620e18ed ERMS detect fix
BUG=213
TEST=cpuid tool and unittest
Review URL: https://webrtc-codereview.appspot.com/1201005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@639 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-03 23:21:27 +00:00
fbarchard@google.com
55c20a861e Fix movdqu in yuy2
BUG=none
TEST=ToYUY2*
Review URL: https://webrtc-codereview.appspot.com/1271005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@634 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 22:03:49 +00:00
fbarchard@google.com
f8e9017685 switch toyuy2 from aligned to unaligned
BUG=211
TESTED=ToYUY2*
Review URL: https://webrtc-codereview.appspot.com/1274005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@633 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 21:18:12 +00:00
fbarchard@google.com
4ffd9127bd Jpeg invalid step by 2
BUG=210
TESTED=out\release\libyuv_unittest --gtest_filter=*J*
Review URL: https://webrtc-codereview.appspot.com/1276005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@632 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 18:34:23 +00:00
fbarchard@google.com
87adfaa61e Enable Sepia and improve unittest
BUG=214
TESTED=Sepia test improved
Review URL: https://webrtc-codereview.appspot.com/1201006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@631 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 17:54:27 +00:00
fbarchard@google.com
050b39a5cb Recomputed JPeg coefficients normalized to 128. Apply to ARGBGray function reusing YJ function/coefficients and rounding.
BUG=201
TESTED=Gray unittest improved
Review URL: https://webrtc-codereview.appspot.com/1269006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@629 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-01 20:07:14 +00:00
fbarchard@google.com
6a352141ef vrshrn by 8 for neon. vector rounding shift right with narrowing from u16 to u8.
BUG=183
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1269007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@628 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-01 20:04:22 +00:00
fbarchard@google.com
913656a35d Valid search backwards - find EOI quicker if its there.
BUG=210
TEST=out\release\libyuv_unittest --gtest_filter=*Jpeg*
Review URL: https://webrtc-codereview.appspot.com/1271004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@627 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-28 21:17:25 +00:00
fbarchard@google.com
8c9de166a1 ERMS
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1265004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@625 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-28 09:33:26 +00:00
fbarchard@google.com
4e0d7cc2c6 Y coefficients for J420 need to be scaled by 255/219 to full range.
BUG=159
TESTED=out\release\libyuv_unittest --gtest_filter=*J*
Review URL: https://webrtc-codereview.appspot.com/1264004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@624 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-27 07:35:03 +00:00
fbarchard@google.com
d8431003bb movbe remove - not useful so far.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1255004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@623 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-26 18:04:02 +00:00
fbarchard@google.com
cfaa66c041 ARGBToJ420 and ARGBToJ400 - Full range YUV Jpeg style.
BUG=159
TEST=*J4*
Review URL: https://webrtc-codereview.appspot.com/1243004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@622 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-26 09:14:46 +00:00
fbarchard@google.com
9d48df9ac4 Sobel port to posix. Improved unittest for C version.
BUG=201
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1242004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@619 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-24 20:12:25 +00:00
fbarchard@google.com
735f9921e9 posix comment
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1241004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@618 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-23 20:48:53 +00:00
fbarchard@google.com
a3be470426 quick fix for sobel compile error
BUG=201
TESTED=out\release\libyuv_unittest --gtest_filter=*Sobel*
Review URL: https://webrtc-codereview.appspot.com/1226004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@615 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-22 05:20:02 +00:00
fbarchard@google.com
e8df16bd7c Sobel use G channel for consistency on all CPUs, better performance and full range of 0 to 255.
BUG=201
TESTED=out\release\libyuv_unittest --gtest_filter=*Sobel*
Review URL: https://webrtc-codereview.appspot.com/1225004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@614 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-22 04:47:14 +00:00
fbarchard@google.com
c93a137671 Replace Add+YToARGB with SobelRow
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1217005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@611 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 23:51:09 +00:00
fbarchard@google.com
610e012d56 SobelXY which returns Sobel X, Sobel Y and Sobel as RGB values.
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1210006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@610 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 22:24:06 +00:00
fbarchard@google.com
1e985bbc16 ARGBSobel
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1221005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@609 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 19:23:44 +00:00
fbarchard@google.com
e1247eec94 Sobel functions
BUG=201
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1200004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@608 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-18 22:40:15 +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
07a99dc278 Row coalesce convert_from.cc for I420ToNV12, YUY2ToI422, UYVYToI422
BUG=197
TESTED=I420ToNV12_Opt
Review URL: https://webrtc-codereview.appspot.com/1196004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@605 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-13 17:48:22 +00:00
fbarchard@google.com
a3956fc5f4 lint fix for Intel and YANY fix for Neon
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1161005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@602 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-12 23:22:32 +00:00
fbarchard@google.com
518833b983 Fix RGB565ToARGB_Any which uses SSE2 that requires ARGB alignment. Add row coalescing to convert_argb.cc. Improve coalescing on planar_functions.cc and convert_from_argb.cc. Use stride * 2 == width to test for even width. Apply coalescing to all functions that have same vertical subsampling.
BUG=197
TESTED=libyuv unittest passes where _Opt uses row coalescing.
Review URL: https://webrtc-codereview.appspot.com/1186004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@601 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-12 21:44:56 +00:00
fbarchard@google.com
4db105148e Fix white space (lint) and sort row.h defines
BUG=197
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1185004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@600 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-12 03:58:04 +00:00
fbarchard@google.com
805fefb9d8 Unattenutate with work around for vpgatherdd on avx2
BUG=none
TEST=ARGBUnattenuate*
Review URL: https://webrtc-codereview.appspot.com/1183004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@599 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-12 01:59:48 +00:00
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
4f4c8b544c clobber list fix for arm
BUG=196
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1172004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@597 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-09 00:32:37 +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
304a611d80 Unaligned version of ABGRToARGB for SSSE3
BUG=196
TESTED=libyuv_unittest --gtest_filter=*ABGRToARGB*
Review URL: https://webrtc-codereview.appspot.com/1166006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@595 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-07 21:48:02 +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
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
9246ed0420 Remove a=0 special case in C and use table all the time, which will zero the rgb.
BUG=195
TESTED=out\release\libyuv_unittest --gtest_filter=*ten*
Review URL: https://webrtc-codereview.appspot.com/1158004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@589 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-05 06:05:05 +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
f4951e7aee gcc scale fix and change tabs to spaces in gyps
BUG=177
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1120009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@587 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-28 04:48:17 +00:00
fbarchard@google.com
14f657b44a SSE2 scale for ARGB and posix with specializations
BUG=177
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1115008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@585 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 06:38:41 +00:00
fbarchard@google.com
b3446fc50c ARGBmultiply re-enabled with shifts and narrow as 2 steps.
BUG=183
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1121008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@584 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 02:23:54 +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
c22cd5b209 Mips memcpy moved to row_mips.
BUG=191
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1127005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@580 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-23 09:39:56 +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
787f827663 Unattenuate multiply alpha by 1.
BUG=190
TESTED=planar_test
Review URL: https://webrtc-codereview.appspot.com/1114005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@578 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-21 00:08:56 +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
caf6e2470b remove vpermq from ARGBToUV
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/1107005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@575 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-15 18:33:20 +00:00
fbarchard@google.com
d8b73cacbe fix ARGBToI444 UV code to use signed math
BUG=148
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToI444_Opt
Review URL: https://webrtc-codereview.appspot.com/1105008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@574 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-15 07:49:15 +00:00
fbarchard@google.com
408e574366 Use vmovd to avoid switch to sse mode
BUG=none
TEST=c:\intelsde\sde -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*Psnr*
Review URL: https://webrtc-codereview.appspot.com/1097013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@573 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-14 19:03:30 +00:00
fbarchard@google.com
f3ad618d40 Sum of Square Error ported to AVX2
BUG=187
TEST=compare_unittest
Review URL: https://webrtc-codereview.appspot.com/1099009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@572 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-13 18:38:03 +00:00
fbarchard@google.com
5f8858665b Box filter start from 0,0. Fixes crash that overreads horizontally.
BUG=185
TEST=scale_test
Review URL: https://webrtc-codereview.appspot.com/1094009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@571 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-12 19:05:40 +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
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
8e26eada77 Fix for mutated registers on AVX2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1090007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@565 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-08 02:29:21 +00:00
fbarchard@google.com
61466be698 Enable bilinear instead of box filter if size of destination is greater than source / 2.
BUG=185
TEST=unittest still passes
Review URL: https://webrtc-codereview.appspot.com/1103005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@563 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-06 19:01:47 +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
512bec91ed Disable Neon multiply 2 images
BUG=177
TEST=android try bots
Review URL: https://webrtc-codereview.appspot.com/1101005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@560 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-06 05:46:15 +00:00
fbarchard@google.com
af137b61fa Interpolate for SSE2 with specialization for 1/4, 1/2, 3/4 and 1
BUG=177
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1102004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@559 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-05 22:42:56 +00:00
fbarchard@google.com
762c050b65 ARGBToI444_SSSE3 port to gcc
BUG=148
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1091004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@557 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-04 18:47:21 +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
d7c7bfac57 Fix lint error in mjpeg and remove unnecessary includes.
BUG=none
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1078005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@555 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 05:08:14 +00:00
fbarchard@google.com
c861bfbb0e memcpy removed from any
BUG=176
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1063009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@554 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:13:59 +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
9e4e12352a Avoid memcpy.
BUG=176
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/1081004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@552 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-26 07:29:08 +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
70b4928158 SSE2 bilinear fix for posix.
BUG=177
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1061004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@548 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-22 07:49:40 +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
29aa2145b7 quick lint fix for any
BUG=none
TEST=lint row_any.cc passes
Review URL: https://webrtc-codereview.appspot.com/1046006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@544 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-18 23:43:01 +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
a9c9242a55 Roll chromium deps and share 444 and 422 code for ARGBToI422_Any
BUG=148
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1033007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@540 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-16 09:48:29 +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
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
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
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
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
aa64b6b14c movbe instruction detect
BUG=none
TEST=cpu unittest
Review URL: https://webrtc-codereview.appspot.com/1027005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@527 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-08 18:43:49 +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
d0780dde6e More fourcc testing
BUG=170
TEST=libyuvTest.TestFourCC and TestCanonicalFourCC
Review URL: https://webrtc-codereview.appspot.com/991006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@522 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-18 18:33:16 +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
f491a094c7 mips noexec stack for security safety
BUG=168
TESTED=untested
Review URL: https://webrtc-codereview.appspot.com/994006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@520 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-14 00:08:35 +00:00
fbarchard@google.com
308eb0c344 Do not allows the other elfs to run on the chimney stack
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/990004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@519 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-13 18:44:41 +00:00
fbarchard@google.com
591b7f232b Mark stack as not executable. Although its tempting to generate code and execute it as an optimization, security says this is a bad thing.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/989005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@518 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-12 23:23:15 +00:00
fbarchard@google.com
fa5d5fb491 Use zip to replicate argb values out to 16 bits
BUG=186
TEST=Shade
Review URL: https://webrtc-codereview.appspot.com/986004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@517 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-12 22:56:43 +00:00
fbarchard@google.com
578c88a9f7 ARGBShade Neon bug fix on alpha.
BUG=168
TESTED=./libyuv_unittest --gtest_filter=*Shade
Review URL: https://webrtc-codereview.appspot.com/985004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@516 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-12 19:27:29 +00:00
fbarchard@google.com
1b40d8caa2 disable shade_neon
BUG=168
TEST=TestShade
Review URL: https://webrtc-codereview.appspot.com/971021

git-svn-id: http://libyuv.googlecode.com/svn/trunk@515 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-12 01:49:52 +00:00
fbarchard@google.com
834b748d10 Remove ifdefs around each function for Neon and Mips since entire file requires SIMD.
BUG=none
TEST=lint and try bots
Review URL: https://webrtc-codereview.appspot.com/981004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@514 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-11 17:59:26 +00:00
fbarchard@google.com
b91b53481c ifdef to wrap mips
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/974012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@513 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-11 17:27:33 +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
f3a411834e lint fixes
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/964024

git-svn-id: http://libyuv.googlecode.com/svn/trunk@507 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 20:49:18 +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
2580ccf64d Scale benchmark just the OPT and run C version once.
BUG=none
TEST=scale_test
Review URL: https://webrtc-codereview.appspot.com/929028

git-svn-id: http://libyuv.googlecode.com/svn/trunk@503 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 22:39:30 +00:00
fbarchard@google.com
95d845bd5b benchmark only the opt version of rotate.
BUG=155
TEST=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*Rotate*
Review URL: https://webrtc-codereview.appspot.com/939029

git-svn-id: http://libyuv.googlecode.com/svn/trunk@502 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 19:10:35 +00:00
fbarchard@google.com
d6b94fde24 ARGBBlend_Neon take 2 - use 8 bit math to do q reg operations.
BUG=161
TEST=planar test
Review URL: https://webrtc-codereview.appspot.com/971004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@501 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-21 16:49:50 +00:00
fbarchard@google.com
579113950c check for interpolation of 0 and do a memcpy to avoid touching the row + 1 which may be one past the end of the buffer.
BUG=153
TEST=valgrind
Review URL: https://webrtc-codereview.appspot.com/930026

git-svn-id: http://libyuv.googlecode.com/svn/trunk@500 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 22:22:33 +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
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
958a0b0c19 lint cleanup
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/931013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@496 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-17 00:00:23 +00:00
fbarchard@google.com
8e50e619db ARGBScale_NEON
BUG=none
TEST=./libyuv_unittest --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/964016

git-svn-id: http://libyuv.googlecode.com/svn/trunk@494 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-16 19:32:16 +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
cb5262dbc5 scale by even amounts using Neon
BUG=156
TEST=./libyuv_unittest --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/930019

git-svn-id: http://libyuv.googlecode.com/svn/trunk@492 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-16 01:41:35 +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
d985cf1f62 clamp maxy for first row of bilinear
BUG=153
TEST=none
Review URL: https://webrtc-codereview.appspot.com/934014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@490 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-14 08:15:55 +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
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
fdec4be353 quick fix for sub in wrong place
BUG=none
TEST=none

git-svn-id: http://libyuv.googlecode.com/svn/trunk@487 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 21:17:56 +00:00
fbarchard@google.com
66d16f4100 argb scale 2x upsample with specialization for 25/75%
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/938014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@486 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 20:43:25 +00:00
fbarchard@google.com
f25ab6d8d9 scale to 2x with bilinear subpixel accuracy specialized to have 1/4 and 3/4 scale factors FilterRow.
BUG=none
TEST=libyuvTest.I420ToI444_Any
Review URL: https://webrtc-codereview.appspot.com/965021

git-svn-id: http://libyuv.googlecode.com/svn/trunk@485 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 19:09:37 +00:00
fbarchard@google.com
55d5b48e4d bilinear scale use fast 2 pass unless image is beyond row buffer size.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/965020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@484 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 17:31:08 +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
76e851792c 411 subsampled
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/930013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@477 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 22:51:39 +00:00
fbarchard@google.com
c4f443f8fe ARGBToUV422Row_NEON
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/928018

git-svn-id: http://libyuv.googlecode.com/svn/trunk@476 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 20:58:24 +00:00
fbarchard@google.com
c673f426de ARGBToI444 for Neon
BUG=none
TEST=libyuvTest.ARGBToI444_Opt
Review URL: https://webrtc-codereview.appspot.com/932013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@475 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 18:46:51 +00:00
fbarchard@google.com
c1f17f1843 quick rename bug fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/935011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@474 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 02:38:45 +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
4b4a32cb17 ARGB1555 to ARGB Neon optimized
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/965007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@472 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 01:56:52 +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
d8427fd50a quick fix for source check alignment
BUG=none
TEST=none

git-svn-id: http://libyuv.googlecode.com/svn/trunk@470 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-04 02:57:49 +00:00
fbarchard@google.com
6784e4b414 Fix unaligned access violation in YUY2ToARGB
BUG=none
TEST=build bot

git-svn-id: http://libyuv.googlecode.com/svn/trunk@469 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-04 02:12:11 +00:00
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
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
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
fe44ff6781 M420ToARGB use NV12ToARGB_Neon internals
BUG=138
TESTED=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*M420* | sed 's/\(.*(\)\([0-9]*\)\( ms)\)/\2 - \1\2\3/g' | sort -rn | grep ms
Review URL: https://webrtc-codereview.appspot.com/935009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@456 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-30 01:02:43 +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
708a11c21a Remove trailing spaces
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/937010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@454 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 20:57:53 +00:00
fbarchard@google.com
34d2344458 noinline attribute for apple
BUG=137
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/929010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@453 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 20:26:11 +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
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
1f399dfaf8 mips memcpy
BUG=126
TEST=local test by mips
Review URL: https://webrtc-codereview.appspot.com/932006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@448 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-26 20:44:40 +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
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
d26b451472 I420ToNV12_Neon bug fix
BUG=135
TEST=/libyuv_unittest --gtest_filter=*NV*
Review URL: https://webrtc-codereview.appspot.com/939005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@444 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-25 19:24:59 +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
66fe097a2b Move compare modules into their own files, and scale for mips
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/920005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@434 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 16:18:53 +00:00
fbarchard@google.com
1982d2b877 mips scale optimization
BUG=126
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/918005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@432 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-20 16:37:36 +00:00
fbarchard@google.com
d39ce16ba0 Turn off rounding in YUV to RGB for NEON. This is to better match the C and SSSE3 versions.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/914005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@430 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-20 01:38:10 +00:00
fbarchard@google.com
3f467451cf Move compare low levels into their own files, for consistency with NEON.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/921004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@429 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-20 01:23:27 +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
b7ae15a236 Neon optimized ARGBToY
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/916004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@427 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-19 08:25:48 +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
fbarchard@google.com
02e48bf72b YUY2 for AVX2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/887006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@424 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-17 02:27:11 +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
1ffd35fdbb Add a prestine copy of x86inc.asm for future yasm support
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/895004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@422 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-16 18:01:25 +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
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
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
bb6bddc9fb Style fixes for mips version of SplitUV for nv12/21
BUG=126
TEST=lint passes and rotate_test and cpu_test on try bot pass.
Review URL: https://webrtc-codereview.appspot.com/884004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@418 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-14 06:41:17 +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
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
179054b813 Zero out the cpuinfo to make valgrind happy.
BUG=91
TEST=build bot
Review URL: https://webrtc-codereview.appspot.com/860015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@414 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 07:55:28 +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
df49992f50 RGBAToARGB_NEON fix.
BUG=none
TEST=RGBAToARGB
Review URL: https://webrtc-codereview.appspot.com/868013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@410 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 00:51:39 +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
ff6a756a09 V210 avoid cpuid which is failing valgrind
BUG=91
TEST=I420ToV210 unittest
Review URL: https://webrtc-codereview.appspot.com/855013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@406 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 20:21:45 +00:00
fbarchard@google.com
f658aebb7c ARGBToBayer ported to Neon and attempt V210 valgrind fix.
BUG=122
TEST=UNITTEST bayer
Review URL: https://webrtc-codereview.appspot.com/873011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@405 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 18:12:51 +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
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
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
82069e7a71 pld and palign for performance consistency.
BUG=113
TEST=unittest run on linux neon
Review URL: https://webrtc-codereview.appspot.com/860008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@394 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-05 18:27:23 +00:00
fbarchard@google.com
c74fe98725 YUY2 16 pixels at a time is 2x faster
BUG=116
TEST=libyuv_unittest
Review URL: https://webrtc-codereview.appspot.com/870005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@393 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-05 12:00:07 +00:00
fbarchard@google.com
cc206dee46 Fix register used for YUY2 Neon
BUG=113
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/858008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@392 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-05 11:03:05 +00:00
fbarchard@google.com
a844b95688 YU12 has a normal fourcc instead of an alias, allowing code to treat it as different, if needed.
BUG=112
TEST=unittests still pass
Review URL: https://webrtc-codereview.appspot.com/864008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@391 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-04 21:04:27 +00:00
fbarchard@google.com
6325869685 xgetbv instrinsic for 64 bit
BUG=106
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/859005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@389 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 17:19:26 +00:00
fbarchard@google.com
8b826a65e6 Use emit for xgetbv on 32 bit.
BUG=106
TEST=none
Review URL: https://webrtc-codereview.appspot.com/863004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@388 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 16:45:48 +00:00
fbarchard@google.com
db11d893c2 Check destination alignment for Q420 format when using SSE2.
BUG=96
TEST=none
Review URL: https://webrtc-codereview.appspot.com/861004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@387 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 06:45:34 +00:00
fbarchard@google.com
d8a1435fe0 Q420 format redone using YUY2 assembly which supports NEON
BUG=96
TEST=local tests in talk do q420 testing on windows.
Review URL: https://webrtc-codereview.appspot.com/856006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@386 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-01 05:34:59 +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
275913410d Redo register usage for Neon to avoid callee saved d8 - d15. Use d0 - d7 instead.
BUG=64
TEST=none
Review URL: https://webrtc-codereview.appspot.com/846005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@378 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-26 17:55:37 +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
fb49764705 Use emit for xgetbv in vs2005
BUG=98
TEST=build with vs2005
Review URL: https://webrtc-codereview.appspot.com/845005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@375 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-26 00:10:54 +00:00
fbarchard@google.com
4c32b3a017 Port xgetbv to posix
BUG=98
TEST=none
Review URL: https://webrtc-codereview.appspot.com/848004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@374 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-25 23:46:44 +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
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
797e9ef871 5 RGB formats to ARGB ported to NEON
BUG=68
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/825004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@369 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-20 21:24:10 +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
6fd84a8a59 NV12 optimization turned back on now that unittest is fixed
BUG=55
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/813005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@366 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 07:35:45 +00:00
fbarchard@google.com
2d61b7495d I422ToRGBARow_NEON optimized
BUG=78,93
TEST=android build bot
Review URL: https://webrtc-codereview.appspot.com/815004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@364 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 02:13:24 +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
5625adfa12 Respect HAVE_JPEG and build cleanly
BUG=93
TEST=none
Review URL: https://webrtc-codereview.appspot.com/812004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@361 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 21:31:21 +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
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
93fdfd19fe llvm/clang does not support attribute optimize. Disable the OMITFP macro for llvm. #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__)
BUG=83
TEST=webrtc build bots
Review URL: https://webrtc-codereview.appspot.com/787007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@342 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-10 21:20:10 +00:00
fbarchard@google.com
d4164fb01a Clean up posix build of YUY2
BUG=76
TEST=build on osx/linux
Review URL: https://webrtc-codereview.appspot.com/762006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@335 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 20:42:01 +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
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
aeaefa8344 vqrdmulh takes 3 parameters and clang requires all 3 to be specified, not just 2.
BUG=72
TEST=none
Review URL: https://webrtc-codereview.appspot.com/744006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@325 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-23 04:11:25 +00:00
fbarchard@google.com
619ee4586b YUV_DISABLE_ASM for NEON
BUG=70
TEST=none
Review URL: https://webrtc-codereview.appspot.com/710013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@324 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 21:07:22 +00:00
fbarchard@google.com
41f24bf8ca Affine function in 64 bit Mac use movd instead of movq for xmm to gpr.
BUG=69
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/728011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@323 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 16:51:25 +00:00
fbarchard@google.com
f3181b3cf9 Fix aligned version of SSSE3 alpha blend and re-enable SSE2 alpha blend for performance evaluation on low end CPUs where pshufb is slow.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/728009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@322 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 18:57:18 +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
7344440fb2 AffineRow for GCC.
BUG=62
TEST=planar_unittest
Review URL: https://webrtc-codereview.appspot.com/733004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@317 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-09 17:33:29 +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
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
68f0d3df5e NV12ToARGB for linux appears to have a bug in the assembly so this disables the asm for posix. It still works on Windows. Unittests updated to show the amount of pixel difference.
BUG=55
TEST=out/Release/libyuv_unittest --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/675008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@310 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-23 16:01:09 +00:00
mikhal@webrtc.org
25ba021148 LibYuv:Adding input checks
(open TODO: Add unit tests)
Review URL: https://webrtc-codereview.appspot.com/698004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@309 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-19 16:38:27 +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
452472dfc4 Internals of scale use ptrdiff_t to allow ARGBInterpolate to use stride between 2 images.
BUG=53
TEST=none
Review URL: https://webrtc-codereview.appspot.com/695004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@306 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-16 22:58:35 +00:00
fbarchard@google.com
8e01bfb420 Disable x86 color table optimization - fall back on C only
BUG=51
TESTED=warmify effect
Review URL: https://webrtc-codereview.appspot.com/673013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@304 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 19:05:08 +00:00
fbarchard@google.com
b50e0572f2 Save and restore last 16 bytes of filtered rows when used for ARGBInterpolate.
BUG=50
TEST=none
Review URL: https://webrtc-codereview.appspot.com/673012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@303 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:58:53 +00:00
fbarchard@google.com
05b5cf9610 move a macro and comment
BUG=49
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/668012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@302 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:16:28 +00:00
fbarchard@google.com
942ad1f5f4 SSE2 version of scale is suspected of having a bug, as it didnt work in ARGBInterpolate, while SSSE3 and C do. Until the result can be verified, SSE2 is disabled. This will hurt performance on Pentium4 and below.
BUG=49
TEST=none
Review URL: https://webrtc-codereview.appspot.com/672009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@301 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 00:55:11 +00:00
fbarchard@google.com
0d95d47757 ARGBInterpolate for blending 2 images with a fractional amount of each.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/670008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@300 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-12 03:28:09 +00:00
fbarchard@google.com
6398e1d4eb Port ARGBShade to Mac
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/679009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@299 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-11 19:12: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
c4500c9f79 ConvertToARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/673007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@297 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-09 19:49:45 +00:00
fbarchard@google.com
d51c342521 Rotate ARGB using a scale function that reads with step, combining to form 16 bytes at a time.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/674007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@294 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-26 23:46:25 +00:00
fbarchard@google.com
4d2cfd329a Change name of variable for mac because static cant be used so variables need to be unique.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/672006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@293 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-25 20:09:31 +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
fbarchard@google.com
d9eb63fc16 UNDER_ALLOCATED_HACK for scale that detects odd width and odd height were miscalculated and adjusts scaler for it.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/663007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@290 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-21 01:13:44 +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
f38aefef4b Blur use circular buffer of Cumulative Sums instead of full frame for better cache coherency.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/646008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@283 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 00:29:29 +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
7c8e16f82a Add MJPGToARGB conversion directly to ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/635006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@280 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 17:27:51 +00:00
fbarchard@google.com
4c416e8849 Fix for I444ToARGBRow_Unaligned_SSSE3, I422ToARGBRow_Unaligned_SSSE3, I411ToARGBRow_Unaligned_SSSE3 on Windows using movdqu instead of movdqa. break YUVTORGB into 2 macros - one to fetch pixels, another to do YUV conversion. Less duplicated source and lends itself to future YUV formats.
BUG=none
TEST=WebRtcVideoFrameTest.ConvertToARGBBufferStride
Review URL: https://webrtc-codereview.appspot.com/644004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@279 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 15:48:07 +00:00
fbarchard@google.com
43279ffda0 ARGBToI422 which is similar to ARGBToI420
BUG=none
TEST=libyuvTest.ARGBToI422_CvsOPT (836 ms)
Review URL: https://webrtc-codereview.appspot.com/637006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@278 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 02:09:39 +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
fbarchard@google.com
7afffcc4d0 For cpu's with Neon, set arm as well. Make unittest allow testdata unaccessable but try proc/cpuinfo
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/610005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@273 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 18:30:03 +00:00
fbarchard@google.com
ab41581844 Change cpu id constants to hex to indicate they are flags. Reserve values for future flags. make unittest print in hex. Add environment variables to disable sse42 and avx.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/608006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@272 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 15:56:32 +00:00
fbarchard@google.com
4ae6b46ce1 Add SSE42 and AVX detect
BUG=none
TEST=libyuvTest.TestCpuHas
Review URL: https://webrtc-codereview.appspot.com/607006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@271 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 03:02:52 +00:00
fbarchard@google.com
221e602f8a ARGBSepia planarfunction for converting a region of ARGB image to Sepia tone. ARGBGray optimized weaving of alpha value. 551 ms from 568 ms.
BUG=none
TEST=libyuv_unittest --gtest_filter=*ARGBSepia*
Review URL: https://webrtc-codereview.appspot.com/573008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@270 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-21 22:24:41 +00:00
fbarchard@google.com
ffaea7eee3 ARGBGray function for convertion a rectangle of ARGB to gray scale
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/582007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@269 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-18 19:43:59 +00:00
fbarchard@google.com
9c02ba532f ARGBUnattenuateRow_C use same table as ARGBUnattenuateRow_SSE2. omit-frame-pointer for ScaleRowDown38_3_Int_NEON
BUG=35
TESTED=disable asm and run unittest on x86
Review URL: https://webrtc-codereview.appspot.com/585004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@268 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-17 22:49:31 +00:00
fbarchard@google.com
600587d1f0 Change scale 3/8 to use scratch registers for constants
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/576011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@267 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-15 05:41:56 +00:00
fbarchard@google.com
f2d84dddd2 scale ported to OSX for 32/64 bit. Required breaking up some functions into 2 or 3 asm inlines to set constants. Reworked storing of 6 bytes on all platforms for 3/4 scale by storing first 4 bytes and then storing last 4 bytes, overlapping 2, in order to stay within SSE2 registers.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/582004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@266 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-14 20:23:35 +00:00
fbarchard@google.com
f368565b95 cleanup ScaleRowDown8Int_SSE2 and other simple gcc versions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/581004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@265 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-10 00:01:03 +00:00
fbarchard@google.com
68caaed871 Port Even ARGBScale to gcc
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/566010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@264 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 22:52:23 +00:00
fbarchard@google.com
c7bd1dbea6 remove extra lea on gcc libyuv scale
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/562007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@263 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 21:55:02 +00:00
fbarchard@google.com
ca4749dd4d Scale Even sizes
BUG=none
TEST=build\release\libyuv_unittest.exe  --gtest_catch_exceptions=0 --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/570005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@262 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 20:27:10 +00:00
fbarchard@google.com
2e786a73ce Filter Rows in C fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/564005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@261 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 02:33:58 +00:00
fbarchard@google.com
8b14c5c4e4 Rewrite filtering for benefit of Mac as a single ASM block. Builds both 32 and 64 bit.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/577004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@260 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 00:41:13 +00:00
fbarchard@google.com
0b0e91792f libyuv::CpuId as function to reduce header dependencies
BUG=none
TEST=libyuv_unittest.exe  --gtest_catch_exceptions=0 --gtest_filter=*Cpu*
Review URL: https://webrtc-codereview.appspot.com/566007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@259 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-08 02:04:22 +00:00
fbarchard@google.com
d05ec087d9 expose __cpuid for gcc/visual c compatibility
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/574004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@258 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-07 22:36:39 +00:00
fbarchard@google.com
0e0815617b Disable ARGB scaling on gcc 32 bit to avoid running out of GPR registers
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/563006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@257 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-07 22:33:51 +00:00
fbarchard@google.com
4e6c1fd42a scale_argb module for point and bilinear scaling of ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/549004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@256 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-03 06:17:44 +00:00
fbarchard@google.com
5bf29b59db p2align all loops, copy stride to local for scale, and copy last byte in bilinear more efficiently
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/547007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@255 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-02 00:10:16 +00:00
fbarchard@google.com
f906ae1360 scale to half size handle unaligned memory
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/543006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@254 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-01 00:30:51 +00:00
fbarchard@google.com
87e2390fd8 YUY2 directly to ARGB.
BUG=31
TEST=none
Review URL: https://webrtc-codereview.appspot.com/537003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@253 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-27 20:14:09 +00:00
fbarchard@google.com
5566302866 AddRow function to help implement box filter
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/527002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@252 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-26 00:01:41 +00:00
fbarchard@google.com
5ff3a8fec5 ARGBBlendRow1_SSSE3 added to allow SSSE3 only alpha blending. Saves on SSE2 cpu dispatching
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/518002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@251 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 19:43:45 +00:00
fbarchard@google.com
da5cc4274b Prune SSE2 code out when building specifically for SSSE3
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/517001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@250 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 06:01:32 +00:00
fbarchard@google.com
ebe9ae9b21 scale unrolled to 2 pixels for C code
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/520001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@249 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 06:01:18 +00:00
fbarchard@google.com
85ebc8e20b HashDjb2_SSE41 ported to gcc. gcc 4.5 required for pmulld instruction.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/506002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@248 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-23 20:09:35 +00:00
fbarchard@google.com
c428470315 Scale fix for Neon
BUG=19
TEST=none
Review URL: https://webrtc-codereview.appspot.com/504002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@247 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-22 15:00:50 +00:00
fbarchard@google.com
5e642d0ea7 Neon constants need address of not value
BUG=19
TEST=none
Review URL: https://webrtc-codereview.appspot.com/510002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@246 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-21 01:04:46 +00:00
fbarchard@google.com
4660679ff3 fix missing asm and version
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/508003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@245 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-20 23:30:51 +00:00
fbarchard@google.com
810cd91079 ARGBUnattenuateRow_SSE2 use reciprocal table and pmul
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/497001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@244 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-20 20:15:27 +00:00
fbarchard@google.com
f2c86d01cc SSSE3 version using pshufb for ARGBAttenuateRow_SSSE3
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/490011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@243 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 19:12:41 +00:00
fbarchard@google.com
8ed54222e7 Attenuation ported to SSE2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/485009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@242 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 17:07:07 +00:00
fbarchard@google.com
f86ba32b9d Unattenuate using a reciprocal
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/487006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@241 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 00:35:55 +00:00
fbarchard@google.com
829e7ea402 ARGBAttenuate and ARGBUnattenuate for converting to/from attentuated ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/490008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@240 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-17 00:49:28 +00:00
fbarchard@google.com
96af870c8a Port Blend SSSE3 to gcc
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/491001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@239 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-06 18:22:27 +00:00
fbarchard@google.com
4d3bd8343b unaligned sse4 djb2 cleanup
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/486001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@238 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-06 00:27:09 +00:00
fbarchard@google.com
ddf9051bd9 DJB2 hash with SSE4 pmulld
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/484002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@237 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 20:44:03 +00:00
fbarchard@google.com
c5d44a0c5e cpuid add sse41 and x86
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/485001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@236 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 20:39:42 +00:00
fbarchard@google.com
1702ec78f8 use movdqu on 2nd source for blend
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/479001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@235 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 01:15:12 +00:00
fbarchard@google.com
d2f4413d29 Remove old alpha blend, expose GetARGB2Blend, fix ComputeSumSquareErrorPlane on SSE2
BUG=29
TEST=none
Review URL: https://webrtc-codereview.appspot.com/469005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@234 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-04 21:53:27 +00:00
fbarchard@google.com
c757f308ea Alpha blend 2 sources and store to a destination. Useful for A under B blending.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/472005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@233 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-03 00:49:16 +00:00
fbarchard@google.com
952a507ca6 I420ToARGB without row buffer faster and unlimited in size. Uses SSSE3 unaligned for multiples of 8 and C for remainder
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/470001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@232 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-30 18:10:50 +00:00
fbarchard@google.com
f3fb7b6920 Lint cleanup for Neon and Visual C inline.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/464002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@231 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 23:19:34 +00:00
fbarchard@google.com
5b22506b14 With an asm() away lint, this cleans up most remaining issues.
BUG=none
TEST=lint filename
Review URL: https://webrtc-codereview.appspot.com/464001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@230 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 02:19:26 +00:00
fbarchard@google.com
427f966645 fix const correctness on mjpeg
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/463003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@229 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 20:03:01 +00:00
fbarchard@google.com
8647dd755e Pointer has * attached to type for consistency and lint
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/463002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@228 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 19:38:06 +00:00
fbarchard@google.com
0945c57874 Rotate by 180 in place.
BUG=18
TEST=none
Review URL: https://webrtc-codereview.appspot.com/456010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@227 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 02:58:26 +00:00
fbarchard@google.com
299c97412c Blend SSSE3 for Win32 but not Win64
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/461008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@226 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 02:09:40 +00:00
fbarchard@google.com
e2a55aff59 JPEG use new/delete instead of scoped pointer
BUG=none
TEST=jpeg still runs ok
Review URL: https://webrtc-codereview.appspot.com/456006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@225 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-27 21:28:05 +00:00
fbarchard@google.com
74b50f1b89 Expose scale plane function
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/459009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@224 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-27 02:09:03 +00:00
fbarchard@google.com
4f59bcc102 planarfunction build/lint fixes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/460008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@223 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-26 17:11:27 +00:00
fbarchard@google.com
e14b2abba4 small count
Review URL: https://webrtc-codereview.appspot.com/460007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@222 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-26 16:15:15 +00:00
fbarchard@google.com
0ab5440693 lint cleanup of headers
BUG=none
TEST=gcl lint
Review URL: https://webrtc-codereview.appspot.com/459003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@221 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-23 21:17:22 +00:00
fbarchard@google.com
2b9c210803 lint fix test
BUG=none
TEST=gcl lint lintfix2
Review URL: https://webrtc-codereview.appspot.com/458003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@220 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-22 22:36:44 +00:00
fbarchard@google.com
8670b1ae04 SSSE3 version of alpha blender does pshufb instead of shift and 2 pshufw.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@219 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-19 16:50:03 +00:00
fbarchard@google.com
67be98bd44 psnr function was using C. unittest fixed and warnings improved
BUG=21,22
TEST=build\release\libyuv_unittest.exe  --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/447013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@218 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-19 16:49:12 +00:00
fbarchard@google.com
d4840d4fe9 Rotate any format by converting into an I420 buffer and then rotating that
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@217 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-19 15:52:55 +00:00
fbarchard@google.com
91ab139558 inline version of alpha blend
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@216 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-15 19:40:07 +00:00
fbarchard@google.com
f620d2ae71 alpha blend 4 pixels at a time
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@215 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-13 20:30:21 +00:00
fbarchard@google.com
18184fd19d switch looping to jg from ja to allow non-multiple of 16 to underflow to a negative
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/453001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@214 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-12 18:53:19 +00:00
fbarchard@google.com
1ff0357103 ARGBBlendRow to dispatch to sse2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/447003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@213 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-12 18:24:15 +00:00
fbarchard@google.com
53a0166719 bilinear ssse3 fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/452001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@212 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-10 00:55:53 +00:00
fbarchard@google.com
2217ced8cd gcc port fixed for alpha
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/449002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@211 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-09 22:44:57 +00:00
fbarchard@google.com
976423feca alpha blend last pixel fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/439008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@210 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-08 18:39:39 +00:00
fbarchard@google.com
90310ddbb9 add environment variable to scale to override default filtering
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/442001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@209 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-08 04:01:50 +00:00
fbarchard@google.com
bd4a849bcb fix for nv21 u, v order, align all loops, and make addrows support 1 row
BUG=17
TEST=none
Review URL: https://webrtc-codereview.appspot.com/435004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@208 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 19:19:03 +00:00
fbarchard@google.com
ba3aeed3b8 gcc port of alpha blend and add align to row_win loops
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/439006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@207 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 18:24:51 +00:00
fbarchard@google.com
c6e7e2a853 addrow fix
Review URL: https://webrtc-codereview.appspot.com/437003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@206 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 06:11:14 +00:00
fbarchard@google.com
fe9f4ad808 alphablend test for opaque and transparent
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/436005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@205 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 02:43:18 +00:00
fbarchard@google.com
9198f3754b rm for stride in addrows for clang on mac to not run out of registers
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/440001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@204 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-06 20:18:27 +00:00
fbarchard@google.com
965fb914ea alpha blend argb into argb
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/428009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@203 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-06 18:49:39 +00:00
fbarchard@google.com
26becab452 try r followed by rm for clang
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/426010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@202 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-03 02:05:54 +00:00
fbarchard@google.com
16a96645b4 splituv and mirroruv in row use 2 pixels at a time in C
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/432006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@201 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-02 22:38:09 +00:00
fbarchard@google.com
f69e90a19e mirror munging and avoid wait. scale addrows use 6 registers for mac
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/426007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@200 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-02 19:07:15 +00:00
fbarchard@google.com
e781282b85 remove sstream from videocommon
BUG=16
TESTED=builds ok without it
Review URL: https://webrtc-codereview.appspot.com/426005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@198 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-02 01:21:52 +00:00
fbarchard@google.com
e74ae8ef6c scale AddRows use 4 registers instead of 5 for benefit of OSX
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/423001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@192 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-29 19:07:20 +00:00
fbarchard@google.com
4e21867163 addrows improvements for general purpose down size box filter. scale sse avoid pushad. sub ecx before store to avoid wait
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/405007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@191 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-28 00:29:02 +00:00
fbarchard@google.com
0b9a65b0dc CopyRow_Neon reimplemented with vldm
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/412001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@190 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-24 21:17:17 +00:00
fbarchard@google.com
aaf5f675b3 copyrow for neon but not thumb for cros
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/408004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@189 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-24 10:58:45 +00:00
fbarchard@google.com
4339f09d60 bilinear scaling improvements
-subpixel accurate for scaling down by passing in x and dx.
-blend for bilinear use single multiply instead of 2 multiplies.
-filter col do 2 pixels at a time
-assembly do address munging
-assembly avoid wait on store for core2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/397012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@187 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-23 10:52:55 +00:00
fbarchard@google.com
57397ebafd avoid new/delete for mjpeg_decoder
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/404001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@185 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-23 01:20:58 +00:00
fbarchard@google.com
2842f2536d safe for x86 and memset for arm
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/401005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@183 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-22 18:52:29 +00:00
fbarchard@google.com
8058db48d0 ifdef around jpeg
Review URL: https://webrtc-codereview.appspot.com/392021

git-svn-id: http://libyuv.googlecode.com/svn/trunk@182 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-21 22:51:56 +00:00
fbarchard@google.com
392cc2c425 MJPGToI420
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/396014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@181 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-21 22:36:52 +00:00
fbarchard@google.com
8536b2f389 Add 411 for MJPG and fix neon warnings
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/399013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@180 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-21 21:02:54 +00:00
fbarchard@google.com
48f5dd39b8 fix ifdef mismatch
Review URL: https://webrtc-codereview.appspot.com/391016

git-svn-id: http://libyuv.googlecode.com/svn/trunk@179 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-18 00:19:06 +00:00
fbarchard@google.com
714050a29d sse version of BGRA and ABGR To I420
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/400004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@178 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-17 22:59:56 +00:00
fbarchard@google.com
69fe6bd1ff mjpeg class for low level interface. higher level will be MJPGToI420
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/400002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@177 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-17 19:46:26 +00:00
fbarchard@google.com
f1b6063f50 port rgb to posix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/395010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@176 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-17 19:27:20 +00:00
fbarchard@google.com
19932f8dbc CopyRow instead of memcpy for copying planes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/396008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@175 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-16 22:19:14 +00:00
fbarchard@google.com
2d11d43a6e shuffle functions so convert.h is all formats to I420 and convert_from.h is from I420 to all formats
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/395006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@174 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-16 02:50:39 +00:00
fbarchard@google.com
032b5f990f port I420ToYUY2 code to support I420ToYUY2 I422ToYUY2 and I420ToV210
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@173 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 20:31:25 +00:00
fbarchard@google.com
798197fc14 remove deprecated RGB24ToARGB, rename BG24ToARGB to RGB24ToARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/392009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@172 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 18:17:12 +00:00
fbarchard@google.com
c8c8047d43 V210 fourcc support for AJA cards. Make UYVYToI420 use 'Last16' method for 'Any'. also YUY2, ARGB, BGRA and ABGR
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@171 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 00:11:15 +00:00
fbarchard@google.com
b95dbf2495 check pointer of last pixel and last pixel + 64 are in the same page.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/387006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@170 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-11 01:18:30 +00:00
fbarchard@google.com
567244c003 minor fixups
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@169 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-07 23:54:52 +00:00
fbarchard@google.com
e5f3fd4cc8 YUY2 and UYVY Unaligned and any versions
TEST=none
BUG=none
Review URL: https://webrtc-codereview.appspot.com/379009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@168 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:40:32 +00:00
fbarchard@google.com
79a06ac5fe omp friendly version of psnr
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/378007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@167 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:33:09 +00:00
fbarchard@google.com
3e34b8e89d hash funtion for comparing images
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/380006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@166 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:05:16 +00:00
fbarchard@google.com
8ae294e440 handle last 1 or 2 rows of 3/4 and 3/8 scalers with careful vertical filtering
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/380004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@165 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-02 22:33:21 +00:00
fbarchard@google.com
57261c1920 change switch statements to return instead of assert fixing warning on missing break.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/382004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@164 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-02 09:18:50 +00:00
fbarchard@google.com
0a5da88f61 unaligned raw/rgb24 to ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@163 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-30 23:32:50 +00:00
fbarchard@google.com
b1dd02d66c Unaligned test/moves for some of the slower functions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@162 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-30 20:54:49 +00:00
fbarchard@google.com
b5b27d131a ARGBToYUV with sse3 on any size/alignment
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@161 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-28 08:44:35 +00:00
fbarchard@google.com
caf3952548 YUV and ARGB to RGB formats w/ Any variations to allow destination to be misaligned and any number of bytes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@160 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-27 01:45:22 +00:00
fbarchard@google.com
2fc56673c1 cpuid build fix for linux/non
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@158 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-26 19:05:59 +00:00
fbarchard@google.com
e3ebe7a5cd Neon instructions detect without using NDK so it will work within Android, and on other linux arm based platforms and builds
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/358008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@153 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-26 02:14:52 +00:00
fbarchard@google.com
0abb8dda2d detect neon for ndk but not sdk
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@152 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-25 19:34:49 +00:00
fbarchard@google.com
5343a7301b Make Bayer functions with same parameters as RGB conversions allowing consistant usage and testing. Functions are implemented with wrappers to single function for 4 fourccs. New I420ToBayer functions implemented similar to 2 step I420ToRGB565 etc.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/367002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@150 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-24 19:43:29 +00:00
fbarchard@google.com
9460279178 scale function relaxed pointer checks and unrolled scale34 and scale38
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/369004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@149 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 06:46:34 +00:00
fbarchard@google.com
42831e0aae Mirror a plane at a time so each can check cpu/alignment independently
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/370001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@148 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 02:54:17 +00:00
fbarchard@google.com
ba03e4d99e Relax alignment checks especially when doing 2 step conversions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@147 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 00:16:29 +00:00
fbarchard@google.com
510fe70cb5 Assembly tuned for rgb565 etc functions. pipelines for atom/core2.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@146 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-20 19:12:48 +00:00
fbarchard@google.com
882ddbd9c2 wrapper for yuv to argb that handles destination misalignment and odd widths by using a memcpy
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/364001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@145 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-20 18:10:14 +00:00
fbarchard@google.com
0e6ce93c84 address munge for rowreverse. And computer green mask based on red mask to save one shift.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/363001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@144 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-20 00:42:00 +00:00
fbarchard@google.com
d1943b39e5 add dest alignment check for NV12ToARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/360003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@143 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 21:24:15 +00:00
fbarchard@google.com
fc99814a92 NV12ToARGB function for ios
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/352014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@142 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 19:20:06 +00:00
fbarchard@google.com
1eb4034778 ConvertFrom remove sample size and add stride
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/356001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@141 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 18:54:35 +00:00
fbarchard@google.com
24d2656b65 ARGBToRGB24 and ARGBToRAW optimized
BUG=none
TEST=media_unittest
Review URL: https://webrtc-codereview.appspot.com/348013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@140 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 01:45:57 +00:00
fbarchard@google.com
8af21a57f5 remove wrapper functions that call 2 row functions internally
BUG=none
TEST=still builds/runs
Review URL: https://webrtc-codereview.appspot.com/350016

git-svn-id: http://libyuv.googlecode.com/svn/trunk@139 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 00:28:31 +00:00
fbarchard@google.com
9eefb2e8dd ARGBToRGB functions optimized
BUG=none
TEST=media_unittest.exe --gunit_catch_exceptions=0 --yuvconverter_repeat=1000 --gunit_filter=LmiVideoFrameTest.ConvertTo*R*
Review URL: https://webrtc-codereview.appspot.com/355002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@138 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 23:56:30 +00:00
fbarchard@google.com
782659b07c ConvertFromI420Stride is same as ConvertFromI420 but accepts a stride per row. Only works on single plane formats
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/353007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@137 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 21:25:06 +00:00
fbarchard@google.com
ecb3f4cc4e Reorder functions for consistency when doing RGB functions. Order should now be ARGB, BGRA, ABGR, RGB24, RAW, RGB565, ARGB1555, ARGB4444
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/352013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@136 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 18:54:51 +00:00
fbarchard@google.com
44477b260a RGB565 etc to I420 had UV function pointer set wrong for _C version.
BUG=none
TEST=media_unittest
Review URL: https://webrtc-codereview.appspot.com/353006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@135 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 00:27:58 +00:00
fbarchard@google.com
1de81bca84 NV12ToRGB565 rewritten. Row functions with SSSE3 and NEON. Stride by bytes (bug fix). Handle odd sizes. Support inversion.
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/344012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@134 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 19:27:42 +00:00
fbarchard@google.com
ccd6d9b2de ARGB1555ToARGBRow_SSE2
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/349006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@133 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 19:26:50 +00:00
fbarchard@google.com
6aa761da6d RGB565ToARGB_SSE2
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/347011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@132 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 00:59:49 +00:00
fbarchard@google.com
ba1f526926 rewrite of I420ToRGB565 etc using row functions
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/345004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@131 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-12 19:22:41 +00:00
fbarchard@google.com
20005e64e3 fix convertToI420 rowbytes and add assembly calls
BUG=none
TEST=camtool
Review URL: http://webrtc-codereview.appspot.com/343008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@130 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-11 21:16:10 +00:00
fbarchard@google.com
17272be539 SSE2 version of 4444 to 8888
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/344005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@129 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-11 20:22:35 +00:00
fbarchard@google.com
a7d977ceae RGBP, RGBO, R444 fourcc support
BUG=none
TEST=camtool with xo175
Review URL: http://webrtc-codereview.appspot.com/347001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@128 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-09 20:01:08 +00:00
frkoenig@google.com
ea8d0eb0d1 ScaleFilterRows optimized for NEON.
Includes unit test that scales the image up by 2.
Currently this is done using the generic bilinear scale.
Review URL: http://webrtc-codereview.appspot.com/330032

git-svn-id: http://libyuv.googlecode.com/svn/trunk@126 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 23:04:07 +00:00
fbarchard@google.com
17f198cd46 cleanup of include order, std include comments on what function they are for, and guard naming to match folder
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333028

git-svn-id: http://libyuv.googlecode.com/svn/trunk@125 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 02:21:05 +00:00
frkoenig@google.com
6011ff7353 Fix YUVToARGB/BGRA/ABGR linking.
Broken by previous move to using extern "C" for functions.
This moves the function prototype into the extern "C" block
and gives the functions the correct name when linking.
Review URL: http://webrtc-codereview.appspot.com/333027

git-svn-id: http://libyuv.googlecode.com/svn/trunk@124 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 00:15:17 +00:00
fbarchard@google.com
7a24bd8577 allow null dst_y on biplanar and triplanar functions
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@123 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-03 23:54:00 +00:00
fbarchard@google.com
8dd523da69 subs sooner for neon and remove unnecessary alignment check for SplitUV_NEON
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@122 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-03 23:06:18 +00:00
mikhal@webrtc.org
0090434e53 libyuv: Moving video_common to the include directory and updating rgb convert orientation.
Review URL: http://webrtc-codereview.appspot.com/333022

git-svn-id: http://libyuv.googlecode.com/svn/trunk@120 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-27 23:22:44 +00:00
fbarchard@google.com
0000a2ad52 .private_extern for OSX 32 bit but not for other platforms
BUG=none
TEST=build and run scale and rotate.
Review URL: http://webrtc-codereview.appspot.com/330014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@119 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 18:30:15 +00:00
fbarchard@google.com
c9911bcba1 more functions added for convertFromI420
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@118 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 03:37:37 +00:00
fbarchard@google.com
52f5bb91be A ConvertFromI420 function. Supports basic conversion with no clipping, inversion or rotation, for a subset of formats - most of the single plane formats, all 3 plane formats and no 2 plane formats. (ie nv12)
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/329011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@117 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 02:06:21 +00:00
fbarchard@google.com
62e63b25ff Remove .global from asm blocks to reduce external visibility
BUG=none
TEST=functions still build/link on 32 bit linux/osx
Review URL: http://webrtc-codereview.appspot.com/330011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@116 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 00:04:04 +00:00
fbarchard@google.com
9d206a29cd cygwin compatibility fix for ifdef underscores, and __inline for C vs inline which is C++
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@115 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-19 19:04:46 +00:00
fbarchard@google.com
aebc430478 ConvertToI420 accept I400
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/328009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@114 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-16 21:02:53 +00:00
fbarchard@google.com
8b6d7d72f9 I400 to 420 for MJPG internals
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/328008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@113 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-16 19:43:29 +00:00
fbarchard@google.com
45b9ef0f6a scale call copyplane in planarfunctions
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@112 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-16 03:34:09 +00:00
fbarchard@google.com
75df30c1da YUY2ToI420 handle unaligned pointers
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/329001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@111 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-15 23:57:14 +00:00
fbarchard@google.com
103878d59f push esi/edi changed to mov eax, esi mov edx, edi
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/330004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@110 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-15 22:50:56 +00:00
fbarchard@google.com
2f11976b88 munged addressing for copyrows
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@109 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-15 21:49:03 +00:00
fbarchard@google.com
e7ae4e1062 nv12 stores ordered for better core2 performance. 221->211ms
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/330001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@108 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-15 20:01:43 +00:00
fbarchard@google.com
373cdbdc58 reorder stores for FastConvertYUVToABGRRow_SSSE3 and FastConvertYUVToBGRARow_SSSE3. ReverseRow_SSE2. cpu detect allow environment variable override set LIBYUV_DISABLE_SSSE3=1 set LIBYUV_DISABLE_SSE2=1. Reorder stores in rotate for core2
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/317010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@107 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-14 21:10:07 +00:00
fbarchard@google.com
8b9759c4a7 I400ToARGB use 8.8 fixed point to avoid a shift. gcc generate constants to avoid fpic performance stall
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/322013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@106 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-14 04:17:39 +00:00
fbarchard@google.com
3fe369661a FastConvertYUVToARGBRow_SSSE3 use 2 pack and then 2 stores, which works better on Core2
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/323007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@103 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-13 02:49:22 +00:00
fbarchard@google.com
19a248ab63 fix for underscore on gcc 32 bit for linux
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/325001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@102 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-12 20:21:52 +00:00
fbarchard@google.com
fe5ff7ed54 clang on linux prefers no args for rep movsl/stosl. ifdef for C that removes namespace. extern c allows c++ to be used to compile, including with namespace, but C program can link libyuv
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/320004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@101 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-10 07:45:58 +00:00
fbarchard@google.com
1d61cd91bb mingw behaves like apple as far as labels go
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/322002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@99 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-08 19:57:48 +00:00
frkoenig@google.com
e0bf6f0934 Fix build for OSX.
Clang defines __APPLE__, not OSX, use that
for platform specific code.

Removed spurious volatile that was giving a warning
when compiling for OSX.
Review URL: http://webrtc-codereview.appspot.com/305005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@98 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-07 01:54:13 +00:00
fbarchard@google.com
e5ffa14f31 CopyRow_X86 for gcc
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/300007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@97 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-05 22:45:32 +00:00
fbarchard@google.com
c2b74366ec CopyRows_X86 had parameters wrong
TESTED=videotool save to file
 NEEDS_QA=false
Review URL: http://webrtc-codereview.appspot.com/304006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@96 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-02 23:19:27 +00:00
fbarchard@google.com
ca26f860b9 ARGBRect use SetRows32 to do full image. 744 ms -> 288 ms on Linux, 688 ms -> 277 ms on Mac. Started ARGBCopy function.
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/290006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@95 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-01 23:29:14 +00:00
fbarchard@google.com
120b8d7ee7 ARGBRect optimized for visual c that will do rep stosd. Fix x/y calculation.
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/292008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@94 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-28 19:28:41 +00:00