267 Commits

Author SHA1 Message Date
fbarchard@google.com
d1943b39e5 add dest alignment check for NV12ToARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/360003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@143 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 21:24:15 +00:00
fbarchard@google.com
fc99814a92 NV12ToARGB function for ios
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/352014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@142 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 19:20:06 +00:00
fbarchard@google.com
1eb4034778 ConvertFrom remove sample size and add stride
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/356001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@141 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 18:54:35 +00:00
fbarchard@google.com
24d2656b65 ARGBToRGB24 and ARGBToRAW optimized
BUG=none
TEST=media_unittest
Review URL: https://webrtc-codereview.appspot.com/348013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@140 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 01:45:57 +00:00
fbarchard@google.com
8af21a57f5 remove wrapper functions that call 2 row functions internally
BUG=none
TEST=still builds/runs
Review URL: https://webrtc-codereview.appspot.com/350016

git-svn-id: http://libyuv.googlecode.com/svn/trunk@139 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-19 00:28:31 +00:00
fbarchard@google.com
9eefb2e8dd ARGBToRGB functions optimized
BUG=none
TEST=media_unittest.exe --gunit_catch_exceptions=0 --yuvconverter_repeat=1000 --gunit_filter=LmiVideoFrameTest.ConvertTo*R*
Review URL: https://webrtc-codereview.appspot.com/355002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@138 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 23:56:30 +00:00
fbarchard@google.com
782659b07c ConvertFromI420Stride is same as ConvertFromI420 but accepts a stride per row. Only works on single plane formats
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/353007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@137 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 21:25:06 +00:00
fbarchard@google.com
ecb3f4cc4e Reorder functions for consistency when doing RGB functions. Order should now be ARGB, BGRA, ABGR, RGB24, RAW, RGB565, ARGB1555, ARGB4444
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/352013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@136 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 18:54:51 +00:00
fbarchard@google.com
44477b260a RGB565 etc to I420 had UV function pointer set wrong for _C version.
BUG=none
TEST=media_unittest
Review URL: https://webrtc-codereview.appspot.com/353006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@135 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-18 00:27:58 +00:00
fbarchard@google.com
1de81bca84 NV12ToRGB565 rewritten. Row functions with SSSE3 and NEON. Stride by bytes (bug fix). Handle odd sizes. Support inversion.
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/344012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@134 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 19:27:42 +00:00
fbarchard@google.com
ccd6d9b2de ARGB1555ToARGBRow_SSE2
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/349006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@133 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 19:26:50 +00:00
fbarchard@google.com
6aa761da6d RGB565ToARGB_SSE2
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/347011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@132 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-13 00:59:49 +00:00
fbarchard@google.com
ba1f526926 rewrite of I420ToRGB565 etc using row functions
BUG=none
TEST=media_unittest
Review URL: http://webrtc-codereview.appspot.com/345004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@131 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-12 19:22:41 +00:00
fbarchard@google.com
20005e64e3 fix convertToI420 rowbytes and add assembly calls
BUG=none
TEST=camtool
Review URL: http://webrtc-codereview.appspot.com/343008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@130 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-11 21:16:10 +00:00
fbarchard@google.com
17272be539 SSE2 version of 4444 to 8888
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/344005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@129 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-11 20:22:35 +00:00
fbarchard@google.com
a7d977ceae RGBP, RGBO, R444 fourcc support
BUG=none
TEST=camtool with xo175
Review URL: http://webrtc-codereview.appspot.com/347001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@128 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-09 20:01:08 +00:00
frkoenig@google.com
ea8d0eb0d1 ScaleFilterRows optimized for NEON.
Includes unit test that scales the image up by 2.
Currently this is done using the generic bilinear scale.
Review URL: http://webrtc-codereview.appspot.com/330032

git-svn-id: http://libyuv.googlecode.com/svn/trunk@126 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 23:04:07 +00:00
fbarchard@google.com
17f198cd46 cleanup of include order, std include comments on what function they are for, and guard naming to match folder
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333028

git-svn-id: http://libyuv.googlecode.com/svn/trunk@125 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 02:21:05 +00:00
frkoenig@google.com
6011ff7353 Fix YUVToARGB/BGRA/ABGR linking.
Broken by previous move to using extern "C" for functions.
This moves the function prototype into the extern "C" block
and gives the functions the correct name when linking.
Review URL: http://webrtc-codereview.appspot.com/333027

