259 Commits

Author SHA1 Message Date
fbarchard@google.com
8f0b32773c ARGBToUV AVX2 functions hooked up.
BUG=none
TESTED=RGB565ToI420
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1359 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-07 00:10:52 +00:00
fbarchard@google.com
44b6ba91e4 Scale down by 4 for odd number of destination pixels using 'any' that handles SIMD for multiple of 8 pixels, and C for the remainder.
BUG=314
TESTED=local test with width odd

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1355 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-03 22:12:53 +00:00
fbarchard@google.com
62a9fe303c code style cleanup of scale functions. no functional change.
BUG=none
TESTED=lint
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1354 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-04-02 21:23:52 +00:00
fbarchard@google.com
72673ac873 linear and point sample scale to half size for AVX2.
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1349 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-30 21:46:08 +00:00
fbarchard@google.com
e6ca9cc2a2 Scale down by 2 AVX2 port. Processes twice as many pixels as SSE2 and takes advantage of 3 argument instructions to reduce register usage and number of instructions.
BUG=314
TESTED=libyuvTest.ScaleDownBy2_Box
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1347 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-26 23:21:08 +00:00
fbarchard@google.com
d41fbf40dd Handle scale down by factor of 2 efficiently by calling SIMD for multiple of 16 destination pixels, and C for remainder.
BUG=314
TESTED=out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*.ScaleDownBy2*
R=bcornell@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1344 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-24 23:25:30 +00:00
yang.zhang@arm.com
d6d7de5742 Add ScaleFilterCols_NEON for ARM32/64
ARM32/64 NEON versions of ScaleFilterCols_NEON are implemented.

BUG=319
TESTED=libyuvTest.* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I5b0838769ffb0182155d7cd6bcc520eb81eb5c4e

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1340 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-19 03:55:05 +00:00
yang.zhang@arm.com
ca5b1bd58b Add ScaleAddRows_NEON for ARM32/64
ARM32/64 NEON versions of ScaleAddRows_NEON are implemented.

BUG=319
TESTED=libyuvTest.Scale* on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I45b88c2b5f576042ba5b3d8d6f8851257fdb7218

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1326 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-16 02:57:46 +00:00
fbarchard@google.com
1e4a14f410 scale avoid math overflow in fixed point for large images
BUG=410
TESTED=set LIBYUV_WIDTH=65536 out\release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=libyuvTest.ScaleTo320x240_None
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1320 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-10 22:30:47 +00:00
yang.zhang@arm.com
274c9bce92 Add ScaleRowDown2Linear_NEON for ARM32/64
ARM32/64 NEON versions of ScaleRowDown2Linear_NEON are implemented.

BUG=319
TESTED=libyuvTest.ScaleDownBy2_Linear on ARM32/64 with Android
R=fbarchard@google.com

