207 Commits

Author SHA1 Message Date
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