792 Commits

Author SHA1 Message Date
fbarchard@google.com
f6631bb814 CopyAlpha AVX2
BUG=none
TEST=Alpha*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@812 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-14 19:37:21 +00:00
fbarchard@google.com
88ce3c0caa Change unittests to pass when size is 1 tall.
BUG=202
TEST=set LIBYUV_HEIGHT=1 & out\release\libyuv_unittest
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@811 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-14 19:36:26 +00:00
fbarchard@google.com
7f67961ec5 ARGBCopyAlpha for effects
BUG=none
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@810 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-12 22:27:37 +00:00
fbarchard@google.com
2476ddecb6 Add bundle align to HalfRow function for NaCL
BUG=271
TESTED=nacl validator passes
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@809 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-08 17:49:53 +00:00
fbarchard@google.com
8b0cdb4a6e ARGBShuffle_SSE2 ported to GCC and NaCL, and HalfRow_SSE2 ported to NaCL.
BUG=271
TESTED=ABGRToARGB on linux
R=johannkoenig@google.com, nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@808 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-08 00:15:34 +00:00
fbarchard@google.com
212a1a5000 ARGBShuffle_SSE2 for lower end CPUs
BUG=271
TESTED=out\release\libyuv_unittest --gtest_filter=**R*ToARGB*
R=johannkoenig@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@807 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-05 04:17:50 +00:00
fbarchard@google.com
98fb959e7e ARGBColorMatrix API wrapper for backward compatibility.
BUG=274
TESTED=try bots
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@806 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-01 18:46:05 +00:00
fbarchard@google.com
c99db063e2 Change ARGBColorMatrix to a 4x4.
BUG=none
TEST=planar_unitest updates
R=johannkoenig@google.com, ryanpetrie@google.com, thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@805 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-01 01:27:30 +00:00
fbarchard@google.com
b99bcab7f7 ARGBShuffle_AVX2 for speed up end swapping for Chrome/Java.
BUG=271
TESTED=ARGBShuffle unittest
R=mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@804 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-30 07:47:59 +00:00
fbarchard@google.com
446f91d040 Use vbroadcastf128 to copy m128 to ymm duplicating the value to high and low 128 bits. Allows shared variables.
BUG=none
TEST=avx2 unittests still pass.
R=mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@803 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-30 06:49:10 +00:00
fbarchard@google.com
0d19fc5ed3 disable lint warning on movzx instructions
BUG=none
TEST=lint
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@802 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 21:48:50 +00:00
fbarchard@google.com
2732591d46 Limit sobel maximum width to stride - kEdge
BUG=none
TEST=drmemory

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@801 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 19:56:29 +00:00
fbarchard@google.com
a927c6fb87 DrMemory fix for Sobel overread.
BUG=262
TESTED=Sobel* unittests re-enabled.

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@800 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 11:10:22 +00:00
fbarchard@google.com
47e856c632 Make I411ToARGB read 2 bytes to avoid overread.
BUG=262
TESTED=I411ToARGB
R=kjellander@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@799 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 10:07:16 +00:00
fbarchard@google.com
07c3fe2f61 Fix DrMemory errors in unittests that were not initializing memory.
BUG=263
TEST=set GYP_DEFINES=build_for_tool=drmemory target_arch=ia32 & drmemory out\debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*
R=kjellander@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@798 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 07:39:10 +00:00
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
62184141c2 Use clang front end ifdef for AVX2 instead of llvm backend.
BUG=269
TESTED=clang++ -c source/row_posix.cc -I include/
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@796 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-23 19:34:26 +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
65d1ba6a26 Disable ColorTable assembly which is slow.
BUG=266
TEST=unittest for color table passes and is faster
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@789 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-12 17:41:57 +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
1390aaf69a fix for luma table valgrind uninitialized variable.
BUG=267
TEST=try bots
R=ryanpetrie@google.com

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

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