264 Commits

Author SHA1 Message Date
fbarchard@google.com
d33bf86b25 CopyRow_AVX which supports unaligned pointers for Sandy Bridge CPU.
BUG=363
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToARGB_*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1097 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-09-29 23:53:18 +00:00
fbarchard@google.com
a9ff15b7bb check copy has different address. If same, skip the copy to avoid valgrind error.
BUG=334
TESTED=unittests still pass
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1011 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-06-11 00:16:59 +00:00
fbarchard@google.com
b18413e568 YUV scaling with 16 bit planes
BUG=331
TESTED=libyuv_unittest --gunit_also_run_disabled_tests --gtest_filter=**.ScaleFrom1280x720*
R=debargha@google.com, tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1005 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-05-20 19:22:30 +00:00
fbarchard@google.com
70bc4995a0 Planarfunctions (mainly effects) converted to C89/VisualC.
BUG=303
TESTED=cl /c /TC /Iinclude source/planar_functions.cc
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@965 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-13 18:56:25 +00:00
fbarchard@google.com
1f923e3ea6 Declare parameters that are unused, since C does not let you give a type without name.
BUG=303
TEST=compile -x c

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@954 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-07 05:42:27 +00:00
fbarchard@google.com
a1f5254a95 Switch to c style casts for all source and includes.
BUG=303
TESTED=try
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@952 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-07 03:03:00 +00:00
fbarchard@google.com
a12284b906 sobel use one alloc instead of 3.
BUG=300
TESTED=try bots
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@931 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-30 18:39:43 +00:00
fbarchard@google.com
49db7b7e4a Add edge to sobel buffers to avoid overwrites.
BUG=296
TESTED=Sobel unittest in Effects
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@930 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 22:54:51 +00:00
fbarchard@google.com
d9c9f37ac4 Conversions use malloc for row buffers.
BUG=296
TESTED=libyuv convert_test
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@928 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 02:00:30 +00:00
fbarchard@google.com
b2a51d042d Sobel use malloc for row buffers
BUG=296
TESTED=Sobel*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@927 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 01:29:14 +00:00
fbarchard@google.com
aae7deb5cf yuv use scale slope calc
BUG=none
TEST=drmem
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@899 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-07 00:55:23 +00:00
fbarchard@google.com
ba0eab9366 Reduce blur radius based on width. And Makefile clean remove temp files.
BUG=none
TEST=Blur*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@858 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-18 19:18:15 +00:00
fbarchard@google.com
6368c10c9c Add __declspec(safebuffers) to functions with arrays on stack that have explicit checks to avoid a redundent compiler stack check.
BUG=none
TEST=unitests pass
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@837 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-01 21:27:31 +00:00
fbarchard@google.com
11a0d48e45 pass parameter for yuv conversion
BUG=267
TEST=Luma
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@834 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-31 05:47:13 +00:00
fbarchard@google.com
6f7e514caa Full metal BCS
BUG=none
TEST=Luma* unittest
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@828 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-28 17:10:49 +00:00
fbarchard@google.com
08b24a4232 Bayer GG specialized version for Sobel
BUG=none
TEST=Sobel
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@826 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-25 07:39:43 +00:00
fbarchard@google.com
092099507e Sobel using max to get abs for SSE2
BUG=none
TEST=none
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@824 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-23 00:51:52 +00:00
fbarchard@google.com
38157bdc71 Change Attenuate and Unattenuate to unaligned memory ops.
BUG=279
TEST=ARGBAttenuate_Unaligned
R=nfullagar@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@821 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 21:44:23 +00:00
fbarchard@google.com
095f33d870 Coalesce rows by changing width/height and dropping into code instead of recursing. Improve coalesce by setting stride to 0 so it can be used even on odd width images. Reduce unittests to improve time to run emulators.
BUG=277
TEST=unittests all build and pass
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@819 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 19:29:10 +00:00
fbarchard@google.com
8be4b289c7 ARGBSobelToPlane which produces a planar output.
BUG=none
TEST=none
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@818 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-21 18:39:07 +00:00
fbarchard@google.com
adef267edf CopyYToAlpha to copy from a plane to alpha channel of ARGB
BUG=275
TESTED=untested
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@814 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-17 07:32:16 +00:00
fbarchard@google.com
3075de8285 Use simple masking for AVX2 version of CopyAlpha so it can be implemented using a more generic bit mask function in future, and use more broadly known and optimized opcodes that will always be fast. Same performance as vblend.
BUG=none
TEST=CopyAlpha*
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@813 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-15 00:32:29 +00:00
fbarchard@google.com
f6631bb814 CopyAlpha AVX2
BUG=none
TEST=Alpha*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@812 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-14 19:37:21 +00:00
fbarchard@google.com
7f67961ec5 ARGBCopyAlpha for effects
BUG=none
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@810 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-12 22:27:37 +00:00
fbarchard@google.com
212a1a5000 ARGBShuffle_SSE2 for lower end CPUs
BUG=271
TESTED=out\release\libyuv_unittest --gtest_filter=**R*ToARGB*
R=johannkoenig@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@807 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-05 04:17:50 +00:00
fbarchard@google.com
c99db063e2 Change ARGBColorMatrix to a 4x4.
BUG=none
TEST=planar_unitest updates
R=johannkoenig@google.com, ryanpetrie@google.com, thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@805 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-01 01:27:30 +00:00
fbarchard@google.com
b99bcab7f7 ARGBShuffle_AVX2 for speed up end swapping for Chrome/Java.
BUG=271
TESTED=ARGBShuffle unittest
R=mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@804 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-30 07:47:59 +00:00
fbarchard@google.com
2732591d46 Limit sobel maximum width to stride - kEdge
BUG=none
TEST=drmemory

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@801 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 19:56:29 +00:00
fbarchard@google.com
a927c6fb87 DrMemory fix for Sobel overread.
BUG=262
TESTED=Sobel* unittests re-enabled.

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@800 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-24 11:10:22 +00:00
fbarchard@google.com
afd1d6b4ec Fix 2 bugs with Luma scale
BUG=267
TEST=luma unittest improved
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@794 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-20 01:00:54 +00:00
fbarchard@google.com
7a0d01ef8b Luma Table optimized for SSSE3
BUG=267
TESTED=lUMA unittest
R=jingning@google.com, nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@793 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-19 17:55:54 +00:00
fbarchard@google.com
2bbb64df2c FMA3 version of Polynomial
BUG=265
TEST=cpuid and Polynomial unittest
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@790 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-16 16:42:19 +00:00
fbarchard@google.com
b38b73d88c ARGBLumaColorTable function.
BUG=267
TEST=Luma*
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@783 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 20:34:09 +00:00
fbarchard@google.com
c3c06ec328 polynomial sse2 do 2 pixels at a time.
BUG=265
TEST=*Poly*
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@782 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-10 08:16:06 +00:00
fbarchard@google.com
6da76f3b34 AVX version of Polynomial
BUG=265
TEST=untested
R=thorcarpenter@google.com, yunqingwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@780 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-07 07:05:06 +00:00
fbarchard@google.com
ae0091e3a7 ARGBPolynomial for applying a 3 term polynomial matrix to pixels.
BUG=265
TEST=ARGBPolynomial
R=thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@778 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 19:20:47 +00:00
fbarchard@google.com
2154de414c Port InterpolateRows to AVX2
BUG=264
TEST=ARGBInterpolate*
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@777 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 07:18:21 +00:00
fbarchard@google.com
c4a70492c0 blur unittest and fix for negative height
BUG=256
TEST=*Blur*
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@757 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 16:16:39 +00:00
fbarchard@google.com
5520710ef7 Add RGBColorTable which is like ARGBColorTable but only does first 3 channels.
BUG=none
TEST=none
R=dingkai@google.com, thorcarpenter@google.com, wuwang@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@739 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-07-24 21:35:57 +00:00
fbarchard@google.com
37c0e648d2 Fix crash on wide images
BUG=239
TEST=LIBYUV_WIDTH=10000 out\release\libyuv_unittest
R=changjun.yang@intel.com, johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@712 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-31 16:55:27 +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
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
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
c56a55fc72 Sobel and SobelXY Neon port. Improved Bayer - did 8 at time version, and specialized G channel version.
BUG=201
TEST=libyuvTest.TestSobel and libyuvTest.TestSobelXY
Review URL: https://webrtc-codereview.appspot.com/1279006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@642 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 18:33:44 +00:00
fbarchard@google.com
9b4c00b908 Move vzeroupper to row functions to simplify caller and allow mix of avx2 and sse2. Impact reduced by row coalescing.
BUG=none
TEST=all tests pass with sde
Review URL: https://webrtc-codereview.appspot.com/1269009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@641 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-04 05:54:59 +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
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
c93a137671 Replace Add+YToARGB with SobelRow
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1217005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@611 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 23:51:09 +00:00
fbarchard@google.com
610e012d56 SobelXY which returns Sobel X, Sobel Y and Sobel as RGB values.
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1210006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@610 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 22:24:06 +00:00
fbarchard@google.com
1e985bbc16 ARGBSobel
BUG=201
TEST=Sobel*
Review URL: https://webrtc-codereview.appspot.com/1221005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@609 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-19 19:23:44 +00:00
fbarchard@google.com
518833b983 Fix RGB565ToARGB_Any which uses SSE2 that requires ARGB alignment. Add row coalescing to convert_argb.cc. Improve coalescing on planar_functions.cc and convert_from_argb.cc. Use stride * 2 == width to test for even width. Apply coalescing to all functions that have same vertical subsampling.
BUG=197
TESTED=libyuv unittest passes where _Opt uses row coalescing.
Review URL: https://webrtc-codereview.appspot.com/1186004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@601 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-12 21:44:56 +00:00
fbarchard@google.com
11a524362d Coalesce rows
BUG=197
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToI400*
Review URL: https://webrtc-codereview.appspot.com/1176004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@598 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-11 18:51:25 +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
51398e0be5 ARGBMirror AVX2
BUG=none
TEST=out\release\libyuv_unittest --gtest_filter=*ARGBMirror*
Review URL: https://webrtc-codereview.appspot.com/1159005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@594 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-06 00:57:48 +00:00
fbarchard@google.com
2007dca6dc Mirror
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1162005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@592 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-05 22:40:55 +00:00
fbarchard@google.com
51d3e236cb AVX2 math functions for images
BUG=none
TEST=ARGBMultiply ARGBAdd and ARGBSubtract unittests.
Review URL: https://webrtc-codereview.appspot.com/1146006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@588 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-04 21:50:23 +00:00
fbarchard@google.com
c0d9c34690 Attenuate and Unattenuate Any variations for sse2, sss3 and avx2
BUG=190
TESTED=out\release\libyuv_unittest --gtest_filter=*Unatt*
Review URL: https://webrtc-codereview.appspot.com/1121005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@579 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-21 00:55:47 +00:00
fbarchard@google.com
3c7bb050bd Unattenuate AVX2
BUG=190
TEST=planar_test
Review URL: https://webrtc-codereview.appspot.com/1112004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@577 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-20 22:18:36 +00:00
fbarchard@google.com
d5ee3dc912 AVX2 Attenuate
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1101014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@576 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-19 12:26:13 +00:00
fbarchard@google.com
a00da62e52 Add I422Copy and I444Copy
BUG=none
TEST=I422ToI422 and I444ToI444
Review URL: https://webrtc-codereview.appspot.com/1103009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@570 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-11 22:00:24 +00:00
fbarchard@google.com
b444bae883 ARGBToI400 and ARGBToI411 using AVX2. YUY2ToI420 and UVYVToI420 use AVX2. CopyPlane use rep movsb for AVX2. CopyPlane2 use rep movsb for AVX2 and CopyPlane if strides match AVX2, which will do a single rep movsb for entire image if stride == width. MergeUV for I420ToNV12.
BUG=181
TESTED=unittests pass
Review URL: https://webrtc-codereview.appspot.com/1103007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@569 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-11 20:30:41 +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
8811289be7 Interpolate ported to SSE2
BUG=177
TEST=out\release\libyuv_unittest --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/1060006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@549 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-22 19:16:07 +00:00
fbarchard@google.com
5b0f7e1132 Neon port of ARGBAdd and ARGBMultiply
BUG=175
TEST=out\release\libyuv_unittest --gtest_filter=*Add*
Review URL: https://webrtc-codereview.appspot.com/1051005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@545 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-21 08:42:59 +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
ba45bbff34 CopyPlane check for contiguous memory and treat image as width * height, 1 image.
BUG=176
TEST=I420ToI420
Review URL: https://webrtc-codereview.appspot.com/1021014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@538 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-16 02:03:22 +00:00
fbarchard@google.com
9780dd4e81 Remove V210. Quality of this code is insufficient for libyuv. Unable to make V210 pass valgrind. Would require effort to add missing support and optimization.
BUG=91
TEST=valgrind
Review URL: https://webrtc-codereview.appspot.com/1021009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@536 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-11 23:42:00 +00:00
fbarchard@google.com
734787584d I420ToV210 unittest enable
BUG=91
TEST=valgrind on unittests
Review URL: https://webrtc-codereview.appspot.com/1029009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@535 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-11 19:41:40 +00:00
fbarchard@google.com
442b0ad0ac Call CanonicalCode in convert functions and add unittest for function.
BUG=none
TEST=video_common_test added
Review URL: https://webrtc-codereview.appspot.com/1001007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@521 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-18 17:23:15 +00:00
fbarchard@google.com
62154e53a2 Color Matrix for Neon
BUG=176
TESTED=*Matrix*
Review URL: https://webrtc-codereview.appspot.com/966033