Change-Id: I2c7f43a0d56ed4dfded5bdbbb61765d87d65a2ba

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1307 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-03 02:17:16 +00:00
fbarchard@google.com
9ed836b154 The 'Any' versions of functions can handle any width now, so remove the check from the calling code. This has 2 advantages - less code, and less overhead in calling function when any function is NOT used. Downside is more code for case where any is used.
BUG=373
TESTED=libyuv_unittest still passes
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1143 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-24 23:29:31 +00:00
fbarchard@google.com
f713691a6f Change elif to endif and if to allow AVX2 as well as SSE2 in future changes instead of one or the other.
BUG=none
TESTED=try bots
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1122 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-16 20:47:22 +00:00
fbarchard@google.com
ca308327d2 Remove unaligned functions, since most function support unaligned memory now. This reduces complexity and improves performance for unaligned cases because C code can be avoided, and overhead is less. Downside is old cpus (core2 and earlier) will be slower for aligned memory case. Except mips, which has alignment requirement, but remove unaligned variant.
BUG=365
TESTED=unittest builds and passes locally
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1113 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-07 00:59:31 +00:00
fbarchard@google.com
044f914c29 Change scale to unaligned movdqu.
BUG=365
TESTED=scale unittests
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1101 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-10-01 01:16:04 +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
fa83188365 scale port to c. completes all scaling functions.
BUG=303
TESTED=cl /c /TC /Iinclude source/scale.cc
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@974 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-18 01:30:58 +00:00
fbarchard@google.com
5aa39953cc Port scale to C moving variable definitions to top of functions.
BUG=303
TESTED=gyp builds still build/pass.
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@962 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-11 04:59:01 +00:00
fbarchard@google.com
6700a27c97 Scale mirror bug fix.
BUG=304
TESTED=try
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@959 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-09 20:21:24 +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
db73518b19 use LIBYUV_BOOL instead of bool
BUG=303
TESTED=try
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@953 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-07 03:59:31 +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
90a36b29d3 Use 64 bit fixed point for scaling columns if source is 32k or wider.
BUG=302
TESTED=out\release\libyuv_unittest --gtest_filter=*I*ToI*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@942 16f28f9a-4ce2-e073-06de-1de4eb20be90
2014-01-03 00:34:55 +00:00
fbarchard@google.com
6b6eb8cd36 lint fixes
BUG=none
TEST=LINT
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@929 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 02:09:58 +00:00
fbarchard@google.com
e86abbd244 Use malloc for row buffers in scalers removing size limitations.
BUG=296
TESTED=libyuvTest.Scale*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@925 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-27 01:11:26 +00:00
fbarchard@google.com
cf17f0cd2b Scale exit early if simple version used
BUG=none
TEST=none
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@921 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-26 20:00:54 +00:00
fbarchard@google.com
5316f38375 clamp pointer to max row to avoid stepping off source image.
BUG=292
TESTED=BackgroundOverlayKernelTest.ProcessVideo_ForegroundBackground

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@905 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-08 21:13:09 +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
ec0cc5bb2d Function to switch filters to a simplier one based on scale factors.
BUG=none
TEST=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@894 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-05 00:28:12 +00:00
fbarchard@google.com
99a1298c54 I444ToI420 etc use ScalePlane on Y to allow mirroring.
BUG=291
TESTED=unittests still pass.
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@893 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 23:36:06 +00:00
fbarchard@google.com
a8e4dcb5d5 Use scaling for YUV to YUV.
BUG=none
TEST=I4*ToI4*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@892 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-04 20:31:53 +00:00
fbarchard@google.com
dbe4814361 Move scale row functions to scale_win etc
BUG=none
TEST=untested
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@879 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-28 01:16:15 +00:00
nfullagar@google.com
a6c94b2227 Port gcc asm code in scale.cc to NaCl x86-64
BUG=253
TEST=manually run tests, trybots and ncval
R=fbarchard@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@872 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-21 19:38:17 +00:00
fbarchard@google.com
431f5f0388 Fix scaling bug
BUG=none
TEST=none
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@864 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-20 01:23:04 +00:00
fbarchard@google.com
e812e86ea9 Simplify constraints on asm yuv scale columns for benefit of android intel build.
BUG=none
TEST=try bots
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@857 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-18 17:45:23 +00:00
fbarchard@google.com
e8c74b61d3 Faster point samplers using row functions and specialized 2x upsampler.
BUG=none
TEST=none
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@854 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-14 02:03:32 +00:00
fbarchard@google.com
a2311691c6 YUV scale up
BUG=none
TEST=libyuvTest.ScaleTo1280x720_Linear
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@853 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-13 21:16:17 +00:00
fbarchard@google.com
5c36470985 Port ScaleFilterCols_SSSE3 to gcc
BUG=none
TEST=Scale*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@851 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-12 20:40:55 +00:00
fbarchard@google.com
f7eb04bc41 Port ScaleCols to SSSE3 for Win.
BUG=none
TEST=Scale*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@849 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-11 23:13:57 +00:00
fbarchard@google.com
788f757016 Linear interpolation.
BUG=none
TEST=*Linear*
R=tpsiaki@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@848 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-11-11 18:53:19 +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
88ce3c0caa Change unittests to pass when size is 1 tall.
BUG=202
TEST=set LIBYUV_HEIGHT=1 & out\release\libyuv_unittest
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@811 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-10-14 19:36:26 +00:00
fbarchard@google.com
dcd87ffb8c Vertical-only scale for YUV.
BUG=260
TEST=ScaleDownByVertical2by3_Bilinear
R=jingning@google.com, thorcarpenter@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@779 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-03 20:00:10 +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
7aa2bf9284 Scale avoid overread for DrMemory
BUG=263
TEST=Scale unittests still pass with same performance.
R=mflodman@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@776 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-09-02 10:32:27 +00:00
fbarchard@google.com
d593876b16 Disable assembly for rotate and scale
BUG=253
TEST=validator
R=nfullagar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@760 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 18:45:16 +00:00
fbarchard@google.com
d459f382fd Align branch targets for NaCL validator.
BUG=253
TEST=validator
R=johannkoenig@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@758 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-14 17:58:33 +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
1140454596 add f to float constant
BUG=none
TEST=none
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@731 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 23:23:51 +00:00
fbarchard@google.com
f2f9dbb644 FixedDiv function in C and benchmark
BUG=none
TEST=FixedDiv*
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@727 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-15 21:10:19 +00:00
fbarchard@google.com
e4d77322ab YUV to ARGB scaler low level function. Not hooked up to high level.
BUG=240
TEST=try bots compile function without errors.
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@724 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-13 21:05:47 +00:00
fbarchard@google.com
eed4149e10 gcc msys compile ifdefs avoid Visual C inline
BUG=243
TEST=local compile with gcc
R=jkoleszar@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@717 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-04 17:58: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
8ffe78abd2 Scale down by 4 used 3rd pixel
BUG=232
TEST=convert.exe -f 0 faces_640x480_P420.yuv face2_160x120_P420.yuv
R=changjun.yang@intel.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@709 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-30 07:14:14 +00:00
fbarchard@google.com
8b54a8f9f2 Specialized scale down sample to 1 / 2 size adjust to match general purpose code which uses odd pixel (rounded up - nearest neighbor).
BUG=223
TEST=out\Debug\convert.exe -f 0 faces_640x480_P420.yuv face2_320x240_P420.yuv
R=johannkoenig@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@708 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-29 19:29:46 +00:00
fbarchard@google.com
83408b85e4 Change point down sampling to x = dx / 2 which matches ffmpeg and is lossless on up and then down sample.
BUG=232
TEST=convert.exe -f 0 faces_640x480_P420.yuv face2_352x288_P420.yuv
R=johannkoenig@google.com, ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@707 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-29 17:40:50 +00:00
fbarchard@google.com
fcc1b95592 Scale up point use step / 2 as initial coordinate, which is more symetric and matches ffmpeg exactly.
BUG=232
TEST=convert.exe -f 0 faces_352x288_P420.yuv faces_640x480_P420.yuv
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@706 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-29 17:05:42 +00:00
fbarchard@google.com
d45342f61e Remove getenv for scaling filter as its not needed now and is showing up on profiles.
BUG=228
TESTED=unittest and try bots
Review URL: https://webrtc-codereview.appspot.com/1496004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@696 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-17 09:12:29 +00:00
fbarchard@google.com
306e984451 YUV scaler mirror horizontal if src_width is negative
BUG=
Review URL: https://webrtc-codereview.appspot.com/1449004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@692 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-05-13 17:57:27 +00:00
fbarchard@google.com
aa544f3205 Scale use kMaxStride for row buffers
BUG=none
TEST=libyuv unittest passes
Review URL: https://webrtc-codereview.appspot.com/1287005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@645 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 18:22:59 +00:00
fbarchard@google.com
0cc0b4df46 Neon Color Matrix avoid overflow
BUG=214
TEST=planar_tests
Review URL: https://webrtc-codereview.appspot.com/1276004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@644 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-05 04:13:21 +00:00
fbarchard@google.com
f4951e7aee gcc scale fix and change tabs to spaces in gyps
BUG=177
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1120009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@587 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-28 04:48:17 +00:00
fbarchard@google.com
14f657b44a SSE2 scale for ARGB and posix with specializations
BUG=177
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1115008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@585 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-27 06:38:41 +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
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
5f8858665b Box filter start from 0,0. Fixes crash that overreads horizontally.
BUG=185
TEST=scale_test
Review URL: https://webrtc-codereview.appspot.com/1094009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@571 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-12 19:05:40 +00:00
fbarchard@google.com
61466be698 Enable bilinear instead of box filter if size of destination is greater than source / 2.
BUG=185
TEST=unittest still passes
Review URL: https://webrtc-codereview.appspot.com/1103005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@563 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-06 19:01:47 +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
8c4e5e284c Specialize SSE2 filter
BUG=177
TEST=unittest scale*
Review URL: https://webrtc-codereview.appspot.com/1069005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@550 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-23 02:05: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
70b4928158 SSE2 bilinear fix for posix.
BUG=177
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1061004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@548 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-22 07:49: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
95d845bd5b benchmark only the opt version of rotate.
BUG=155
TEST=sudo LIBYUV_REPEAT=1000 nice --5 ./libyuv_unittest --gtest_filter=*Rotate*
Review URL: https://webrtc-codereview.appspot.com/939029

