31 Commits

Author SHA1 Message Date
fbarchard@google.com
25120f2196 Add a unittest for scaling from VGA to whatever.
BUG=208
TESTED=out\release\libyuv_unittest --gtest_filter=*ScaleFrom*
Review URL: https://webrtc-codereview.appspot.com/1250004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@620 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-25 22:53:29 +00:00
fbarchard@google.com
7d25fe2ddb bilinear scaling allow higher error for differences in SSSE3 7 bit math vs C/SSE2 15 bit math, when extreme scale factors are used.
BUG=200
TEST=*Scale* width LIBYUV_WIDTH=16 LIBYUV_HEIGHT=16
Review URL: https://webrtc-codereview.appspot.com/1197004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@606 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-03-13 18:33:41 +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
8e26eada77 Fix for mutated registers on AVX2
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1090007

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@553 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-28 00:02:35 +00:00
fbarchard@google.com
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
326a521aba unittest to scale to 1280x720 from whatever current LIBYUV_WIDTH and LIBYUV_HEIGHT are
BUG=none
TEST=libyuv_unittest --gtest_filter=*ScaleTo1280*
Review URL: https://webrtc-codereview.appspot.com/969011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@505 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-28 02:23:34 +00:00
fbarchard@google.com
d1cb453c6c Unittest each scaling filter separately for benchmarking purposes.
BUG=155
TEST=*Scale*
Review URL: https://webrtc-codereview.appspot.com/935022

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@503 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-11-26 22:39:30 +00:00
fbarchard@google.com
3bb60b37fd Use width variable for all tests
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/934004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@441 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-24 18:31:55 +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
7781d943b0 Disable V210 unittest that fails valgrind, and some warning fixes for android.
BUG=91
TEST=try
Review URL: https://webrtc-codereview.appspot.com/813004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@362 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-18 22:58:34 +00:00
fbarchard@google.com
b8f820af71 make const int into int
BUG=none
TEST=lint
Review URL: https://webrtc-codereview.appspot.com/766007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@338 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 22:57:02 +00:00
fbarchard@google.com
26d088e770 Unittest fix 80 column limit
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/762007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@337 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 22:31:27 +00:00
fbarchard@google.com
de6eca3104 Change unittest to default to 1 iteration of each test. Can be change manually to 1000 for benchmarking purposes.
BUG=77
TEST=build\release\libyuv_unittest.exe
Review URL: https://webrtc-codereview.appspot.com/768006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@336 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-08-30 21:18:10 +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
68f0d3df5e NV12ToARGB for linux appears to have a bug in the assembly so this disables the asm for posix. It still works on Windows. Unittests updated to show the amount of pixel difference.
BUG=55
TEST=out/Release/libyuv_unittest --gtest_filter=*
Review URL: https://webrtc-codereview.appspot.com/675008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@310 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-07-23 16:01:09 +00:00
fbarchard@google.com
a537bbdc59 test some problematic scale factors
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/678006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@296 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-27 23:42:19 +00:00
fbarchard@google.com
d51c342521 Rotate ARGB using a scale function that reads with step, combining to form 16 bytes at a time.
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/674007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@294 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-06-26 23:46:25 +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
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
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
810cd91079 ARGBUnattenuateRow_SSE2 use reciprocal table and pmul
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/497001

git-svn-id: http://libyuv.googlecode.com/svn/trunk@244 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-04-20 20:15:27 +00:00
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
frkoenig@google.com
c82af4a59c Order includes.
Use the following order.
local
system
libyuv
Review URL: http://webrtc-codereview.appspot.com/270007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@76 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-11 00:54:34 +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
frkoenig@google.com
f7e74a1a6f Move neon rotate code from straight assembly to inline.
Allow assemblers with a slightly different syntax to use
the optimized neon routines.

Removed extra constraints on the calling of the optimized
routines.  All neon routines can load unaligned and handle
odd widths.

Align allocated buffers in rotate_test.cc

Add neon rotate file to gyp file for arm targets.
Review URL: http://webrtc-codereview.appspot.com/253007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@59 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-11-03 22:41:59 +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
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
frkoenig@google.com
bab397f72a ScaleRowDown4Int_SSE2 was incorrectly computing offset.
One of the source lines for ScaleRowDown4Int_SSE2 was
incorrect leading to a bad read.  Add a test to catch
this in the future.
Review URL: http://webrtc-codereview.appspot.com/242006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@39 16f28f9a-4ce2-e073-06de-1de4eb20be90
2011-10-21 22:27:20 +00:00