95 Commits

Author SHA1 Message Date
fbarchard@google.com
827de16bb1 I422ToRGB24Row_SSSE3 in 1 pass. Internally converts to ARGB then packs down to RGB.
BUG=116
TEST=libyuv unittest
Review URL: https://webrtc-codereview.appspot.com/863013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@399 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 03:48:26 +00:00
fbarchard@google.com
64ce0ab544 Move Neon source to its own files.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/860009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@396 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 00:05:29 +00:00
fbarchard@google.com
fc7314e86b Add exports to allow libyuv to be built as a shared lib.
BUG=99
TEST=shared lib builds without impact and unittests link against import lib.
Review URL: https://webrtc-codereview.appspot.com/844005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@379 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-27 02:17:51 +00:00
fbarchard@google.com
aa4750f86d Move sub before store to avoid wait on core2.
BUG=101
TEST=none
Review URL: https://webrtc-codereview.appspot.com/846006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@377 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-26 17:04:51 +00:00
fbarchard@google.com
142f6c4ed5 Move row.h to include and remove rotate_priv.h
BUG=93
TESTED=try server
Review URL: https://webrtc-codereview.appspot.com/811004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@360 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 20:56:51 +00:00
fbarchard@google.com
25dc05858e RGBAToI420_SSSE3 and I420ToRGBA_SSSE3 implemented.
BUG=78
TESTED=gcl lint
Review URL: https://webrtc-codereview.appspot.com/796009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@359 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 05:35:30 +00:00
fbarchard@google.com
9bcc9a2535 ARGBInterpolateRow_SSSE3 for motion blur. Used to use bilinear row filter, which extrudes edges. This branches off the code so the extrude can be removed for Interpolate.
BUG=none
TEST=build\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/786007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@354 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-16 05:00:37 +00:00
fbarchard@google.com
a2cc341b6c ARGBToRGBA implemented as alias
BUG=78
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/788009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@353 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-14 18:09:41 +00:00
fbarchard@google.com
b8eabfea64 RGBAToARGB conversion. SSSE3 optimized.
BUG=78
TEST=RGBA unittests
Review URL: https://webrtc-codereview.appspot.com/788008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@351 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-14 06:59:31 +00:00
fbarchard@google.com
c704f789e9 YUY2ToARGB and UYVYToARGB use specialized row functions that do not subsample.
BUG=76
TEST=unittests for YUY2ToARGB and UYVYToARGB
Review URL: https://webrtc-codereview.appspot.com/763006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@334 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 19:53:48 +00:00
fbarchard@google.com
f877e71995 Alpha blend test alignment of source pointer and use movdqa aligned fetches.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/714010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@321 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 00:51:24 +00:00
fbarchard@google.com
e3cc76943e 4 pixel version of affine for gcc and aligned version of win.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/714007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@320 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-10 20:41:27 +00:00
fbarchard@google.com
845e94d1a7 Affine do 4 pixels at a time.
BUG=none
TEST=affine unitest
Review URL: https://webrtc-codereview.appspot.com/729005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@319 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-10 03:48:21 +00:00
fbarchard@google.com
b0c9797589 Update Copyright notice to follow new chromium conventions.
BUG=63
TEST=none
Review URL: https://webrtc-codereview.appspot.com/730004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@314 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 19:04:24 +00:00
fbarchard@google.com
864f828a01 ARGBAffineRow_SSE2 function to copy pixels from a source with slope to a row of destination.
BUG=60
TEST=none
Review URL: https://webrtc-codereview.appspot.com/727004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@313 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-08 18:10:15 +00:00
fbarchard@google.com
eeac2903ef ARGBGrayTo takes source and destination pointers so caller does not need to make a copy of the image.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/696004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@308 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-18 18:54:32 +00:00
fbarchard@google.com
c0d6dee4f3 Fix for ARGBColorTable x86 assembly. Sav
BUG=51
TEST=TestARGBColorTable
Review URL: https://webrtc-codereview.appspot.com/667011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@307 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-18 17:58:30 +00:00
fbarchard@google.com
c4c578e327 Flat shade an ARGB image
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/683004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@298 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-10 23:44:29 +00:00
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
8f439eac1d ARGBColorMatrixRow_SSSE3 use signed psraw instead of psrlw before doing pack
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/652009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@291 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-21 02:00:34 +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
794fe1236a alpha blend 4 pixel loop bug fix and blender C code match SSE for better testability and reference code for future optimized code.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/645008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@287 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-15 01:05:01 +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
f38aefef4b Blur use circular buffer of Cumulative Sums instead of full frame for better cache coherency.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/646008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@283 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-12 00:29:29 +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
4c416e8849 Fix for I444ToARGBRow_Unaligned_SSSE3, I422ToARGBRow_Unaligned_SSSE3, I411ToARGBRow_Unaligned_SSSE3 on Windows using movdqu instead of movdqa. break YUVTORGB into 2 macros - one to fetch pixels, another to do YUV conversion. Less duplicated source and lends itself to future YUV formats.
BUG=none
TEST=WebRtcVideoFrameTest.ConvertToARGBBufferStride
Review URL: https://webrtc-codereview.appspot.com/644004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@279 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-05 15:48:07 +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
6d6b7709f7 Fix RGB565ToARGB_SSE2. Expose rgb conversions. Low levels were already there for i420 to rgb, but rgb to rgb functions were not exposed. Added unittests.
BUG=none
TEST=planar unittests
Review URL: https://webrtc-codereview.appspot.com/632004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@276 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-04 15:29:15 +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
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
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
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
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
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
fbarchard@google.com
2b9c210803 lint fix test
BUG=none
TEST=gcl lint lintfix2
Review URL: https://webrtc-codereview.appspot.com/458003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@220 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-22 22:36:44 +00:00