Frank Barchard
2b4453d46f
Deprecate MIPS and MSA support.
...
- Remove *_msa.cc source files
- Update build files
- Update header references, planar ifdefs for row functions
- Update documentation on supported platforms
- Version bumped to 1921
- clang-format applied
Bug: 434383432
Change-Id: I072d6aac4956f0ed668e64614ac8557612171f76
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7045953
Reviewed-by: Justin Green <greenjustin@google.com>
2025-10-16 12:20:40 -07:00
Frank Barchard
6dc03dacbf
Split scale_test and scale_plane_test to allow building on small devices
...
Bug: libyuv:956
Change-Id: I1903aa616243e891440ed92836dfb0992d31d4cd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5107257
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2023-12-09 18:39:41 +00:00
Frank Barchard
9e61d7f9c1
Split convert_test and convert_argb_test to allow building on small systems that run out of memory compiling unittests.
...
Update build files to include the new tests and source code.
Bug: libyuv:956
Change-Id: I6ec0beb6dc9570f0597d7df1835d616489dbaece
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5103585
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-12-08 13:39:56 +00:00
Frank Barchard
124bf08fee
RGBScale function using 3 steps: RGB24ToARGB, ARGBScale, ARGBToRGB24
...
1920x1080 to/from 1280x720 to ARGB on Intel Skylake Xeon
RGBScaleTo1920x1080_Bilinear (2625 ms)
RGBScaleFrom1920x1080_Bilinear (2115 ms)
ARGBScaleTo1920x1080_Bilinear (1668 ms)
ARGBScaleFrom1920x1080_Bilinear (1164 ms)
Bug: b/224814071
Change-Id: Ifc7611b597409771728b13c9c39e5a7e06131021
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3537341
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-03-19 01:44:06 +00:00
Frank Barchard
2c6bfc02d5
Remove MMI support
...
Bug: libyuv:916
Change-Id: I345b7e271ceb4b32fe91e292915e66be40812810
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3415817
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-26 08:41:33 +00:00
Frank Barchard
5c4dc242f4
MJPGToNV12 added and build files sorted
...
Bug: None
Change-Id: I87aa64a14bb3f0785f984f492e56fcf2313431ce
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2502780
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-28 16:24:38 +00:00
Frank Barchard
e647902212
NV12Scale function and ScaleUV for packed UV plane bilinear scaling
...
Bug: libyuv:718, libyuv:838, b/168918847
Change-Id: I3300c1e7d51407b9c3201cf52b68e2e11346ff5f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2427868
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2020-09-29 23:49:05 +00:00
Frank Barchard
eed202f1f3
i444tonv12_eg example program
...
Bug: libyuv:858
Change-Id: I1b970f57a6ff6288afc8f60b2244e51bf6d30e78
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2169341
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-04-28 16:35:49 +00:00
Frank Barchard
57de382902
MMI ifdef guards and add source to various build files.
...
Bug: libyuv:810,libyuv:811
Test: cmake . && make
Change-Id: I521b45ccb6e49ff70823e415efa99fc5b9daad99
Reviewed-on: https://chromium-review.googlesource.com/1162503
Reviewed-by: Johann Koenig <johannkoenig@google.com>
2018-08-03 18:37:23 +00:00
Frank Barchard
3b81288ece
Remove Mips DSPR2 code
...
Bug: libyuv:765
Test: build for mips still passes
Change-Id: I99105ad3951d2210c0793e3b9241c178442fdc37
Reviewed-on: https://chromium-review.googlesource.com/826404
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2017-12-14 18:22:16 +00:00
Manojkumar Bhosale
2621c91bf1
Add MSA optimized HammingDistance and SumSquareError functions
...
TBR=kjellander@chromium.org
R=fbarchard@google.com
Bug:libyuv:634
Change-Id: Id0126ba5aff38817525b1efa6044f1dc2cfa1a36
Reviewed-on: https://chromium-review.googlesource.com/625739
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-09-05 21:32:33 +00:00
Frank Barchard
651ccc0c3a
Fix data races in libyuv::TestCpuFlag().
...
Detect the compiler's support of C11 atomics, and use C11 atomics when
available.
Note that libyuv::MaskCpuFlags() is still not thread-safe.
BUG=libyuv:641
TEST= cpu_thread_test.cc adds a pthread based test
R=wangcheng@google.com
Change-Id: If05b1e16da833105a0159ed67ef20f4e61bc7abd
Reviewed-on: https://chromium-review.googlesource.com/510079
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Cheng Wang <wangcheng@google.com>
2017-05-24 02:09:03 +00:00
Frank Barchard
945ea1b746
mips switch sgtu to sltu for clang in ndk r14
...
The verion of clang in ndk r14 (3.9) has a built in llvm assembler
that does not have the sgtu pseudo instruction.
sltu is the actual instruction, so switch the 2 operands and use
the instruction instead of the pseudo op.
BUG=libyuv:700
TEST=try bots build mips without error.
Change-Id: I2d5f94f81acbd56cdedea011e7d9308979e19079
Reviewed-on: https://chromium-review.googlesource.com/494026
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-05-02 21:34:13 +00:00
Vignesh Venkatasubramanian
54289f1bb0
Fix mips build on android ndk r14+
...
Revert the workaround and fix it properly by passing the
additional necessary flag to the compiler.
BUG=libyuv:700
Change-Id: I1c893a8acb5079decbee6963b689424bf2f99f4f
Reviewed-on: https://chromium-review.googlesource.com/487881
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-04-26 08:39:55 +00:00
Frank Barchard
bd0faedbd2
add libyuv_unittest to Android.mk
...
BUG=libyuv:698
TESTED=mm libyuv_unittest within android external/libyuv builds unittests
Change-Id: I4b5fed9f5af86c8a910f73b14053ef83f38431cc
Reviewed-on: https://chromium-review.googlesource.com/478572
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>
2017-04-14 23:46:27 +00:00
Vignesh Venkatasubramanian
cb9a58f25f
Android.mk: Add a flag to disable libjpeg
...
Do not build jpeg related files if LIBYUV_DISABLE_JPEG is set to
"yes".
BUG=libyuv:693
Change-Id: If1bc4602fb843ca7b2964844b53553aa0cca551c
Reviewed-on: https://chromium-review.googlesource.com/455475
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Vignesh Venkatasubramanian <vigneshv@google.com>
2017-03-17 19:22:06 +00:00
Frank Barchard
a041b0ae03
Android.mk for libyuv - unused parameters warning enabled
...
BUG=libyuv:682
TEST=mm from android tree.
Change-Id: I13be3eaa6a33741797360d57bc5cf5fed91678ef
Reviewed-on: https://chromium-review.googlesource.com/445935
Reviewed-by: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-02-22 19:45:12 +00:00
Frank Barchard
054ec37f8e
Android.mk upstreamed from android r1602
...
BUG=libyuv:682
TEST=mm from android tree.
Change-Id: I233e5b390e0a9442e8423a4844aa962854c1ae91
Reviewed-on: https://chromium-review.googlesource.com/446077
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-02-21 23:59:57 +00:00
Frank Barchard
632f1db6ea
disable unused parameter warning
...
cpuid, scale_neon, planarfunctions and jpeg have internal API's
with specialized versions that do not use all parameters.
Disable the warning in Android.mk for now.
BUG=libyuv:681
TEST=android make builds without warning.
Change-Id: I72ee654c376c6dd85b616fc4438e3ad0a86b39bc
Reviewed-on: https://chromium-review.googlesource.com/440510
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
2017-02-11 02:04:47 +00:00
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