fbarchard@google.com
a843cafbe4
ARGBMultiply_AVX2 ported to GCC.
...
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27139005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1160 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-11 20:33:33 +00:00
fbarchard@google.com
0387df5186
ARGBSubtract_AVX2 ported to GCC.
...
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/27129004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1159 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-11 19:12:38 +00:00
fbarchard@google.com
9e9e26d60a
ARGBAdd ported AVX2 ported to GCC.
...
BUG=269
TESTED=try bots
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/32449004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1158 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-11 19:01:29 +00:00
fbarchard@google.com
10d9c0d0a7
MergeUV for AVX2 ported to gcc. Add missing vzeroupper to all avx2 functions.
...
BUG=none
TESTED=ncval for nacl
R=brucedawson@google.com , harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/25059005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1157 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-10 19:19:12 +00:00
fbarchard@google.com
d1885bcc73
SplitUVRow_AVX2 ported to GCC/NaCL.
...
BUG=269
TESTED=validator for nacl.
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/28979004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1156 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-06 01:39:26 +00:00
fbarchard@google.com
bb3a4b41e9
vextractf128 requuires a constant argument for which dqword to extract, so add a new macro.
...
BUG=none
TESTED=local build on clang for osx
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30869004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1153 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-04 21:05:55 +00:00
fbarchard@google.com
3f87404769
Port YUY2ToUV, YUY2ToUV422, UYVYToUV and UYVYToUV422 to AVX2 on GCC/Nacl.
...
BUG=269
TESTED=ncval
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/26029004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1152 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-04 18:24:10 +00:00
fbarchard@google.com
067892c5a1
Port YUY2ToYRow_AVX2 and UYVYToYRow_AVX2 to gcc/NaCL from Windows AVX code.
...
BUG=269
TESTED=ncval
R=brucedawson@google.com , harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/25039004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1151 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-11-03 18:30:17 +00:00
fbarchard@google.com
260e3b2273
now that libyuv requires newer nacl compiler, bundles can be assumed and bundle align macro can be removed. no impact on code gen.
...
BUG=none
TESTED=validator still passes
R=harryjin@google.com
Review URL: https://webrtc-codereview.appspot.com/30019004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@1150 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-30 20:02:03 +00:00
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