262 Commits

Author SHA1 Message Date
fbarchard@google.com
51b78880c5 gcc version of I422ToBGRA_AVX2. Original copied from https://webrtc-codereview.appspot.com/28729004/ and compatible with, but unrelated to windows version.
BUG=269
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1131 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-21 02:18:11 +00:00
fbarchard@google.com
4d46be3930 Declare CopyRow_AVX as using xmm usage, not ymm. Should resolve chromium build error for Android Atom.
BUG=libyuv:369
TESTED=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1118 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-09 17:54:43 +00:00
fbarchard@google.com
205c1440cf Use movdqu then pavgb to allow unaligned memory for rgb subsampling code. Allows this assembly to be used for unaligned pointers as well as aligned ones with no performance hit when memory is aligned on a modern cpu.
BUG=365
TESTED=libyuvTest.ARGBToI420_Unaligned (453 ms)
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1116 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 19:47:06 +00:00
fbarchard@google.com
883ce64a34 ifdefs for UV functions to resolve link error on osx
BUG=365
TESTED=mac local build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1115 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 17:24:14 +00:00
fbarchard@google.com
008ce53ac4 pavgb with memory op requires alignment. This CL disables conversions that use pavgb, and resolves scale by 3/8 unittest for checking alignment works. The 3/8 code used a pavgb with a memory operand. tests are added for scaling and allow unaligning on purpose.
BUG=365
TESTED=local change to force unaligned memory fails on some conversions and scaling code.
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1114 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 01:57:34 +00:00
fbarchard@google.com
ca308327d2 Remove unaligned functions, since most function support unaligned memory now. This reduces complexity and improves performance for unaligned cases because C code can be avoided, and overhead is less. Downside is old cpus (core2 and earlier) will be slower for aligned memory case. Except mips, which has alignment requirement, but remove unaligned variant.
BUG=365
TESTED=unittest builds and passes locally
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1113 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 00:59:31 +00:00
fbarchard@google.com
b720049a54 Make row functions used for planarfunctions and convert use movdqu to relax alignment constraint. Step 1 - make functions unaligned.
BUG=365
TESTED=libyuv_unittest passes
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1111 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-03 21:11:37 +00:00
fbarchard@google.com
d83f63a3b4 InterpolateRow used for scale handle unaligned memory. Remove HalfRow which is not used.
BUG=367
TESTED=unittest on I422ToI420
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1107 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-03 17:37:11 +00:00
fbarchard@google.com
455ae94c60 Make rotate SIMD allow unaligned pointers.
BUG=365
TESTED=libyuv_unittest
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1102 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-02 17:56:48 +00:00
fbarchard@google.com
1fb68cda67 port/fix CopyRow_AVX to gcc
BUG=363
TESTED=osx build
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1098 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-30 00:39:41 +00:00
fbarchard@google.com
d33bf86b25 CopyRow_AVX which supports unaligned pointers for Sandy Bridge CPU.
BUG=363
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToARGB_*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1097 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-29 23:53:18 +00:00
fbarchard@google.com
a1f5254a95 Switch to c style casts for all source and includes.
BUG=303
TESTED=try
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@952 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-07 03:03:00 +00:00
fbarchard@google.com
5dba58cb1e FixedDiv1 using a single 64/32 divide. Removes size restriction from slope.
BUG=302
TESTED=libyuv scale tests
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@940 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-02 22:32:09 +00:00
fbarchard@google.com
b14f46fa30 NaCL pepper_33 port of scale and compare using lock/unlock. Remove less useful scaling tests and change default size to a multiple of 16 for better assembly coverage.
BUG=none
TESTED=ncval
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@917 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-17 18:27:06 +00:00
nfullagar@google.com
6f0a1dca2c First pass using bundle_lock / bundle_unlock from binutils update.
Remove hand placed BUNDLEALIGN and add new asm directives into
psuedo-instruction macros. Moving forward, this will make for easier and
more consistent psuedo-instruction alignment with bundle boundaries.
This is mostly a NaCl CL but does include a few changes that will slightly
change loop alignments in non-NaCl builds.
BUG=253
TEST=trybots,ncval
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@913 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-13 22:40:53 +00:00
fbarchard@google.com
0287a3cb53 Fix for I422ToARGB which used movq instead of movd
BUG=293
TESTED=LIBYUV_DISABLE_ASM=1 valgrind out/Debug/remoting_unittests --single-process-tests --gtest_filter=*YuvToRgb*
R=tpsiaki@google.com

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

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

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@884 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 00:27:29 +00:00
fbarchard@google.com
0014ce0056 test odd width and fix for unaligned used on odd width conversion.
BUG=283
TESTED=try bots
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@883 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-02 20:07:29 +00:00
fbarchard@google.com
c2295807bd Reduce alignment for loops from 16 bytes to 4 bytes. Reduces outer loop overhead without hurting innerloop time.
BUG=none
TESTED=try bots
R=fbarchard@chromium.org, mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@880 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-02 15:57:39 +00:00
fbarchard@google.com
dbe4814361 Move scale row functions to scale_win etc
BUG=none
TEST=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@879 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-28 01:16:15 +00:00
fbarchard@google.com
a77571812e Lint fixes for macros
BUG=none
TEST=lint
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@877 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-27 01:33:09 +00:00
fbarchard@google.com
67e6419668 Port more functions in row_posix.cc to NaCl
BUG=253
TEST=libyuv_unittest,ncval,trybots
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@876 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-27 01:15:24 +00:00
fbarchard@google.com
a0630d77f0 Report of affine to nacl using %k0
BUG=none
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@855 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-15 17:42:44 +00:00
fbarchard@google.com
e37aed6f42 Nacl versions of color tables
BUG=none
TEST=none
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@850 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-12 04:00:10 +00:00
fbarchard@google.com
c2a889eb55 Bump reciprocal up by 1
BUG=none
TEST=none
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@847 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-11 05:14:13 +00:00
fbarchard@google.com
ed9ddc0765 Port small blur to NaCL
BUG=none
TEST=validate passes
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@844 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-05 23:26:06 +00:00
fbarchard@google.com
4a4b7374c1 Load matrix with one vector and splat to 4 different ones.
BUG=none
TEST=none
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@838 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-01 21:29:45 +00:00
fbarchard@google.com
11a0d48e45 pass parameter for yuv conversion
BUG=267
TEST=Luma
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@834 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-31 05:47:13 +00:00
fbarchard@google.com
21796c94aa Move constant to its own asm block to save 3 GPR registers for main loop
BUG=267
TESTED=32 bit mac build

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@832 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-29 08:43:13 +00:00
fbarchard@google.com
ca8f826ba3 Luma fetch 4 pixels
BUG=267
TEST=Luma*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@831 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-28 22:53:22 +00:00
fbarchard@google.com
407c4ee73a Register juggling to get gcc 32 bit to build
BUG=267
TEST=Luma* builds under gcc 32 and runs similar performance to other builds
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@830 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-28 22:28:35 +00:00
fbarchard@google.com
4c736098d6 Use packssdw which is SSE2 not packusdw which is SSSE4.
BUG=none
TEST=Sobel* on AMD cpu
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@829 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-28 19:12:49 +00:00
fbarchard@google.com
6f7e514caa Full metal BCS
BUG=none
TEST=Luma* unittest
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@828 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-28 17:10:49 +00:00
fbarchard@google.com
fb99c03008 NaCL port of CopyAlpha
BUG=none
TEST=ncval
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@827 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-25 21:26:40 +00:00
fbarchard@google.com
08b24a4232 Bayer GG specialized version for Sobel
BUG=none
TEST=Sobel
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@826 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-25 07:39:43 +00:00
fbarchard@google.com
1b2ff39cc8 Add space around each nacl macro for clang compatibility with -Wreserved-user-defined-literal
BUG=280
TESTED=try bots
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@825 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-24 20:12:36 +00:00
fbarchard@google.com
092099507e Sobel using max to get abs for SSE2
BUG=none
TEST=none
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@824 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-23 00:51:52 +00:00
fbarchard@google.com
38157bdc71 Change Attenuate and Unattenuate to unaligned memory ops.
BUG=279
TEST=ARGBAttenuate_Unaligned
R=nfullagar@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@821 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 21:44:23 +00:00
fbarchard@google.com
8be4b289c7 ARGBSobelToPlane which produces a planar output.
BUG=none
TEST=none
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@818 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:39:07 +00:00
fbarchard@google.com
78ad8d1f98 Polynomial AVX2 on gcc use vex128 vmovq instead of SSE2 movq to avoid stall.
BUG=265
TEST=unittest polynomial
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@816 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:04:24 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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