69 Commits

Author SHA1 Message Date
fbarchard@google.com
27d42c7ff6 Expose ARGB rotation using scale low levels
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/675004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@292 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-22 23:57:26 +00:00
fbarchard@google.com
81b804e35c ARGBQuantize to do a posterizing effect. Added random resolution unittest.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/654005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@289 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-20 02:15:01 +00:00
fbarchard@google.com
e442dc4c2a ARGBcolorMatrix for applying transforms such as grey and sepia in a more general form. Unittest does sepia for comparison.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/656004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@288 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-18 17:37:09 +00:00
fbarchard@google.com
ee2208885f Fix constant in rowposix, remove addrow and minor cleanups
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/637013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@286 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-14 00:07:56 +00:00
fbarchard@google.com
bac5f2c3ee ARGBBlend functions that handle any alignment and number of pixels
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/635011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@285 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-13 23:43:12 +00:00
fbarchard@google.com
133adc4647 followup cleanup for blur and make compilable with /clr
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@284 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 05:46:49 +00:00
fbarchard@google.com
f51e87912e Blur functions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/633005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@282 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-10 02:40:04 +00:00
fbarchard@google.com
2d9fe08225 direct conversion from NV12 to ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@281 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 22:11:34 +00:00
fbarchard@google.com
e214fe3f07 I411ToARGB doing 2 UV values with 8 Y values
BUG=40
TEST=planar_test
Review URL: https://webrtc-codereview.appspot.com/637005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@277 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-04 23:47:11 +00:00
fbarchard@google.com
221e602f8a ARGBSepia planarfunction for converting a region of ARGB image to Sepia tone. ARGBGray optimized weaving of alpha value. 551 ms from 568 ms.
BUG=none
TEST=libyuv_unittest --gtest_filter=*ARGBSepia*
Review URL: https://webrtc-codereview.appspot.com/573008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@270 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-21 22:24:41 +00:00
fbarchard@google.com
ffaea7eee3 ARGBGray function for convertion a rectangle of ARGB to gray scale
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/582007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@269 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-18 19:43:59 +00:00
fbarchard@google.com
9c02ba532f ARGBUnattenuateRow_C use same table as ARGBUnattenuateRow_SSE2. omit-frame-pointer for ScaleRowDown38_3_Int_NEON
BUG=35
TESTED=disable asm and run unittest on x86
Review URL: https://webrtc-codereview.appspot.com/585004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@268 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-17 22:49:31 +00:00
fbarchard@google.com
f2d84dddd2 scale ported to OSX for 32/64 bit. Required breaking up some functions into 2 or 3 asm inlines to set constants. Reworked storing of 6 bytes on all platforms for 3/4 scale by storing first 4 bytes and then storing last 4 bytes, overlapping 2, in order to stay within SSE2 registers.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/582004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@266 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-14 20:23:35 +00:00
fbarchard@google.com
5566302866 AddRow function to help implement box filter
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/527002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@252 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-26 00:01:41 +00:00
fbarchard@google.com
5ff3a8fec5 ARGBBlendRow1_SSSE3 added to allow SSSE3 only alpha blending. Saves on SSE2 cpu dispatching
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/518002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@251 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 19:43:45 +00:00
fbarchard@google.com
da5cc4274b Prune SSE2 code out when building specifically for SSSE3
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/517001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@250 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 06:01:32 +00:00
fbarchard@google.com
810cd91079 ARGBUnattenuateRow_SSE2 use reciprocal table and pmul
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/497001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@244 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-20 20:15:27 +00:00
fbarchard@google.com
f2c86d01cc SSSE3 version using pshufb for ARGBAttenuateRow_SSSE3
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/490011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@243 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 19:12:41 +00:00
fbarchard@google.com
8ed54222e7 Attenuation ported to SSE2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/485009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@242 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 17:07:07 +00:00
fbarchard@google.com
96af870c8a Port Blend SSSE3 to gcc
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/491001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@239 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-06 18:22:27 +00:00
fbarchard@google.com
4d3bd8343b unaligned sse4 djb2 cleanup
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/486001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@238 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-06 00:27:09 +00:00
fbarchard@google.com
c5d44a0c5e cpuid add sse41 and x86
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/485001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@236 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 20:39:42 +00:00
fbarchard@google.com
d2f4413d29 Remove old alpha blend, expose GetARGB2Blend, fix ComputeSumSquareErrorPlane on SSE2
BUG=29
TEST=none
Review URL: https://webrtc-codereview.appspot.com/469005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@234 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-04 21:53:27 +00:00
fbarchard@google.com
c757f308ea Alpha blend 2 sources and store to a destination. Useful for A under B blending.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/472005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@233 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-03 00:49:16 +00:00
fbarchard@google.com
952a507ca6 I420ToARGB without row buffer faster and unlimited in size. Uses SSSE3 unaligned for multiples of 8 and C for remainder
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/470001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@232 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-30 18:10:50 +00:00
fbarchard@google.com
5b22506b14 With an asm() away lint, this cleans up most remaining issues.
BUG=none
TEST=lint filename
Review URL: https://webrtc-codereview.appspot.com/464001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@230 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 02:19:26 +00:00
fbarchard@google.com
299c97412c Blend SSSE3 for Win32 but not Win64
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/461008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@226 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 02:09:40 +00:00
fbarchard@google.com
8670b1ae04 SSSE3 version of alpha blender does pshufb instead of shift and 2 pshufw.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@219 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-19 16:50:03 +00:00
fbarchard@google.com
91ab139558 inline version of alpha blend
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/446006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@216 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-15 19:40:07 +00:00
fbarchard@google.com
ba3aeed3b8 gcc port of alpha blend and add align to row_win loops
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/439006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@207 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 18:24:51 +00:00
fbarchard@google.com
fe9f4ad808 alphablend test for opaque and transparent
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/436005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@205 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 02:43:18 +00:00
fbarchard@google.com
965fb914ea alpha blend argb into argb
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/428009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@203 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-06 18:49:39 +00:00
fbarchard@google.com
16a96645b4 splituv and mirroruv in row use 2 pixels at a time in C
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/432006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@201 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-02 22:38:09 +00:00
fbarchard@google.com
0b9a65b0dc CopyRow_Neon reimplemented with vldm
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/412001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@190 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-24 21:17:17 +00:00
fbarchard@google.com
aaf5f675b3 copyrow for neon but not thumb for cros
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/408004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@189 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-24 10:58:45 +00:00
fbarchard@google.com
f1b6063f50 port rgb to posix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/395010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@176 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-17 19:27:20 +00:00
fbarchard@google.com
19932f8dbc CopyRow instead of memcpy for copying planes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/396008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@175 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-16 22:19:14 +00:00
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
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
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
b5b27d131a ARGBToYUV with sse3 on any size/alignment
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/366011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@161 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-28 08:44:35 +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
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
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
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