git-svn-id: http://libyuv.googlecode.com/svn/trunk@512 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-04 01:05:28 +00:00
fbarchard@google.com
c247625d7f Sepia NEON
BUG=167
TEST=*Sepia
Review URL: https://webrtc-codereview.appspot.com/968014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@511 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-04 00:08:35 +00:00
fbarchard@google.com
82375d6de2 Neon version of Gray
BUG=176
TEST=./libyuv_unittest --gtest_filter=**Gray*
Review URL: https://webrtc-codereview.appspot.com/929039

git-svn-id: http://libyuv.googlecode.com/svn/trunk@510 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-03 23:33:00 +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
ef60ab0db4 Quantize for Neon
BUG=167
TEST=./libyuv_unittest --gtest_filter=*Quantize
Review URL: https://webrtc-codereview.appspot.com/972010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@508 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-12-03 08:15:31 +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
8f506332af ARGBBlend_NEON
BUG=161
TEST=planar test
Review URL: https://webrtc-codereview.appspot.com/939022

git-svn-id: http://libyuv.googlecode.com/svn/trunk@499 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 20:49:39 +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
3e46444727 Mirror source to continuous destination with Neon
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/937020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@488 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-14 02:03:49 +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
9f2d404145 Neon 1 step conversion of NV12 to RGB565
BUG=136
TEST=unittest on nv12
Review URL: https://webrtc-codereview.appspot.com/939011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@461 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-31 18:36:28 +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
6c1b2d38c6 Mips port of libyuv. Includes functionality for convert, rotate, scale and memcpy.
BUG=126
TESTED=tested by mips
Review URL: https://webrtc-codereview.appspot.com/930005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@449 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-26 22:49:18 +00:00
fbarchard@google.com
6bb9f53f4f Adding I400Mirror allows unittesting of YUV mirroring
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/928008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@446 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-25 20:34:42 +00:00
fbarchard@google.com
62a961bee7 Neon version of I420ToNV12 and I420ToNV21. NV21ToI420 added as function. CopyRow changed to vld4.8 to allow unaligned copy.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/922005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@435 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 17:24:50 +00:00
fbarchard@google.com
c7277d08e8 Add convert_from_argb.h for all conversion functions from ARGB to something else.
BUG=none
TEST=convert_test
Review URL: https://webrtc-codereview.appspot.com/857014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@408 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-11 23:10:53 +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
6b5a8efff7 I400 invert support which fixes a valgrind bug
BUG=117
TEST=I400ToI400Invert_OptVsC
Review URL: https://webrtc-codereview.appspot.com/859010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@398 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 02:49:59 +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
cad0ad303c I422ToRGBA, I422ToBGRA and I422ToABGR.
BUG=73
TEST=I422ToRGBA_OptVsC
Review URL: https://webrtc-codereview.appspot.com/819008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@372 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-23 15:37:39 +00:00
fbarchard@google.com
dddf94c343 YUY2 and UYVY conversions to I420 ported to NEON
BUG=64
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/823007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@371 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-21 17:54:23 +00:00
fbarchard@google.com
5808cb22ce Neon optimized RAW (RGB big endian)
BUG=68
TEST=unittest on try bot
Review URL: https://webrtc-codereview.appspot.com/819005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@368 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-20 05:05:33 +00:00
fbarchard@google.com
64961c01b2 ARGBToRGBA_NEON and ARGBToRGB24_NEON
BUG=68
TEST=none
Review URL: https://webrtc-codereview.appspot.com/816004

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