git-svn-id: http://libyuv.googlecode.com/svn/trunk@124 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 00:15:17 +00:00
fbarchard@google.com
7a24bd8577 allow null dst_y on biplanar and triplanar functions
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@123 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-03 23:54:00 +00:00
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
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
fbarchard@google.com
79b18eecc5 ifdef fix for 32 bit gcc
BUG=none
TEST=build on linux
Review URL: http://webrtc-codereview.appspot.com/256003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@52 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-31 22:13:36 +00:00
fbarchard@google.com
9394ed99fc ARGB To I420 and variations using row functions
BUG=none
TEST=media_unittests from talk used to benchmark
Review URL: http://webrtc-codereview.appspot.com/254001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@51 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-31 21:36:47 +00:00
arphaxad.cy@gmail.com
7472021e53 git-svn-id: http://libyuv.googlecode.com/svn/trunk@50 16f28f9a-4ce2-e073-06de-1de4eb20be90 2011-10-31 20:54:44 +00:00
frkoenig@google.com
0e9b515f53 Neon 38 downscaler.
Fixed up unit tests for filters to use same image generation and comparison code.

Added timing information output from doing scale.
Review URL: http://webrtc-codereview.appspot.com/244016

git-svn-id: http://libyuv.googlecode.com/svn/trunk@48 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-29 00:26:17 +00:00
fbarchard@google.com
891091c6d4 cpu_id using one variable and make it more public how to set flags to disable SIMD
BUG=none
TEST=scale unittest in talk disables SSSE3
Review URL: http://webrtc-codereview.appspot.com/239018

git-svn-id: http://libyuv.googlecode.com/svn/trunk@47 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-29 00:18:58 +00:00
fbarchard@google.com
585a126140 rewrite ARGBToI420 with SSSE3
TEST=talk unittests
BUG=none
Review URL: http://webrtc-codereview.appspot.com/251003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@46 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-28 23:51:08 +00:00
fbarchard@google.com
8cfa307335 fix for vdup syntax error
BUG=none
TEST=attempt to build on android
Review URL: http://webrtc-codereview.appspot.com/250006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@45 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-28 21:53:54 +00:00
frkoenig@google.com
f626bea05f Neon version of ScaleRowDown34.
Review URL: http://webrtc-codereview.appspot.com/250003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@44 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-28 17:32:35 +00:00
mikhal@webrtc.org
82ca395828 libyuv: Updates to gyp file convert and general
Review URL: http://webrtc-codereview.appspot.com/239017

git-svn-id: http://libyuv.googlecode.com/svn/trunk@43 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-28 01:01:57 +00:00
fbarchard@google.com
780203897c rotate for x86 and bayer refactored - 3x faster.
BUG=1
TEST=tested with talk unittests.
Review URL: http://webrtc-codereview.appspot.com/250004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@42 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-27 20:52:52 +00:00
frkoenig@google.com
bab397f72a ScaleRowDown4Int_SSE2 was incorrectly computing offset.
One of the source lines for ScaleRowDown4Int_SSE2 was
incorrect leading to a bad read.  Add a test to catch
this in the future.
Review URL: http://webrtc-codereview.appspot.com/242006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@39 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-21 22:27:20 +00:00
fbarchard@google.com
fd4b315d5d 64 bit port of rotation and tweeks to planar
BUG=none
TEST=local tests
Review URL: http://webrtc-codereview.appspot.com/244008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@38 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-21 22:26:48 +00:00
frkoenig@google.com
36ab38a3bd ARM Neon optimized 4x4 box filter.
Fix for 2x2 box filter assembly code.
Review URL: http://webrtc-codereview.appspot.com/240007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@37 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-21 21:17:16 +00:00
frkoenig@google.com
3dcaf7341c Fix calling parameters for YuvPixel.
YUVPixel did not have all the requisite parameters.
Review URL: http://webrtc-codereview.appspot.com/244005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@35 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-20 23:42:36 +00:00
fbarchard@google.com
3faa0f15cb x64 versions of assembly which also work on PIC 32 bit. biplanar take 2 strides for odd width. inversion for src height
TEST=media and planar unittests in Talk

