199 Commits

Author SHA1 Message Date
nfullagar@google.com
22402bfa6f Support string instructions for NaCl
BUG=253
TEST=validator
R=fbarchard@google.com

Review URL: https://webrtc-codereview.appspot.com/1990004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@750 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-08 00:26:20 +00:00
fbarchard@google.com
e64c236250 Fix for Nacl version of blur
BUG=253
TEST=none
R=nfullagar@google.com

Review URL: https://webrtc-codereview.appspot.com/1987004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@749 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-07 21:18:01 +00:00
fbarchard@google.com
9335518f41 Port some of the conversion routines to nacl
BUG=253
TEST=validator
R=nfullagar@google.com, ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1983004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@748 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-07 20:29:18 +00:00
fbarchard@google.com
b8ffdc9e57 ColorMatrix and friends ported to NaCL
BUG=253
TESTED=ncval_x86_64.exe newlib/Release/nacltest_x86_64.nexe
R=nfullagar@chromium.org

Review URL: https://webrtc-codereview.appspot.com/1981004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@747 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 22:27:01 +00:00
fbarchard@google.com
abfeea9b81 Math functions - add, substract, multiply and shade adapted to nacl friendly addressing.
BUG=253
TEST=out\release\libyuv_unittest --gtest_filter=*Add*
R=dingkai@google.com, nfullagar@chromium.org

Review URL: https://webrtc-codereview.appspot.com/1972004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@746 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 20:47:18 +00:00
fbarchard@google.com
008ecea4fe NaCL port of Attenuate
BUG=253
TEST=out\release\libyuv_unittest --gtest_filter=*Attenuate*
R=nfullagar@chromium.org

Review URL: https://webrtc-codereview.appspot.com/1970004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@745 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 00:51:26 +00:00
fbarchard@google.com
f8a86cb095 Enable AlphaBlend SSSE3 code for NaCL
BUG=253
TESTED=validator
R=nfullagar@chromium.org, ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1968004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@744 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-06 00:08:01 +00:00
fbarchard@google.com
f2aa91a1ac replace static const with static to avoid internal compiler error with gcc
BUG=258
TEST=try bots
R=johannkoenig@google.com

Review URL: https://webrtc-codereview.appspot.com/1944004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@743 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-02 17:48:24 +00:00
fbarchard@google.com
595c2427e8 Simple FixedDiv that does integer divide instruction with 64 bit dividend and 32 bit divisor to produce 32 bit result.
BUG=250
TEST=math_test
R=dingkai@google.com

Review URL: https://webrtc-codereview.appspot.com/1681006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@736 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 22:08:16 +00:00
fbarchard@google.com
e5d3e10ee8 Add rounding to FixedDiv
BUG=250
TEST=unittest more exact
R=dingkai@google.com, ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1681005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@735 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 20:37:14 +00:00
fbarchard@google.com
c9f0d966ed FixedDiv port to gcc
BUG=250
TEST=*Div*
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1682005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@733 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 18:58:33 +00:00
fbarchard@google.com
97c9626107 Test yuv scaler with scale factor of 1
BUG=none
TEST=ScaleDownBy1
R=gangji@google.com

Review URL: https://webrtc-codereview.appspot.com/1592004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@715 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-03 15:09:58 +00:00
fbarchard@google.com
b911428afd Adapt row interpolator to do YUV as well as ARGB without extrude so it can be used in I420Scale.
BUG=237
TEST=Scale*
R=ryanpetrie@google.com

Review URL: https://webrtc-codereview.appspot.com/1587004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@710 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 23:42:27 +00:00
fbarchard@google.com
e24ba5cefa Fix for llvm GPR register usage
BUG=222
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1326010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@674 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-23 01:06:04 +00:00
fbarchard@google.com
bb92acade0 Unaligned math effects.
BUG=none
TEST=Add*
Review URL: https://webrtc-codereview.appspot.com/1345004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@670 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-19 18:10:38 +00:00
fbarchard@google.com
75a5403e9e llvm -O0 -fpic 32 bit runs out of registers. Extend the apple fix to llvm.
BUG=none
TEST=none

