230 Commits

Author SHA1 Message Date
fbarchard@google.com
4ae6b46ce1 Add SSE42 and AVX detect
BUG=none
TEST=libyuvTest.TestCpuHas
Review URL: https://webrtc-codereview.appspot.com/607006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@271 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-30 03:02:52 +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
600587d1f0 Change scale 3/8 to use scratch registers for constants
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/576011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@267 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-15 05:41:56 +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
f368565b95 cleanup ScaleRowDown8Int_SSE2 and other simple gcc versions
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/581004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@265 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-10 00:01:03 +00:00
fbarchard@google.com
68caaed871 Port Even ARGBScale to gcc
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/566010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@264 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 22:52:23 +00:00
fbarchard@google.com
c7bd1dbea6 remove extra lea on gcc libyuv scale
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/562007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@263 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 21:55:02 +00:00
fbarchard@google.com
ca4749dd4d Scale Even sizes
BUG=none
TEST=build\release\libyuv_unittest.exe  --gtest_catch_exceptions=0 --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/570005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@262 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 20:27:10 +00:00
fbarchard@google.com
2e786a73ce Filter Rows in C fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/564005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@261 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 02:33:58 +00:00
fbarchard@google.com
8b14c5c4e4 Rewrite filtering for benefit of Mac as a single ASM block. Builds both 32 and 64 bit.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/577004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@260 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-09 00:41:13 +00:00
fbarchard@google.com
0b0e91792f libyuv::CpuId as function to reduce header dependencies
BUG=none
TEST=libyuv_unittest.exe  --gtest_catch_exceptions=0 --gtest_filter=*Cpu*
Review URL: https://webrtc-codereview.appspot.com/566007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@259 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-08 02:04:22 +00:00
fbarchard@google.com
d05ec087d9 expose __cpuid for gcc/visual c compatibility
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/574004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@258 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-07 22:36:39 +00:00
fbarchard@google.com
0e0815617b Disable ARGB scaling on gcc 32 bit to avoid running out of GPR registers
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/563006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@257 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-07 22:33:51 +00:00
fbarchard@google.com
4e6c1fd42a scale_argb module for point and bilinear scaling of ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/549004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@256 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-03 06:17:44 +00:00
fbarchard@google.com
5bf29b59db p2align all loops, copy stride to local for scale, and copy last byte in bilinear more efficiently
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/547007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@255 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-02 00:10:16 +00:00
fbarchard@google.com
f906ae1360 scale to half size handle unaligned memory
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/543006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@254 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-05-01 00:30:51 +00:00
fbarchard@google.com
87e2390fd8 YUY2 directly to ARGB.
BUG=31
TEST=none
Review URL: https://webrtc-codereview.appspot.com/537003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@253 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-27 20:14:09 +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
ebe9ae9b21 scale unrolled to 2 pixels for C code
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/520001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@249 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-24 06:01:18 +00:00
fbarchard@google.com
85ebc8e20b HashDjb2_SSE41 ported to gcc. gcc 4.5 required for pmulld instruction.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/506002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@248 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-23 20:09:35 +00:00
fbarchard@google.com
c428470315 Scale fix for Neon
BUG=19
TEST=none
Review URL: https://webrtc-codereview.appspot.com/504002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@247 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-22 15:00:50 +00:00
fbarchard@google.com
5e642d0ea7 Neon constants need address of not value
BUG=19
TEST=none
Review URL: https://webrtc-codereview.appspot.com/510002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@246 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-21 01:04:46 +00:00
fbarchard@google.com
4660679ff3 fix missing asm and version
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/508003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@245 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-20 23:30:51 +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
f86ba32b9d Unattenuate using a reciprocal
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/487006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@241 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-18 00:35:55 +00:00
fbarchard@google.com
829e7ea402 ARGBAttenuate and ARGBUnattenuate for converting to/from attentuated ARGB
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/490008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@240 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-17 00:49:28 +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
ddf9051bd9 DJB2 hash with SSE4 pmulld
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/484002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@237 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 20:44:03 +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
1702ec78f8 use movdqu on 2nd source for blend
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/479001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@235 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-05 01:15:12 +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
f3fb7b6920 Lint cleanup for Neon and Visual C inline.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/464002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@231 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-29 23:19:34 +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
427f966645 fix const correctness on mjpeg
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/463003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@229 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 20:03:01 +00:00
fbarchard@google.com
8647dd755e Pointer has * attached to type for consistency and lint
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/463002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@228 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 19:38:06 +00:00
fbarchard@google.com
0945c57874 Rotate by 180 in place.
BUG=18
TEST=none
Review URL: https://webrtc-codereview.appspot.com/456010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@227 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-28 02:58: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
e2a55aff59 JPEG use new/delete instead of scoped pointer
BUG=none
TEST=jpeg still runs ok
Review URL: https://webrtc-codereview.appspot.com/456006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@225 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-27 21:28:05 +00:00
fbarchard@google.com
74b50f1b89 Expose scale plane function
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/459009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@224 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-27 02:09:03 +00:00
fbarchard@google.com
4f59bcc102 planarfunction build/lint fixes
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/460008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@223 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-26 17:11:27 +00:00
fbarchard@google.com
e14b2abba4 small count
Review URL: https://webrtc-codereview.appspot.com/460007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@222 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-26 16:15:15 +00:00