161 Commits

Author SHA1 Message Date
fbarchard@google.com
2d11d43a6e shuffle functions so convert.h is all formats to I420 and convert_from.h is from I420 to all formats
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/395006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@174 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-16 02:50:39 +00:00
fbarchard@google.com
798197fc14 remove deprecated RGB24ToARGB, rename BG24ToARGB to RGB24ToARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/392009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@172 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-14 18:17:12 +00:00
fbarchard@google.com
b95dbf2495 check pointer of last pixel and last pixel + 64 are in the same page.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/387006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@170 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-11 01:18:30 +00:00
fbarchard@google.com
567244c003 minor fixups
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/388001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@169 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-07 23:54:52 +00:00
fbarchard@google.com
e5f3fd4cc8 YUY2 and UYVY Unaligned and any versions
TEST=none
BUG=none
Review URL: https://webrtc-codereview.appspot.com/379009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@168 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-06 22:40:32 +00:00
fbarchard@google.com
b1dd02d66c Unaligned test/moves for some of the slower functions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@162 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-30 20:54:49 +00:00
fbarchard@google.com
caf3952548 YUV and ARGB to RGB formats w/ Any variations to allow destination to be misaligned and any number of bytes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@160 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-27 01:45:22 +00:00
fbarchard@google.com
5343a7301b Make Bayer functions with same parameters as RGB conversions allowing consistant usage and testing. Functions are implemented with wrappers to single function for 4 fourccs. New I420ToBayer functions implemented similar to 2 step I420ToRGB565 etc.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/367002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@150 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-24 19:43:29 +00:00
fbarchard@google.com
42831e0aae Mirror a plane at a time so each can check cpu/alignment independently
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/370001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@148 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 02:54:17 +00:00
fbarchard@google.com
ba03e4d99e Relax alignment checks especially when doing 2 step conversions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@147 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 00:16:29 +00:00
fbarchard@google.com
882ddbd9c2 wrapper for yuv to argb that handles destination misalignment and odd widths by using a memcpy
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/364001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@145 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-20 18:10:14 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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