Review URL: https://webrtc-codereview.appspot.com/1320005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@666 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 23:21:48 +00:00
fbarchard@google.com
cd6056c01c InterpolateAny for unaligned and odd width interpolate. To be used in ARGBScaler in future.
BUG=208
TEST=ARGBInterpolate255_Unaligned
Review URL: https://webrtc-codereview.appspot.com/1324004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@662 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 03:05:08 +00:00
fbarchard@google.com
aa7988ff73 Enhanced Rep Mov String version of CopyRow for posix and use cpu detect for ERMS
BUG=213
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1306008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@658 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-12 00:44:33 +00:00
fbarchard@google.com
55c20a861e Fix movdqu in yuy2
BUG=none
TEST=ToYUY2*
Review URL: https://webrtc-codereview.appspot.com/1271005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@634 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 22:03:49 +00:00
fbarchard@google.com
f8e9017685 switch toyuy2 from aligned to unaligned
BUG=211
TESTED=ToYUY2*
Review URL: https://webrtc-codereview.appspot.com/1274005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@633 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-02 21:18:12 +00:00
fbarchard@google.com
050b39a5cb Recomputed JPeg coefficients normalized to 128. Apply to ARGBGray function reusing YJ function/coefficients and rounding.
BUG=201
TESTED=Gray unittest improved
Review URL: https://webrtc-codereview.appspot.com/1269006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@629 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-01 20:07:14 +00:00
fbarchard@google.com
4e0d7cc2c6 Y coefficients for J420 need to be scaled by 255/219 to full range.
BUG=159
TESTED=out\release\libyuv_unittest --gtest_filter=*J*
Review URL: https://webrtc-codereview.appspot.com/1264004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@624 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-27 07:35:03 +00:00
fbarchard@google.com
cfaa66c041 ARGBToJ420 and ARGBToJ400 - Full range YUV Jpeg style.
BUG=159
TEST=*J4*
Review URL: https://webrtc-codereview.appspot.com/1243004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@622 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-26 09:14:46 +00:00
fbarchard@google.com
9d48df9ac4 Sobel port to posix. Improved unittest for C version.
BUG=201
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1242004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@619 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-24 20:12:25 +00:00
fbarchard@google.com
a3be470426 quick fix for sobel compile error
BUG=201
TESTED=out\release\libyuv_unittest --gtest_filter=*Sobel*
Review URL: https://webrtc-codereview.appspot.com/1226004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@615 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-22 05:20:02 +00:00
fbarchard@google.com
e8df16bd7c Sobel use G channel for consistency on all CPUs, better performance and full range of 0 to 255.
BUG=201
TESTED=out\release\libyuv_unittest --gtest_filter=*Sobel*
Review URL: https://webrtc-codereview.appspot.com/1225004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@614 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-22 04:47:14 +00:00
fbarchard@google.com
805fefb9d8 Unattenutate with work around for vpgatherdd on avx2
BUG=none
TEST=ARGBUnattenuate*
Review URL: https://webrtc-codereview.appspot.com/1183004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@599 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-12 01:59:48 +00:00
fbarchard@google.com
1096543eaa ARGBShuffle AVX2
BUG=196
TESTED=BGRAToARGB*
Review URL: https://webrtc-codereview.appspot.com/1171006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@596 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-08 23:22:32 +00:00
fbarchard@google.com
83a63e65a6 Change YUV_DISABLE_ASM to LIBYUV_DISABLE_NEON, LIBYUV_DISABLE_MIPS, LIBYUV_DISABLE_X86
BUG=189
TESTED=try
Review URL: https://webrtc-codereview.appspot.com/1113006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@582 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 00:20:29 +00:00
fbarchard@google.com
787f827663 Unattenuate multiply alpha by 1.
BUG=190
TESTED=planar_test
Review URL: https://webrtc-codereview.appspot.com/1114005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@578 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-21 00:08:56 +00:00
fbarchard@google.com
d8b73cacbe fix ARGBToI444 UV code to use signed math
BUG=148
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToI444_Opt
Review URL: https://webrtc-codereview.appspot.com/1105008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@574 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-15 07:49:15 +00:00
fbarchard@google.com
af137b61fa Interpolate for SSE2 with specialization for 1/4, 1/2, 3/4 and 1
BUG=177
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1102004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@559 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-05 22:42:56 +00:00
fbarchard@google.com
762c050b65 ARGBToI444_SSSE3 port to gcc
BUG=148
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1091004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@557 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-04 18:47:21 +00:00
fbarchard@google.com
cde587092f Replace two spaces with one after .
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/1063010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@553 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:02:35 +00:00
fbarchard@google.com
573a883dd6 Subtract 2 images.
BUG=179
TEST=planar unittest
Review URL: https://webrtc-codereview.appspot.com/1073004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@551 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-24 23:08:12 +00:00
fbarchard@google.com
83e1b17cc0 Add 2 ARGB Images together and store to destination
BUG=175
TEST=Add unittest
Review URL: https://webrtc-codereview.appspot.com/1049004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@543 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-18 23:03:56 +00:00
fbarchard@google.com
8fa7634994 Blend style multiple
BUG=175
TEST=Multiply unittest
Review URL: https://webrtc-codereview.appspot.com/1048004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@542 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-18 02:25:04 +00:00
fbarchard@google.com
8ec6033478 ARGBMultiply 2 images together
BUG=175
TEST=Out\release\libyuv_unittest --gtest_filter=*Mult*
Review URL: https://webrtc-codereview.appspot.com/1043004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@541 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-17 20:18:08 +00:00
fbarchard@google.com
b94b139e86 Shade ported to Neon
BUG=167
TESTED=planar test Shade*
Review URL: https://webrtc-codereview.appspot.com/969014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@509 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-03 20:36:40 +00:00
fbarchard@google.com
1d160cb99f Attenuate AGRB pixels NEON optimized
BUG=164
TEST=./libyuv_unittest --gtest_filter=*Atten*
Review URL: https://webrtc-codereview.appspot.com/937031

