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
fbarchard@google.com
3e8a577bb3
add ARGBRect, fix for 444 support in ConvertToI420
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/289003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@93 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-23 18:58:38 +00:00
fbarchard@google.com
10f5556a9f
I444 fourcc and ConvertToI420 support
...
BUG=none
TEST=untested
Review URL: http://webrtc-codereview.appspot.com/290001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@92 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-23 00:01:24 +00:00
fbarchard@google.com
1c5136d069
use IS_ALIGNED for width and stride to avoid mod that generates 6 instructions
...
BUG=none
TEST=disassemble to confirm smaller/simplier alignment checks
Review URL: http://webrtc-codereview.appspot.com/287001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@91 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-22 18:15:17 +00:00
fbarchard@google.com
3c00cf04f3
inline cpuid for better branch prediction
...
BUG=none
TEST=disassembly shows 6 instructions (due to auto init)
Review URL: http://webrtc-codereview.appspot.com/285001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@90 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-22 00:40:39 +00:00
fbarchard@google.com
12d048335d
I420Mirror rewrite, I420Copy movdqa, I444To420, I420To422
...
Review URL: http://webrtc-codereview.appspot.com/267025
git-svn-id: http://libyuv.googlecode.com/svn/trunk@89 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-21 23:54:38 +00:00
fbarchard@google.com
1616c315e0
I420ToYUY2 SSE2 version. 5.5x faster
...
BUG=none
TEST=LmiVideoFrameTest.ConvertToYUY2Buffer
Review URL: http://webrtc-codereview.appspot.com/283001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@88 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-20 18:34:15 +00:00
frkoenig@google.com
5e56498d4b
Fix FastConvertYUVToABGRRow_SSSE3 for posix.
...
Extraneous lines in assembly code.
Review URL: http://webrtc-codereview.appspot.com/279013
git-svn-id: http://libyuv.googlecode.com/svn/trunk@87 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-19 01:43:44 +00:00
frkoenig@google.com
93d003f874
YUVToARGB, YUVToBGRA,YUVToABGR optimized.
...
Review URL: http://webrtc-codereview.appspot.com/267022
git-svn-id: http://libyuv.googlecode.com/svn/trunk@86 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-19 01:39:57 +00:00
fbarchard@google.com
bc8f28eb52
remove row table, make C use math that mimics SIMD for exactness. Also 2x faster than old code which mimiced old SIMD via tables. 9000 ms instead of 20000 ms
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/267020
git-svn-id: http://libyuv.googlecode.com/svn/trunk@85 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-18 21:03:54 +00:00
fbarchard@google.com
15c3d45cbe
Change WIN32 to _M_IX86 and use YUV_DISABLE_ASM consistently
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/277008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@84 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-17 22:13:17 +00:00
fbarchard@google.com
1c2d8be1e1
port yuv to rgb to mac
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/269017
git-svn-id: http://libyuv.googlecode.com/svn/trunk@83 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-17 21:57:54 +00:00
fbarchard@google.com
8219d27a19
i422 to i420 sse2
...
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/269016
git-svn-id: http://libyuv.googlecode.com/svn/trunk@82 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-16 19:06:31 +00:00
fbarchard@google.com
c59000bf0f
osx 64 bit does not want _ in variable names
...
BUG=none
TEST=build with m64
Review URL: http://webrtc-codereview.appspot.com/268011
git-svn-id: http://libyuv.googlecode.com/svn/trunk@81 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-15 22:27:45 +00:00
fbarchard@google.com
228bdc24e4
port yuv to rgb ssse3 to gcc
...
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/269015
git-svn-id: http://libyuv.googlecode.com/svn/trunk@80 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-15 21:58:26 +00:00
fbarchard@google.com
4cf70bd6db
compare SumSquareError_SSE2 ported to gcc
...
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/279005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@79 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-15 18:44:31 +00:00
fbarchard@google.com
2430e04e0a
fix internal compiler error on mac by removing const from vectors
...
BUG=none
TEST=compile on mac
Review URL: http://webrtc-codereview.appspot.com/266013
git-svn-id: http://libyuv.googlecode.com/svn/trunk@78 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 21:57:06 +00:00
fbarchard@google.com
eaedc1d727
remove mmx functions
...
BUG=none
TEST=builds
Review URL: http://webrtc-codereview.appspot.com/269010
git-svn-id: http://libyuv.googlecode.com/svn/trunk@77 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 18:41:47 +00:00
frkoenig@google.com
c82af4a59c
Order includes.
...
Use the following order.
local
system
libyuv
Review URL: http://webrtc-codereview.appspot.com/270007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@76 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 00:54:34 +00:00
fbarchard@google.com
d4ff5b42e6
document ConvertToI420 parameters
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/267008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@75 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 00:06:01 +00:00
mikhal@webrtc.org
1b06484b4a
libyuv: clean up:
...
1. Removing libyuv:: when not needed
2. Test clean-up
Review URL: http://webrtc-codereview.appspot.com/279002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@74 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 23:58:32 +00:00
fbarchard@google.com
f7a5048f54
align asm new line to column 48
...
BUG=none
TEST=builds
Review URL: http://webrtc-codereview.appspot.com/268008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@73 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 22:41:20 +00:00
frkoenig@google.com
2cb934c624
PSNR and SSIM plane comparision functions.
...
Code sourced from libvpx.
http://www.webmproject.org/code/#libvpx_the_vp8_codec_sdk
Review URL: http://webrtc-codereview.appspot.com/267004
git-svn-id: http://libyuv.googlecode.com/svn/trunk@72 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 20:52:24 +00:00
fbarchard@google.com
6334808d9d
remove _ from simd in row
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/270006
git-svn-id: http://libyuv.googlecode.com/svn/trunk@71 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 20:48:35 +00:00
fbarchard@google.com
75988ad3a8
remove align16 macro
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/266012
git-svn-id: http://libyuv.googlecode.com/svn/trunk@70 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 20:28:35 +00:00
fbarchard@google.com
706fc412ad
move code from table to common
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/269009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@69 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 20:13:57 +00:00
fbarchard@google.com
124b76e5c9
add a comparison function
...
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/270005
git-svn-id: http://libyuv.googlecode.com/svn/trunk@68 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 20:13:42 +00:00
mikhal@webrtc.org
b744e3734a
libyuv: Updating general functions:
...
1. Deleting Crop and CropPad functions
2. Moving I420Mirror to planar functions
3. deleting general.h and general.cc
Review URL: http://webrtc-codereview.appspot.com/269008
git-svn-id: http://libyuv.googlecode.com/svn/trunk@67 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 18:44:37 +00:00
fbarchard@google.com
d93d4486eb
row functions for windows use ssse3 for yuv to rgb. mac use sse3 for rgb to yuv
...
Review URL: http://webrtc-codereview.appspot.com/267007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@66 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 18:26:20 +00:00
fbarchard@google.com
82ba1b77ae
bayer off by one on width
...
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/276003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@65 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-08 19:35:52 +00:00
frkoenig@google.com
86e9487d0d
Fix for InitCpuFlags for android.
...
Review URL: http://webrtc-codereview.appspot.com/277001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@64 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-08 00:12:33 +00:00
frkoenig@google.com
e518542da5
ifdef platform specific code.
...
Not all posix platforms have SSSE3 functionality.
Review URL: http://webrtc-codereview.appspot.com/276001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@62 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-07 23:07:57 +00:00
fbarchard@google.com
b61497636a
ARGB to and from I420 ported to x64
...
BUG=none
TEST=media_unittests
Review URL: http://webrtc-codereview.appspot.com/266003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@61 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-07 21:58:52 +00:00
frkoenig@google.com
755de365c4
Change add + shift syntax for arm assembly.
...
Short syntax is not supported by all compilers.
Review URL: http://webrtc-codereview.appspot.com/265001
git-svn-id: http://libyuv.googlecode.com/svn/trunk@60 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-03 23:33:01 +00:00
frkoenig@google.com
f7e74a1a6f
Move neon rotate code from straight assembly to inline.
...
Allow assemblers with a slightly different syntax to use
the optimized neon routines.
Removed extra constraints on the calling of the optimized
routines. All neon routines can load unaligned and handle
odd widths.
Align allocated buffers in rotate_test.cc
Add neon rotate file to gyp file for arm targets.
Review URL: http://webrtc-codereview.appspot.com/253007
git-svn-id: http://libyuv.googlecode.com/svn/trunk@59 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-03 22:41:59 +00:00
frkoenig@google.com
7aa6f06e70
Avoid using Q4-Q7 registers for NEON.
...
Was not paying attention to which registers were for scratch.
Avoid the need to preserve registers by not using registers
in the Q4-Q7 range.
Fix ScaleDown2Int_NEON by changing how rounding was applied.
ScaleDownRow4 changed to process 4 output pixels per loop.
No need to push/pop registers for UV Transpose, removed
functions.
Fix for CPU Flag for scale_test.cc to turn on/off optimizations
for timing.
Review URL: http://webrtc-codereview.appspot.com/259002
git-svn-id: http://libyuv.googlecode.com/svn/trunk@58 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-03 00:54:50 +00:00
fbarchard@google.com
799796b272
avoid xmm7 in formatconversion
...
BUG=none
TEST=build/run on linux
Review URL: http://webrtc-codereview.appspot.com/255010
git-svn-id: http://libyuv.googlecode.com/svn/trunk@57 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-02 23:06:50 +00:00
fbarchard@google.com
d14936a0af
scale avoid xmm6 and xmm7 usage
...
BUG=none
TEST=scale test in talk
Review URL: http://webrtc-codereview.appspot.com/256009
git-svn-id: http://libyuv.googlecode.com/svn/trunk@56 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-02 23:06:40 +00:00
fbarchard@google.com
4562b62caa
Reduced usage of xmm6 and xmm7 which need to be saved on win64.
...
BUG=none
TEST=tested with talk unittests
Review URL: http://webrtc-codereview.appspot.com/261003
git-svn-id: http://libyuv.googlecode.com/svn/trunk@55 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-02 23:06:27 +00:00