git-svn-id: http://libyuv.googlecode.com/svn/trunk@502 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 19:10:35 +00:00
fbarchard@google.com
579113950c check for interpolation of 0 and do a memcpy to avoid touching the row + 1 which may be one past the end of the buffer.
BUG=153
TEST=valgrind
Review URL: https://webrtc-codereview.appspot.com/930026

git-svn-id: http://libyuv.googlecode.com/svn/trunk@500 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-20 22:22:33 +00:00
fbarchard@google.com
cb5262dbc5 scale by even amounts using Neon
BUG=156
TEST=./libyuv_unittest --gtest_filter=*ARGBScale*
Review URL: https://webrtc-codereview.appspot.com/930019

git-svn-id: http://libyuv.googlecode.com/svn/trunk@492 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-16 01:41:35 +00:00
fbarchard@google.com
d985cf1f62 clamp maxy for first row of bilinear
BUG=153
TEST=none
Review URL: https://webrtc-codereview.appspot.com/934014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@490 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-14 08:15:55 +00:00
fbarchard@google.com
fdec4be353 quick fix for sub in wrong place
BUG=none
TEST=none

git-svn-id: http://libyuv.googlecode.com/svn/trunk@487 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 21:17:56 +00:00
fbarchard@google.com
66d16f4100 argb scale 2x upsample with specialization for 25/75%
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/938014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@486 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 20:43:25 +00:00
fbarchard@google.com
f25ab6d8d9 scale to 2x with bilinear subpixel accuracy specialized to have 1/4 and 3/4 scale factors FilterRow.
BUG=none
TEST=libyuvTest.I420ToI444_Any
Review URL: https://webrtc-codereview.appspot.com/965021

