121 Commits

Author SHA1 Message Date
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
510fe70cb5 Assembly tuned for rgb565 etc functions. pipelines for atom/core2.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/368002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@146 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-20 19:12:48 +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
0e6ce93c84 address munge for rowreverse. And computer green mask based on red mask to save one shift.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/363001

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