97 Commits

Author SHA1 Message Date
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
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