31 Commits

Author SHA1 Message Date
Frank Barchard
54f2094a5e Rename mips source files to dspr2.
Add MSA detect to unittest.
Change macro to disable DSPR2 code to LIBYUV_DISABLE_DSPR2

BUG=libyuv:634
TEST=try bots

Change-Id: I9e0aa2452204fc529bb6f9e6fd93c4e1c379bba6
Reviewed-on: https://chromium-review.googlesource.com/433463
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-01-27 23:11:43 +00:00
Manojkumar Bhosale
6fa5e4eb78 Add MSA optimized TransposeWx8_MSA and TransposeUVWx8_MSA functions
R=fbarchard@google.com
BUG=libyuv:634

Performance Gain (vs C vectorized)
TransposeWx8_MSA          - ~2.7x
TransposeWx8_Any_MSA      - ~2.1x
TransposeUVWx8_MSA        - ~2.5x
TransposeUVWx8_Any_MSA    - ~2.7x

Performance Gain (vs C non-vectorized)
TransposeWx8_MSA          - ~4.6x
TransposeWx8_Any_MSA      - ~2.9x
TransposeUVWx8_MSA        - ~4.4x
TransposeUVWx8_Any_MSA    - ~3.7x

Review URL: https://codereview.chromium.org/2553403002 .
2016-12-15 10:06:01 +05:30
Manojkumar Bhosale
56b5bbb0be Add MSA optimized ARGB scaling functions
R=fbarchard@google.com
BUG=libyuv:634

Performance Gain (vs C vectorized)
ScaleARGBRowDown2_MSA           - ~2.6x
ScaleARGBRowDown2Linear_MSA     - ~7.9x
ScaleARGBRowDown2Box_MSA        - ~3.7x
ScaleARGBRowDownEven_MSA        - ~1.2x
ScaleARGBRowDownEvenBox_MSA     - ~3.5x

ScaleARGBRowDown2_Any_MSA       - ~2.6x
ScaleARGBRowDown2Linear_Any_MSA - ~7.9x
ScaleARGBRowDown2Box_Any_MSA    - ~3.6x
ScaleARGBRowDownEven_Any_MSA    - ~1.2x
ScaleARGBRowDownEvenBox_Any_MSA - ~3.5x

Performance Gain (vs C non-vectorized)
ScaleARGBRowDown2_MSA           - 2.6x
ScaleARGBRowDown2Linear_MSA     - 13.5x
ScaleARGBRowDown2Box_MSA        - 5.8x
ScaleARGBRowDownEven_MSA        - 1.2x
ScaleARGBRowDownEvenBox_MSA     - 3.7x

ScaleARGBRowDown2_Any_MSA       - 2.6x
ScaleARGBRowDown2Linear_Any_MSA - 13.5x
ScaleARGBRowDown2Box_Any_MSA    - 5.3x
ScaleARGBRowDownEven_Any_MSA    - 1.2x
ScaleARGBRowDownEvenBox_Any_MSA - 3.7x

Review URL: https://codereview.chromium.org/2527983002 .
2016-12-07 11:47:15 +05:30
Frank Barchard
c5323b0fdc Add MIPS SIMD Arch (MSA) optimized MirrorRow function
As per the preparation patch added in Chromium sources at,
2150943003: Add MIPS SIMD Arch (MSA) build flags for GYP/GN builds

This patch adds first MSA optimized function in libYUV project.

BUG=libyuv:634
R=fbarchard@google.com

Review URL: https://codereview.chromium.org/2285683002 .
2016-09-22 16:12:22 -07:00
Frank Barchard
2fa4f5a3ea Adds files and functions for rotate any, but does not hook them up to the caller.
rotate any

R=harryjin@google.com
BUG=libyuv:464

Review URL: https://webrtc-codereview.appspot.com/53769004.
2015-07-27 10:32:08 -07:00
Frank Barchard
3d190ee9f1 break rotate into files by cpu in preparation for optimization.
R=bcornell@google.com
BUG=libyuv:464