git-svn-id: http://libyuv.googlecode.com/svn/trunk@485 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 19:09:37 +00:00
fbarchard@google.com
55d5b48e4d bilinear scale use fast 2 pass unless image is beyond row buffer size.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/965020

git-svn-id: http://libyuv.googlecode.com/svn/trunk@484 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-13 17:31:08 +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
d26b451472 I420ToNV12_Neon bug fix
BUG=135
TEST=/libyuv_unittest --gtest_filter=*NV*
Review URL: https://webrtc-codereview.appspot.com/939005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@444 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-25 19:24:59 +00:00
fbarchard@google.com
66fe097a2b Move compare modules into their own files, and scale for mips
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/920005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@434 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 16:18:53 +00:00
fbarchard@google.com
1982d2b877 mips scale optimization
BUG=126
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/918005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@432 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-20 16:37:36 +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
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
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
aeaefa8344 vqrdmulh takes 3 parameters and clang requires all 3 to be specified, not just 2.
BUG=72
TEST=none
Review URL: https://webrtc-codereview.appspot.com/744006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@325 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-23 04:11:25 +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
452472dfc4 Internals of scale use ptrdiff_t to allow ARGBInterpolate to use stride between 2 images.
BUG=53
TEST=none
Review URL: https://webrtc-codereview.appspot.com/695004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@306 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-16 22:58:35 +00:00
fbarchard@google.com
05b5cf9610 move a macro and comment
BUG=49
TEST=untested
Review URL: https://webrtc-codereview.appspot.com/668012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@302 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 01:16:28 +00:00
fbarchard@google.com
942ad1f5f4 SSE2 version of scale is suspected of having a bug, as it didnt work in ARGBInterpolate, while SSSE3 and C do. Until the result can be verified, SSE2 is disabled. This will hurt performance on Pentium4 and below.
BUG=49
TEST=none
Review URL: https://webrtc-codereview.appspot.com/672009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@301 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-13 00:55:11 +00:00
fbarchard@google.com
d9eb63fc16 UNDER_ALLOCATED_HACK for scale that detects odd width and odd height were miscalculated and adjusts scaler for it.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/663007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@290 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-21 01:13:44 +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
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
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
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
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
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
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
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
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
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
fbarchard@google.com
18184fd19d switch looping to jg from ja to allow non-multiple of 16 to underflow to a negative
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/453001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@214 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-12 18:53:19 +00:00
fbarchard@google.com
53a0166719 bilinear ssse3 fix
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/452001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@212 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-10 00:55:53 +00:00
fbarchard@google.com
90310ddbb9 add environment variable to scale to override default filtering
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/442001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@209 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-08 04:01:50 +00:00
fbarchard@google.com
bd4a849bcb fix for nv21 u, v order, align all loops, and make addrows support 1 row
BUG=17
TEST=none
Review URL: https://webrtc-codereview.appspot.com/435004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@208 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 19:19:03 +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
c6e7e2a853 addrow fix
Review URL: https://webrtc-codereview.appspot.com/437003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@206 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-07 06:11:14 +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
9198f3754b rm for stride in addrows for clang on mac to not run out of registers
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/440001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@204 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-06 20:18:27 +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
26becab452 try r followed by rm for clang
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/426010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@202 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-03 02:05:54 +00:00
fbarchard@google.com
f69e90a19e mirror munging and avoid wait. scale addrows use 6 registers for mac
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/426007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@200 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-03-02 19:07:15 +00:00
fbarchard@google.com
e74ae8ef6c scale AddRows use 4 registers instead of 5 for benefit of OSX
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/423001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@192 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-29 19:07:20 +00:00
fbarchard@google.com
4e21867163 addrows improvements for general purpose down size box filter. scale sse avoid pushad. sub ecx before store to avoid wait
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/405007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@191 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-28 00:29:02 +00:00
fbarchard@google.com
4339f09d60 bilinear scaling improvements
-subpixel accurate for scaling down by passing in x and dx.
-blend for bilinear use single multiply instead of 2 multiplies.
-filter col do 2 pixels at a time
-assembly do address munging
-assembly avoid wait on store for core2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/397012