git-svn-id: http://libyuv.googlecode.com/svn/trunk@506 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 20:02:55 +00:00
fbarchard@google.com
2580ccf64d Scale benchmark just the OPT and run C version once.
BUG=none
TEST=scale_test
Review URL: https://webrtc-codereview.appspot.com/929028

git-svn-id: http://libyuv.googlecode.com/svn/trunk@503 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 22:39:30 +00:00
fbarchard@google.com
b5491759b4 Neon optimized argb filter row for bilinear scale and Effects Interpolate.
BUG=none
TEST=./libyuv_unittest --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/964017

git-svn-id: http://libyuv.googlecode.com/svn/trunk@497 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 09:44:46 +00:00
fbarchard@google.com
f08ac6bb09 Rename row functions so they are all SomethingRow_CPU
BUG=133
TEST=still builds
Review URL: https://webrtc-codereview.appspot.com/939020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@491 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-15 00:21:14 +00:00
fbarchard@google.com
c1f17f1843 quick rename bug fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/935011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@474 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-06 02:38:45 +00:00
fbarchard@google.com
bdf7cb5914 RGB formats converted to YUV with Neon
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/936013

git-svn-id: http://libyuv.googlecode.com/svn/trunk@471 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-05 23:40:11 +00:00
fbarchard@google.com
30859f75f2 Neon YToARGB and fix SSE2 to match C version
BUG=none
TEST=YToARGB_Opt
Review URL: https://webrtc-codereview.appspot.com/966007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@466 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-02 09:51:29 +00:00
fbarchard@google.com
00b69a2fe6 I400ToARGB_Neon optimized
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/935010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@465 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-02 06:03:28 +00:00
fbarchard@google.com
dbcabea057 move rgb565 wrapper to common so it wont inline
BUG=137
TEST=hammer builds
Review URL: https://webrtc-codereview.appspot.com/930006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@455 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 21:20:25 +00:00
fbarchard@google.com
34d2344458 noinline attribute for apple
BUG=137
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/929010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@453 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 20:26:11 +00:00
fbarchard@google.com
15449263c4 NV12ToRGB565 use NV12ToARGB any row function
BUG=136
TEST=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*565* | grep ms
Review URL: https://webrtc-codereview.appspot.com/965004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@452 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-29 16:24:53 +00:00
fbarchard@google.com
e0d8648b6a MergeUV aligned and SplitUV cpu detect combined with width check.
BUG=none
TEST=libyuvTest.I420ToNV12_Any
Review URL: https://webrtc-codereview.appspot.com/937005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@451 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-27 19:07:55 +00:00
fbarchard@google.com
1dafd444ba MergeUV backport to SSE2
BUG=135
TESTED=unitest I420ToNV12
Review URL: https://webrtc-codereview.appspot.com/943006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@447 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-26 08:27:36 +00:00
fbarchard@google.com
db694edfc2 SplitUV_Any variations for all CPUS.
BUG=126
TEST=convert tests NV12 with alignments
Review URL: https://webrtc-codereview.appspot.com/896007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@426 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-17 21:54:04 +00:00
fbarchard@google.com
9de8867ab6 I422ToYUY2_NEON
BUG=none
TEST=convert_test *I422ToYUY2*
Review URL: https://webrtc-codereview.appspot.com/869008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@413 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-12 06:23:33 +00:00
fbarchard@google.com
4de0c439aa Enable SSE version of I420ToRAW/RGB24 for Linux/Mac/ChromeOS x86
BUG=116
TEST=xcodebuild/Release/libyuv_unittest --gtest_filter=*I420To*R*Opt
Review URL: https://webrtc-codereview.appspot.com/863015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@402 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 01:25:46 +00:00
fbarchard@google.com
8d37dd5c20 Any conversions fix for RGB 3 bytes. Fix for overread valgrind. Avoid memcpy. Add _Any unittests for all conversions.
BUG=121
TEST=./libyuv_unittest --gtest_filter=*Any
Review URL: https://webrtc-codereview.appspot.com/873010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@401 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 00:07:30 +00:00
fbarchard@google.com
e91bdaca36 Move HalfRow to row_win and port to row_neon
BUG=118
TEST=libyuvTest.I420ToI422_OptVsC (247 ms)
Review URL: https://webrtc-codereview.appspot.com/855012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@400 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 21:09:33 +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
6fd84a8a59 NV12 optimization turned back on now that unittest is fixed
BUG=55
TEST=unittest
Review URL: https://webrtc-codereview.appspot.com/813005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@366 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 07:35:45 +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
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
d4164fb01a Clean up posix build of YUY2
BUG=76
TEST=build on osx/linux
Review URL: https://webrtc-codereview.appspot.com/762006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@335 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 20:42:01 +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
41f24bf8ca Affine function in 64 bit Mac use movd instead of movq for xmm to gpr.
BUG=69
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/728011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@323 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-17 16:51:25 +00:00
fbarchard@google.com
f3181b3cf9 Fix aligned version of SSSE3 alpha blend and re-enable SSE2 alpha blend for performance evaluation on low end CPUs where pshufb is slow.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/728009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@322 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-15 18:57:18 +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
7344440fb2 AffineRow for GCC.
BUG=62
TEST=planar_unittest
Review URL: https://webrtc-codereview.appspot.com/733004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@317 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-09 17:33:29 +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
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
6398e1d4eb Port ARGBShade to Mac
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/679009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@299 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-11 19:12:32 +00:00
fbarchard@google.com
4d2cfd329a Change name of variable for mac because static cant be used so variables need to be unique.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/672006

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