Review URL: https://webrtc-codereview.appspot.com/51289004.
2015-07-14 10:23:10 -07:00
fbarchard@google.com
2e9f3e5cf5 rename source files from row_posix.cc etc to row_gcc.cc to avoid gyp build filtering out source files from build when on windows with clang. The source code contained in row_gcc.cc is gcc syntax inline assembly available for any platform that supports gcc or clang for intel cpus.
BUG=440
TESTED=try bots
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1430 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-06-09 17:27:52 +00:00
fbarchard@google.com
416c48dba7 add new scale_any to build files.
BUG=419
TESTED=untested
R=bcornell@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1350 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-03-30 23:20:14 +00:00
fbarchard@google.com
5e1c15de08 updated file source list for android mk system.
BUG=402
TESTED=untested
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1280 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-11 19:42:25 +00:00
fbarchard@google.com
0887315390 Remove bayer format support from libyuv. This format is very rare and used on legacy hardware. Its not well optimized and has bugs related to odd widths. Removing the format will allow tests to pass under more circumstances, run faster and allow focus on higher priority quality and performance issues.
BUG=301
TESTED=local unittests build/pass on windows gyp build.
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1270 16f28f9a-4ce2-e073-06de-1de4eb20be90
2015-02-09 19:58:19 +00:00
fbarchard@google.com
d0a4b4ac01 Switch I4xxToI420 to point sample to pass drmemory.
BUG=289
TESTED=drmemory
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@886 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-12-03 07:00:11 +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
fbarchard@google.com
49bbc1b4f3 Move vertical scaler to common code.
BUG=260
TEST=unittests build/run
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@773 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-08-27 16:32:22 +00:00
fbarchard@google.com
567a00f705 Remove fixed_math from Android.mk
BUG=none
TEST=try bots
R=leozwang@webrtc.org

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@734 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-18 19:07:53 +00:00
fbarchard@google.com
b3a08b3e05 include lint warning fixes
BUG=none
TEST=lint
R=ryanpetrie@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@728 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-06-17 16:37:39 +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
2b115a5237 Remove cruft.
BUG=208
TEST=lint

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@665 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-15 20:06:52 +00:00
fbarchard@google.com
20794c4680 android mk updated source list
BUG=212
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1303007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@661 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-04-12 07:30:25 +00:00
fbarchard@google.com
28e2a9daa0 LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
BUG=184
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1091007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@561 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-02-06 05:49:24 +00:00
fbarchard@google.com
be560615bb Name fix in Android make file for scaler
BUG=172
TEST=none
Review URL: https://webrtc-codereview.appspot.com/1020006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@523 16f28f9a-4ce2-e073-06de-1de4eb20be90
2013-01-07 06:50:22 +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
4bfe1e0d6b Move any functions into their own file
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/936009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@458 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-30 20:01:41 +00:00
fbarchard@google.com
d3728d9222 unittest simplify loop counter
BUG=none
TEST=planar unittests
Review URL: https://webrtc-codereview.appspot.com/935006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@443 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-25 17:12:41 +00:00
fbarchard@google.com
95eb5264a6 quick space removal fix for android.mk
BUG=none
TEST=none
Review URL: https://webrtc-codereview.appspot.com/918006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@436 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-22 19:55:40 +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
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
f6e4e14713 .neon suffix on neon files
BUG=108
TEST=none
Review URL: https://webrtc-codereview.appspot.com/867007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@397 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-09 00:41:57 +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
6d62980977 Android makefile allow armv6 without neon and x86.
BUG=110
TEST=android try bot
Review URL: https://webrtc-codereview.appspot.com/864007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@390 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-10-04 17:49:07 +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
855c3a3d9e Android.mk moved into libyuv to central support
BUG=93
TEST=none
Review URL: https://webrtc-codereview.appspot.com/807005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@365 16f28f9a-4ce2-e073-06de-1de4eb20be90
2012-09-19 07:27:17 +00:00