git-svn-id: http://libyuv.googlecode.com/svn/trunk@187 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-23 10:52:55 +00:00
fbarchard@google.com
8ae294e440 handle last 1 or 2 rows of 3/4 and 3/8 scalers with careful vertical filtering
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/380004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@165 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-02-02 22:33:21 +00:00
fbarchard@google.com
9460279178 scale function relaxed pointer checks and unrolled scale34 and scale38
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/369004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@149 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-21 06:46:34 +00:00
frkoenig@google.com
ea8d0eb0d1 ScaleFilterRows optimized for NEON.
Includes unit test that scales the image up by 2.
Currently this is done using the generic bilinear scale.
Review URL: http://webrtc-codereview.appspot.com/330032

git-svn-id: http://libyuv.googlecode.com/svn/trunk@126 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-01-04 23:04:07 +00:00
fbarchard@google.com
0000a2ad52 .private_extern for OSX 32 bit but not for other platforms
BUG=none
TEST=build and run scale and rotate.
Review URL: http://webrtc-codereview.appspot.com/330014

git-svn-id: http://libyuv.googlecode.com/svn/trunk@119 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 18:30:15 +00:00
fbarchard@google.com
c9911bcba1 more functions added for convertFromI420
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/333015

git-svn-id: http://libyuv.googlecode.com/svn/trunk@118 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 03:37:37 +00:00
fbarchard@google.com
62e63b25ff Remove .global from asm blocks to reduce external visibility
BUG=none
TEST=functions still build/link on 32 bit linux/osx
Review URL: http://webrtc-codereview.appspot.com/330011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@116 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-21 00:04:04 +00:00
fbarchard@google.com
9d206a29cd cygwin compatibility fix for ifdef underscores, and __inline for C vs inline which is C++
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@115 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-19 19:04:46 +00:00
fbarchard@google.com
45b9ef0f6a scale call copyplane in planarfunctions
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/335002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@112 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-16 03:34:09 +00:00
fbarchard@google.com
19a248ab63 fix for underscore on gcc 32 bit for linux
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/325001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@102 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-12 20:21:52 +00:00
fbarchard@google.com
fe5ff7ed54 clang on linux prefers no args for rep movsl/stosl. ifdef for C that removes namespace. extern c allows c++ to be used to compile, including with namespace, but C program can link libyuv
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/320004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@101 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-10 07:45:58 +00:00
fbarchard@google.com
1d61cd91bb mingw behaves like apple as far as labels go
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/322002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@99 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-08 19:57:48 +00:00
frkoenig@google.com
e0bf6f0934 Fix build for OSX.
Clang defines __APPLE__, not OSX, use that
for platform specific code.