BUG=none
Review URL: http://webrtc-codereview.appspot.com/244004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@33 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-20 06:04:16 +00:00
frkoenig@google.com
3de12ae1c6 I420 and NV12 rotate functions.
Consolidate rotate files.  Add unit tests for I420
and NV12 rotate functions.  Fix remaining pitch/stride
references.
Review URL: http://webrtc-codereview.appspot.com/239001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@32 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-19 17:52:15 +00:00
fbarchard@google.com
a1280730c2 cleanup yuv for consistency. stride, return int, negative heights, inplace conversions, lower case names, filter enum, uint, planarfunction updates, remove common.h, remove common/ folder, cpuid header public, move headers into libyuv/, add libyuv.h, fixed header guards, remove internal timing from scale, tweaks for llvm build, videocommon simplified
BUG=none
TEST=Talk builds on all platforms against libyuv.
Review URL: http://webrtc-codereview.appspot.com/226003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@31 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-14 17:50:12 +00:00
mikhal@webrtc.org
ec9d86cab3 libyuv: Adding I420rotate. Updating gyp file to include rotation.
Review URL: http://webrtc-codereview.appspot.com/230002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@30 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-14 01:37:12 +00:00
fbarchard@google.com
8b071f6dc2 force inline for bayer and include basic types
TESTED=xcode build
BUG=none
Review URL: http://webrtc-codereview.appspot.com/233001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@29 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-14 01:19:41 +00:00
mikhal@webrtc.org
74534808aa libyuv: reverting last update to general.h + renaming cut to crop
Review URL: http://webrtc-codereview.appspot.com/225001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@27 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-13 23:10:54 +00:00
fbarchard@google.com
41686e8479 remove linux.cc and simplify cpuid
TEST=pulse build of talk against libyuv
BUG=none
Review URL: http://webrtc-codereview.appspot.com/224002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@25 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-13 17:47:39 +00:00
mikhal@webrtc.org
c27f2fb3b0 Libyuv: Bug fix in format_conversion
Review URL: http://webrtc-codereview.appspot.com/215005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@24 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-12 23:31:17 +00:00
frkoenig@google.com
ed6edcab8b Fixed image rotators.
90, 180, 270 rotate of array with a minimum size of 8x8.
Also deinterleave on rotate for NV12/NV21 formats.
Review URL: http://webrtc-codereview.appspot.com/195002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@23 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-12 21:37:43 +00:00
mikhal@webrtc.org
43575c8fa5 Libyuv: Numerous changes
Review URL: http://webrtc-codereview.appspot.com/217007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@22 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-12 18:49:21 +00:00
mikhal@webrtc.org
abe14f80ba libyuv: Adding conversion functions
Review URL: http://webrtc-codereview.appspot.com/213005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@21 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-11 23:35:31 +00:00
mikhal@webrtc.org
280f4fd8bb LibYuv: Updating convert file: 1. Adding RawToI420 2. Adding support for odd dimensions 3. Removing I420ToRGB565Android and updating I420ToRGB565 to support negative height as invert 4. Adding convert class 5. Removing YV12 functionality 6. Adding I420ToBGRA 7. Coding style updates
Review URL: http://webrtc-codereview.appspot.com/214006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@20 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-11 22:42:13 +00:00
mikhal@webrtc.org
ea0cff0217 libyuv: changing assert call on scale.cc
Review URL: http://webrtc-codereview.appspot.com/215004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@19 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-11 20:09:44 +00:00
mikhal@webrtc.org
dd8aae4cb3 LibYuv: Updates to general functionality.
Review URL: http://webrtc-codereview.appspot.com/219003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@18 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-11 19:03:20 +00:00
mikhal@webrtc.org
283eb139df LibYuv: General updates
Review URL: http://webrtc-codereview.appspot.com/220004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@17 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-11 18:22:34 +00:00
mikhal@webrtc.org
24fba05d08 libyuv: Adding a cpu_id depedence
Review URL: http://webrtc-codereview.appspot.com/220002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@16 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-10 22:21:28 +00:00
mikhal@webrtc.org
5327adda47 libyuv: Adding row_win.cc and updating gyp file.
Review URL: http://webrtc-codereview.appspot.com/219001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@15 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-10 21:03:23 +00:00
mikhal@webrtc.org
22f9cfb688 libyuv: Clean up
Review URL: http://webrtc-codereview.appspot.com/220001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@14 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-10 20:11:26 +00:00
mikhal@webrtc.org
120d5e7310 libyuv: Updating planar functions
Review URL: http://webrtc-codereview.appspot.com/209002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@12 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-07 17:57:17 +00:00
mikhal@webrtc.org
aed1cc94c1 first draft
git-svn-id: http://libyuv.googlecode.com/svn/trunk@2 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-09-28 00:06:25 +00:00