Removed spurious volatile that was giving a warning
when compiling for OSX.
Review URL: http://webrtc-codereview.appspot.com/305005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@98 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-12-07 01:54:13 +00:00
fbarchard@google.com
3e8a577bb3 add ARGBRect, fix for 444 support in ConvertToI420
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/289003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@93 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-23 18:58:38 +00:00
fbarchard@google.com
1c5136d069 use IS_ALIGNED for width and stride to avoid mod that generates 6 instructions
BUG=none
TEST=disassemble to confirm smaller/simplier alignment checks
Review URL: http://webrtc-codereview.appspot.com/287001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@91 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-22 18:15:17 +00:00
fbarchard@google.com
12d048335d I420Mirror rewrite, I420Copy movdqa, I444To420, I420To422
Review URL: http://webrtc-codereview.appspot.com/267025

git-svn-id: http://libyuv.googlecode.com/svn/trunk@89 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-21 23:54:38 +00:00
fbarchard@google.com
15c3d45cbe Change WIN32 to _M_IX86 and use YUV_DISABLE_ASM consistently
BUG=none
TEST=none
Review URL: http://webrtc-codereview.appspot.com/277008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@84 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-17 22:13:17 +00:00
fbarchard@google.com
c59000bf0f osx 64 bit does not want _ in variable names
BUG=none
TEST=build with m64
Review URL: http://webrtc-codereview.appspot.com/268011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@81 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-15 22:27:45 +00:00
fbarchard@google.com
eaedc1d727 remove mmx functions
BUG=none
TEST=builds
Review URL: http://webrtc-codereview.appspot.com/269010

git-svn-id: http://libyuv.googlecode.com/svn/trunk@77 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 18:41:47 +00:00
mikhal@webrtc.org
1b06484b4a libyuv: clean up:
1. Removing libyuv:: when not needed
2. Test clean-up 
Review URL: http://webrtc-codereview.appspot.com/279002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@74 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 23:58:32 +00:00
fbarchard@google.com
f7a5048f54 align asm new line to column 48
BUG=none
TEST=builds
Review URL: http://webrtc-codereview.appspot.com/268008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@73 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-10 22:41:20 +00:00
frkoenig@google.com
7aa6f06e70 Avoid using Q4-Q7 registers for NEON.
Was not paying attention to which registers were for scratch.
Avoid the need to preserve registers by not using registers
in the Q4-Q7 range.

Fix ScaleDown2Int_NEON by changing how rounding was applied.

ScaleDownRow4 changed to process 4 output pixels per loop.

No need to push/pop registers for UV Transpose, removed
functions.

Fix for CPU Flag for scale_test.cc to turn on/off optimizations
for timing.
Review URL: http://webrtc-codereview.appspot.com/259002

git-svn-id: http://libyuv.googlecode.com/svn/trunk@58 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-03 00:54:50 +00:00
fbarchard@google.com
d14936a0af scale avoid xmm6 and xmm7 usage
BUG=none
TEST=scale test in talk
Review URL: http://webrtc-codereview.appspot.com/256009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@56 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-02 23:06:40 +00:00
frkoenig@google.com
0e9b515f53 Neon 38 downscaler.
Fixed up unit tests for filters to use same image generation and comparison code.

Added timing information output from doing scale.
Review URL: http://webrtc-codereview.appspot.com/244016

git-svn-id: http://libyuv.googlecode.com/svn/trunk@48 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-29 00:26:17 +00:00
frkoenig@google.com
f626bea05f Neon version of ScaleRowDown34.
Review URL: http://webrtc-codereview.appspot.com/250003

git-svn-id: http://libyuv.googlecode.com/svn/trunk@44 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-28 17:32:35 +00:00