2499 Commits

Author SHA1 Message Date
Mirko Bonadei
13a80e72cc Roll chromium_revision 9063d86518..7287570212 (1155374:1165250)
Change log: 9063d86518..7287570212
Full diff: 9063d86518..7287570212

Changed dependencies
* fuchsia_vesion: version:12.20230607.1.1..version:13.20230629.2.1
* gn_vesion: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* reclient_vesion: re_client_version:0.107.1.0b39c4c-gomaip..re_client_version:0.109.0.927890d-gomaip
* src/base: 80d6bd7cc6..26fca42563
* src/build: 7e5b8b78a9..e0690c7c78
* src/buildtools: 3819ac6f3d..6d00f8d8c5
* src/buildtools/linux64: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* src/buildtools/mac: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* src/buildtools/reclient: re_client_version:0.107.1.0b39c4c-gomaip..re_client_version:0.109.0.927890d-gomaip
* src/buildtools/third_party/libc++/trunk: 055b2e17ae..84fb809dd6
* src/buildtools/third_party/libc++abi/trunk: 899caea381..8d21803b90
* src/buildtools/third_party/libunwind/trunk: b5a43ecdac..f1c687e0aa
* src/buildtools/win: git_revision:1cd35c1b722472e714c30d12031af81443bb20ae..git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d
* src/ios: 0b26248597..b16951257b
* src/testing: a1a760920e..a74fd69d4e
* src/third_party: 84f7bf74a3..2aff4da2e9
* src/third_party/android_toolchain: version:2@r23c.cr0..R_8suM8m0oHbZ1awdxGXvKEFpAOETscbfZxkkMthyk8C
* src/third_party/androidx: 8QRU_3WDdK0VVAHe7demCsR7qoa8ba2DVzXsXGxWQKkC..ipivfTxGcbiTG_EUQ5jX8s0lPg3Q5LthXj9A__Z-Zl4C
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6cf9820837..824f0e9113
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3173309024..48b31edbfc
* src/third_party/depot_tools: 3cf9180560..98cadbd0ed
* src/third_party/freetype/src: 4e1c0e8fba..e4586d960f
* src/third_party/harfbuzz-ng/src: 8df5cdbcda..db700b5670
* src/third_party/icu: 1766524877..e8c3bc9ea9
* src/third_party/jdk: -1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC..2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC
* src/third_party/kotlin_stdlib: z4_AYYz2Tw5GKikuiDLTuxxf0NJVGLkC3CVcyiIpc-gC..bhkmCcKzQ5IXUsDnWkRfouPfdzzyrgw40PUzRvArrGEC
* src/third_party/r8: 4nvRHMrsaaAwaTGCTVhj-rVB4rr7rtMUb01KL83_TA8C..vw5kLlW3-suSlCKSO9OQpFWpR8oDnvQ8k1RgKNUapQYC
* src/third_party/r8/d8: PwglNZFRNPkBBXdnY9NfrZFk2ULWDTRxhV9rl2kvkpUC..vw5kLlW3-suSlCKSO9OQpFWpR8oDnvQ8k1RgKNUapQYC
* src/tools: 31bd9a2aa6..3443b1e38a
DEPS diff: 9063d86518..7287570212/DEPS

No update to Clang.

BUG=None

Change-Id: I43f496a5c5a08c6ae3bdb3665c97d78b8b915891
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4660607
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2023-07-03 10:53:47 +00:00
Mirko Bonadei
6a566e868d Do not roll the Fuchsia SDK.
No-Try: True
Bug: None
Change-Id: I1231c79328b7d892b0599ea5a0da5517b2c5d28e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4660448
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
2023-07-03 09:18:00 +00:00
Frank Barchard
650be7496f Fix warnings for missing prototypes
- Add static to internal scale and rotate functions
- Remove unittest that tested an internal scale function
- Remove unused private functions
- Include missing scale_argb.h header
- Bump version and apply clang format

Bug: libyuv:830
Change-Id: I45bab0423b86334f9707f935aedd0c6efc442dd4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4658956
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2023-06-30 17:46:56 +00:00
Frank Barchard
a34a0ba687 ARGBExtractAlpha rename variables to match format
Bug: libyuv:956
Change-Id: I31070791754fc69b72c6dcc61be2e038d2676ed9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4646636
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2023-06-27 03:50:35 +00:00
Cheng Yangyang
c0031cfd95 Add GN builds on loongarch platform.
Currently, chromium has merged loongarch config file in bug:1454442,
and so we resubmit gn builds support for loongarch.

Bug: chromium:1289502
Change-Id: Iac83f5ea016945f7d9cc5f6de20d4c561bab6347
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4615589
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-19 17:47:05 +00:00
Cheng Yangyang
eaaf27ba91 Fix gn build error in loongarch platform.
Src/build project has merged loongarch config file, but DEPS not update yet.
It will leads CQ failed when tests loongarch gn builds support patch.

Bug: chromium:1289502
Change-Id: I2c5ae204e2fa3a9776b82a624b3cce08bf25216b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4614917
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-06-19 17:35:03 +00:00
Bruce Lai
873d0db989 [RVV] Fix TestARGBInterpolate test fail
Root cause:
Because InterpolateRow_RVV doesn't setup rounding mode to round-to-nearest-up when y1_fraction == 128.
The rounding mode register is set to round-down in ARGBAttenuateRow_RVV.
It cause InterpolateRow_RVV(y1_fraction == 128) runs on round-down mode.
Running on round-down mode make output result differs from round-to-nearest-up mode.

Solved by: ensure to use correct rounding mode in InterpolateRow_RVV.

Also, removing unnecessary rounding mode setup in ARGBAttenuateRow_RVV.

Bug: libyuv:956
Change-Id: Ib5265d42bad76b036e42b8f91ee42a9afe1f768d
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4624492
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-19 16:49:52 +00:00
Bruce Lai
4472b5b849 [RVV] Update ARGBAttenuateRow_RVV implementation
Bug: libyuv:956
Change-Id: Ib539c2196767e88fa6e419ed2f22d95b6deaf406
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4623172
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-17 15:50:34 +00:00
Bruce Lai
7939e039e7 [RVV] Fix compile warning in row_rvv
1. Fix compile warning in row_rvv.cc

2. Avoid compile row_rvv.cc/scale_rvv.cc when using GCC
There is no RVV segment load & store on GCC.
Hence, avoid compiling rvv code on GCC temporarily.

3. Add several compile options to cmake build flow
  -Wno-sign-compare
  -Wno-unused-function
  -Wunused-variable
  -Wuninitialized

Bug: libyuv:956
Change-Id: I9577f98190fc9b28fb6fde65d82d0c67ce54f9ee
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4615441
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-06-17 15:41:45 +00:00
Frank Barchard
a366ad714a ARGBAttenuate use (a + b + 255) >> 8
- Makes ARM and Intel match and fixes some off by 1 cases
- Add ARGBToUV444MatrixRow_NEON
- Add ConvertFP16ToFP32Column_NEON
- scale_rvv fix intinsic build error
- disable row_win version of ARGBAttenuate/Unattenuate

Bug: libyuv:936, libyuv:956
Change-Id: Ied99aaad3a11a8eb69212b628c58f86ec0723c38
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4617013
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-16 21:37:53 +00:00
Bruce Lai
04821d1e7d [RVV] Enable ARGBExtractAlphaRow/ARGBCopyYToAlphaRow
* Run on SiFive internal FPGA:

TestARGBExtractAlpha(~3.2x vs scalar)
TestARGBCopyYToAlpha(~1.6x vs scalar)

Change-Id: I36525c67e8ac3f71ea9d1a58c7dc15a4009d9da1
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4617955
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-06-15 23:45:24 +00:00
Darren Hsieh
552571e8b2 [RVV] Enable ScaleRowDown34_RVV & ScaleRowDown34_{0,1}_Box_RVV
Run on SiFive internal FPGA:

Test case                       RVV function			Speedup
I444ScaleDownBy3by4_None	ScaleRowDown34_RVV	        5.8
I444ScaleDownBy3by4_Linear	ScaleRowDown34_0/1_Box_RVV	6.5
I444ScaleDownBy3by4_Bilinear	ScaleRowDown34_0/1_Box_RVV	6.3

Bug: libyuv:956
Change-Id: I8ef221ab14d631e14f1ba1aaa25d2b30d4e710db
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4607777
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-14 00:57:00 +00:00
Frank Barchard
2a5d7e2fbc FilterRows_NEON - remove unused function - same as InterpolateRow_NEON
- Bump version to 1872
- Add scale_rvv to build files

Bug: libyuv:956
Change-Id: Ib9e9fd840a0774bd35bcdcca55a2596f33272383
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4608519
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-13 15:20:02 +00:00
Darren Hsieh
873eaa3bbf [RVV] Enable Scale{ARGB,UV}RowDown{2,4,EVEN}_RVV
Run on SiFive internal FPGA:

Test case               RVV function				Speedup
I444ScaleDownBy3_Box	ScaleAddRow_RVV+ScaleAddCols(scalar)	2.8
ARGBScaleDownBy2_None	ScaleARGBRowDown2_RVV		        2.2
ARGBScaleDownBy2_Linear	ScaleARGBRowDown2Linear_RVV		5.0
ARGBScaleDownBy2_Box	ScaleARGBRowDown2Box_RVV		4.3
ARGBScaleDownBy4_None	ScaleARGBRowDownEven_RVV		1.2
ARGBScaleDownBy8_Box	ScaleARGBRowDownEvenBox_RVV		3.2
ARGBScaleDownBy4_Box	ScaleARGBRowDown2Box_RVV		4.5
I444ScaleDownBy2_None	ScaleRowDown2_RVV			5.8
I444ScaleDownBy2_Linear	ScaleRowDown2Linear_RVV			6.1
I444ScaleDownBy2_Box	ScaleRowDown2Box_RVV			5.0
I444ScaleDownBy4_None	ScaleRowDown4_RVV			3.6
I444ScaleDownBy4_Box	ScaleRowDown4Box_RVV			3.5
UVScaleDownBy2_None	ScaleUVRowDown2_RVV			5.8
UVScaleDownBy2_Linear	ScaleUVRowDown2Linear_RVV		5.6
UVScaleDownBy2_Box	ScaleUVRowDown2Box_RVV			4.1
UVScaleDownBy4_None	ScaleUVRowDown4_RVV			1.7
UVScaleDownBy4_Box	ScaleUVRowDown2Box_RVV			4.5
						avg-speedup:    4

Note: Specialize ScaleUVRowDown with step_size=4 by ScaleUVRowDown4_RVV.

Bug: libyuv:956
Change-Id: If9604a6aadf681193f282507602c57c726332202
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4601684
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-13 00:40:39 +00:00
Chong Gu
29bcf021c6 [Fuchsia] Replace downloading gn SDK with core SDK
Bug: chromium:1432399
Change-Id: Ie1a752a88fd6ab46b0fe940a730ff92583bf0c52
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4608185
Commit-Queue: Chong Gu <chonggu@google.com>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2023-06-12 19:45:55 +00:00
Prashanth Swaminathan
3df4762034 Roll chromium_revision 37b823771a..9063d86518 (1154522:1155374)
Change log: 37b823771a..9063d86518
Full diff: 37b823771a..9063d86518

Changed dependencies
* gn_vesion: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae
* src/base: 272deef6ff..80d6bd7cc6
* src/build: 2109611dca..1a35bf2972
* src/buildtools: 61b4b91ea9..3819ac6f3d
* src/buildtools/linux64: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae
* src/buildtools/mac: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae
* src/buildtools/third_party/libc++/trunk: f8279b0108..055b2e17ae
* src/buildtools/win: git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8..git_revision:1cd35c1b722472e714c30d12031af81443bb20ae
* src/ios: a83eba10ed..0b26248597
* src/testing: 46b658b81f..a1a760920e
* src/third_party: 516d319c79..84f7bf74a3
* src/third_party/androidx: 8EW3iHyrSSsOJnUnVY3yKilFduKdTrYqL9ScMbo_kJsC..8QRU_3WDdK0VVAHe7demCsR7qoa8ba2DVzXsXGxWQKkC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e1a21f8fc3..3173309024
* src/third_party/depot_tools: e445df0bfb..3cf9180560
* src/third_party/kotlinc/current: J3BAlA7yf4corBopDhlwuT9W4jR1Z9R55KD3BUTVldQC..QSwE30iq_KLKxImEnQEwDMQM_cU10eZSAwNobs8BEsoC
* src/tools: 07a3f9982d..31bd9a2aa6
DEPS diff: 37b823771a..9063d86518/DEPS

No update to Clang.

BUG=None
Change-Id: I74cc89202146d05703df10a3a713b52f4c2cb0cd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4603228
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
2023-06-09 06:58:39 +00:00
Prashanth Swaminathan
d573f6451d Remove stale Android NDK and fix docs [2/2]
Now that chromium/base has rolled and switched the android_ndk_root to
the new android_toolchain directory, remove the stale Android NDK. Fix
up documentation that refers to stale paths and suggest the appropriate
tools to perform objdump operations.

Bug: 1448383
Test: Verified build of LibYUV.
Change-Id: I7b674052b1ef0914cf4ee81c6c6d62410e5fc569
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4583622
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
2023-06-07 21:39:59 +00:00
Prashanth Swaminathan
c1f93246f1 Roll chromium_revision fe131fc50e..37b823771a (1153201:1154522)
Change log: fe131fc50e..37b823771a
Full diff: fe131fc50e..37b823771a

Changed dependencies
* fuchsia_vesion: version:12.20230601.2.1..version:12.20230607.1.1
* src/base: d9d19543d1..272deef6ff
* src/build: e231a4281d..2109611dca
* src/buildtools/third_party/libunwind/trunk: cd144ced35..b5a43ecdac
* src/ios: 3afef852e7..a83eba10ed
* src/testing: e7bca7c48e..46b658b81f
* src/third_party: b48d8f7082..516d319c79
* src/third_party/androidx: E4FpoRyVKBQylOZrO-WBJhq6QTsB91FxVFCO0RExQfYC..8EW3iHyrSSsOJnUnVY3yKilFduKdTrYqL9ScMbo_kJsC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/db0de40862..e1a21f8fc3
* src/third_party/depot_tools: df2f11113c..e445df0bfb
* src/third_party/freetype/src: 80a507a6b8..4e1c0e8fba
* src/third_party/icu: a2961dc659..1766524877
* src/third_party/r8: iTbMDX2gRMW4nmoA8J7oToRDDsMcjm6hJNVH-RpYKIoC..4nvRHMrsaaAwaTGCTVhj-rVB4rr7rtMUb01KL83_TA8C
* src/tools: f67a56ec06..07a3f9982d
DEPS diff: fe131fc50e..37b823771a/DEPS

No update to Clang.

BUG=None
Change-Id: Iace3ce59b61f8aa8117e917b421050f3dc05e411
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4599471
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-06-07 18:51:25 +00:00
Prashanth Swaminathan
217c8e75a0 Disable the roll of 'android_ndk'
Chromium is being updated to 'android_toolchain', which means the
'android_ndk' DEPS is no longer present. Remove it from the roller until
the transition is complete, then it can be removed from this script
entirely.

Bug: 1448383
Test: Verified manual roll of libyuv.
Change-Id: I4a96e54edba9a077cb5d5214af53de5906bce8f1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4599468
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-07 18:45:56 +00:00
Frank Barchard
b08ccb6a83 FP16 to FP32 float conversion row function
Bug: None
Change-Id: I97aab6aafd41c3bf36bfbf33fdcc424e5b3fd6e3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4590225
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2023-06-07 00:02:40 +00:00
Prashanth Swaminathan
1602e4c607 Migrate Android NDK to CIPD [1/2]
The Android NDK dependency is moving to a CIPD bucket to reduce the
checkout cost and to eventually move to NDK v25. This introduces the
NDK into an 'android_toolchain' directory. Following the roll of
chromium/base in this repository, a second change will delete the old
'android_ndk' checkout. As a result, the checkout size of this
repository will temporarily increase.

Bug: 1448383
Test: Verified local builds of LibYUV.
Change-Id: I35a933e2d7853b12e155c5d2b727cd4b1c5474e5
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4583617
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-06 00:35:45 +00:00
libyuv-ci-autoroll-builder
557daab3aa Roll chromium_revision d150157638..fe131fc50e (1151057:1153201)
Change log: d150157638..fe131fc50e
Full diff: d150157638..fe131fc50e

Changed dependencies
* fuchsia_vesion: version:12.20230530.1.1..version:12.20230601.2.1
* src/base: b4c5ce6cb1..d9d19543d1
* src/build: d0c2b4cf4f..e231a4281d
* src/buildtools: edbefcee3d..61b4b91ea9
* src/buildtools/third_party/libc++abi/trunk: 5c8dbff7a4..899caea381
* src/ios: 241921896b..3afef852e7
* src/testing: a13817e1ea..e7bca7c48e
* src/third_party: 824e26c9fc..b48d8f7082
* src/third_party/androidx: Wr5b9WJiFAzJcmjmvQIePIxk5IgpDl62kaGY_SiLxJEC..E4FpoRyVKBQylOZrO-WBJhq6QTsB91FxVFCO0RExQfYC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/dd5219451c..6cf9820837
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9f3ef9c2ea..db0de40862
* src/third_party/depot_tools: 05ab73be51..df2f11113c
* src/third_party/jdk: 2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC..-1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC
* src/third_party/r8: 4Oq32DG2vuDh7Frxj6tH5xyi77sVgBWpvvl4hwvZRR4C..iTbMDX2gRMW4nmoA8J7oToRDDsMcjm6hJNVH-RpYKIoC
* src/third_party/turbine: Foa7uRpVoKr4YoayCKc9EERkjpmGOE3DAUTWFLL7gKEC..G8Cku1fztaDd9to_8gk3PNWM2iRacAxD9zcUAgUPUEAC
* src/tools: 916dfffd61..f67a56ec06
DEPS diff: d150157638..fe131fc50e/DEPS

No update to Clang.

BUG=None

Change-Id: Ifc09a530b82d61021a7acd5a2bc417da1deb226d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4588992
Commit-Queue: libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2023-06-05 14:22:52 +00:00
Vignesh Venkatasubramanian
2a6cb74319 Add macro for I012ToAB30Matrix
Uses I012ToAR30Matrix with u and v swapped and with VU suffixed
constants.

Bug: b/268505204
Change-Id: If0d189891be3053da776feb48d49fa68a9866037
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4581869
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-02 01:05:40 +00:00
Frank Barchard
157b153b60 Fix tidy warning that uint32_t dither4 should not be const
- Remove const from uint32_t dither4 parameter to fix clang-tidy warning
- Apply clang format
- Bump version
- Remove unused MMI source; superceded by MSA

Bug: None
Change-Id: Id49991db25bca4e99590b415312542d917471c62
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4581882
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-06-02 00:42:02 +00:00
Vignesh Venkatasubramanian
c0f64c14ca Add I412/I212 to I420 functions
They re-use the same method as I410/I210 to I420 with a depth
value of 12 instead of 10.

Bug: b/268505204
Change-Id: I299862b4556461d8c95f0fc1dcd5260e1c1f25cd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4581867
Commit-Queue: Vignesh Venkatasubramanian <vigneshv@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-06-01 19:50:16 +00:00
Vignesh Venkatasubramanian
1cd65f7865 Android.bp: Add -DLIBYUV_UNLIMITED_DATA flag
This was added in the android internal master here: ag/19780505.

This keeps the upstream checkout in sync with the android
snapshot.

Bug: b/268505204
Change-Id: Ie821ebb6914c208b0cfa7127faf56ad2bcece6ac
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4581052
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Vignesh Venkatasubramanian <vigneshv@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2023-06-01 19:25:27 +00:00
Brian Sheedy
f713f69be9 Update vpython3 requests
Updates the requests version in .vpython3 to the latest available in
order to pick up a security fix. Also changes the requested version to
the Python 3-only one since Python 2 support was removed from requests.

Bug: chromium:1448265
Change-Id: I6eb4081735aee77f38793a00e9f17bdd32a52c58
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4581054
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2023-06-01 19:06:40 +00:00
Mirko Bonadei
47731743bf Use walleye instead of bullhead
Bug: None
Change-Id: Iaa17f73afca4db09e6c176b7771c02dfbcea6cb0
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4580128
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2023-06-01 15:43:00 +00:00
Mirko Bonadei
06bd62e9b1 Move from Mac-10.15 to Mac-12
Bug: chromium:1273556
Change-Id: Idaf61210ac9028ac664fde5c369d3de3fc092819
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4577786
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
2023-06-01 12:12:34 +00:00
Prashanth Swaminathan
ee2819a6ba Roll chromium_revision 84f3f93bac..d150157638 (1140362:1151057)
Change log: 84f3f93bac..d150157638
Full diff: 84f3f93bac..d150157638

Changed dependencies
* fuchsia_vesion: version:10.20221110.2.1..version:12.20230530.1.1
* gn_vesion: git_revision:6f13aaac55a977e1948910942675c69f2b4f7a94..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* ninja_vesion: version:2@1.8.2.chromium.3..version:2@1.11.1.chromium.6
* reclient_vesion: re_client_version:0.81.1.0853992-gomaip..re_client_version:0.107.1.0b39c4c-gomaip
* src/base: 9d22e0aa98..b4c5ce6cb1
* src/build: 76a2b25f9d..d0c2b4cf4f
* src/buildtools: a26ff314e9..edbefcee3d
* src/buildtools/linux64: git_revision:6f13aaac55a977e1948910942675c69f2b4f7a94..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* src/buildtools/mac: git_revision:6f13aaac55a977e1948910942675c69f2b4f7a94..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* src/buildtools/reclient: re_client_version:0.81.1.0853992-gomaip..re_client_version:0.107.1.0b39c4c-gomaip
* src/buildtools/third_party/libc++abi/trunk: 66967963e9..5c8dbff7a4
* src/buildtools/third_party/libunwind/trunk: 88bd83fe09..cd144ced35
* src/buildtools/win: git_revision:6f13aaac55a977e1948910942675c69f2b4f7a94..git_revision:e3978de3e8dafb50a2b11efa784e08699a43faf8
* src/ios: 4acfa83682..241921896b
* src/testing: 1db5c29c08..a13817e1ea
* src/third_party: 223a8c15c8..824e26c9fc
* src/third_party/android_build_tools/aapt2: version:3.6.0-alpha03-5516695-cr0..STY0BXlZxsEhudnlXQFed-B5UpwehcoM0sYqor6qRqsC
* src/third_party/android_deps/libs/com_google_auto_value_auto_value_annotations: version:2@1.9.cr1..version:2@1.10.1.cr1
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotations: version:2@2.14.0.cr1..version:2@2.18.0.cr1
* src/third_party/android_deps/libs/com_google_guava_guava: version:2@31.0.1-jre.cr1..version:2@31.1-jre.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm: version:2@9.2.cr1..version:2@9.5.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_analysis: version:2@9.2.cr1..version:2@9.5.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_commons: version:2@9.2.cr1..version:2@9.5.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_tree: version:2@9.2.cr1..version:2@9.5.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_util: version:2@9.2.cr1..version:2@9.5.cr1
* src/third_party/android_deps/libs/org_robolectric_annotations: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_junit: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_nativeruntime: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_pluginapi: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_plugins_maven_dependency_resolver: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_resources: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_robolectric: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_sandbox: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_shadowapi: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_shadows_framework: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_shadows_playservices: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_utils: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_deps/libs/org_robolectric_utils_reflector: version:2@4.8.1.cr1..version:2@4.10.3.cr1
* src/third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/8388a2be54..310956bd12
* src/third_party/android_sdk/public: IPzAG-uU5zVMxohpg9-7-N0tQC1TCSW1VbrBFw7Ld04C..EWnL2r7oV5GtE9Ef7GyohyFam42wtMtEKYU4dCb3U1YC
* src/third_party/android_sdk/public: eo5KvW6UVor92LwZai8Zulc624BQZoCu-yn7wa1z_YcC..YWMYkzyxGBgVsty0GhXL1oxbY0pGXQIgFc0Rh7ZMRPYC
* src/third_party/androidx: c8XCgnDa6lP6C1IcJKADz2cE9moc4Ohv4JGKUaWotKYC..Wr5b9WJiFAzJcmjmvQIePIxk5IgpDl62kaGY_SiLxJEC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/1b724a6b8c..dd5219451c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e2a65ffc7d..9f3ef9c2ea
* src/third_party/depot_tools: bcb9577a46..05ab73be51
* src/third_party/freetype/src: 9127c68f59..80a507a6b8
* src/third_party/harfbuzz-ng/src: 2175f5d050..8df5cdbcda
* src/third_party/icu: d8daa943f6..a2961dc659
* src/third_party/jdk: PfRSnxe8Od6WU4zBXomq-zsgcJgWmm3z4gMQNB-r2QcC..2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC
* src/third_party/kotlin_stdlib: Mg7371mEUwDQH4_z29HdWqYWVlXN6t2dXX0kIutg_SwC..z4_AYYz2Tw5GKikuiDLTuxxf0NJVGLkC3CVcyiIpc-gC
* src/third_party/kotlinc/current: bCZedwoM-hb1pP1QKzA3P5aR4zjZltqLj4JQpmQsHuUC..J3BAlA7yf4corBopDhlwuT9W4jR1Z9R55KD3BUTVldQC
* src/third_party/ninja: version:2@1.8.2.chromium.3..version:2@1.11.1.chromium.6
* src/third_party/objenesis: 9e367f55e5a65781ee77bfcbaa88fb82b30e75c0..tknDblENYi8IaJYyD6tUahUyHYZlzJ_Y74_QZSz4DpIC
* src/third_party/r8: szXK3tCGU7smsNs4r2mGqxme7d9KWLaOk0_ghbCJxUQC..4Oq32DG2vuDh7Frxj6tH5xyi77sVgBWpvvl4hwvZRR4C
* src/third_party/r8/d8: Qn31g4m2cofkyvGgm46Uzkzds5DKdNYrdPePwRkVnv4C..PwglNZFRNPkBBXdnY9NfrZFk2ULWDTRxhV9rl2kvkpUC
* src/third_party/robolectric: iC6RDM5EH3GEAzR-1shW_Mg0FeeNE5shq1okkFfuuNQC..hzetqh1qFI32FOgQroZvGcGdomrgVBJ6WKRnl1KFw6EC
* src/third_party/sqlite4java: 889660698187baa7c8b0d79f7bf58563125fbd66..LofjKH9dgXIAJhRYCPQlMFywSwxYimrfDeBmaHc-Z5EC
* src/third_party/turbine: Om6yIEXgJxuqghErK29h9RcMH6VaymMbxwScwXmcN6EC..Foa7uRpVoKr4YoayCKc9EERkjpmGOE3DAUTWFLL7gKEC
* src/tools: da6696c8e4..916dfffd61
Added dependencies
* src/third_party/android_deps/libs/org_robolectric_nativeruntime_dist_compat
* src/third_party/android_deps/libs/org_bouncycastle_bcprov_jdk18on
Removed dependency
* src/third_party/android_deps/libs/org_bouncycastle_bcprov_jdk15on
DEPS diff: 84f3f93bac..d150157638/DEPS

Clang version changed llvmorg-17-init-10134-g3da83fba:llvmorg-17-init-12166-g7586aeab
Details: 84f3f93bac..d150157638/tools/clang/scripts/update.py

BUG=None
Change-Id: I5a02f5e9137268bf131f472d05af8b29311ec50e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4576442
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
2023-05-31 14:15:27 +00:00
Prashanth Swaminathan
e5a976f6f5 Add //third_party/cpu_features to DEPS
Chromium is migrating uses of //third_party/android_ndk:cpu_features to
//third_party/cpu_features:ndk_compat upstream. Add the repository here
to fix the roller.

Bug: 1446042
Change-Id: I89344ed308b8168547f26f217f05013c87b60bb1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4576444
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
2023-05-31 13:51:50 +00:00
Prashanth Swaminathan
564dca8cc5 Handle DEPS targets that target the HEAD revision
Some targets in DEPS files do not specify a revision and always pull the
HEAD revision instead. In these cases, the URL is not split by '@'.
Handle these cases by assuming HEAD.

Test: Verified local roll attempt does not fail when processing DEPS.
Change-Id: I649195d90933ed58a18d76c20ac7d80ab01c295d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4568777
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2023-05-30 17:39:51 +00:00
Bruce Lai
4b6373d189 [RVV] Use LMUL=2 for I4{44,22}To{ARGB,RGB24,RGBA} conversion
Replace vv+m1(LMUL=1) with vx+m2(LMUL=2).
Some kernels' asm code might contain register spill(1~2).

Change-Id: Ie3655f250d17f37c1ba9039474ece43ede98ede0
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4573159
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-30 09:42:10 +00:00
Darren Hsieh
d14bd701c8 [RVV] Enable CopyRow_RVV, InterpolateRow_RVV, {Merge,Split}UVRow_RVV
* Run on SiFive internal FPGA:

MergeUVPlane_Opt(~6x vs scalar)
SplitUVPlane_Opt(~6x vs scalar)
TestCopyPlane(~8x vs scalar)
ARGBInterpolate0_Opt(~10x vs scalar)
ARGBInterpolate64_Opt(~9x vs scalar)
ARGBInterpolate168_Opt(~9x vs scalar)
ARGBInterpolate192_Opt(~8.5x vs scalar)
ARGBInterpolate255_Opt(~8x vs scalar)

Bug: libyuv:956
Change-Id: I8372341865f75f42e30371ef943d5c2e4be7b79a
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4574186
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-05-30 09:10:35 +00:00
Frank Barchard
78d168054b Remove extraneous quote from clobber list
Bug: None
Change-Id: Ie20574d0f9c8c2f074247405b294b49c3406448d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4568770
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2023-05-30 09:03:05 +00:00
Justin Green
0e111d2c58 Wrap neon registers in {} for the neon MT2T unpack implementation. Some compilers throw a syntax error otherwise.
Change-Id: Ic169dcfe4d9bb9bf6d0dcae977d6cf510a7a60bf
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4568904
Commit-Queue: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-26 17:12:02 +00:00
Frank Barchard
22c7a51452 Fix SplitRGB clobber list to include all registers used
Bug:  None
Change-Id: Icac4becb0537903ab87495fb0e2a2b750e1eca4f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4563355
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: David Gao <davidgao@google.com>
2023-05-24 21:44:59 +00:00
Wan-Teh Chang
dcbe082070 Save boxwidth - minboxwidth in a local variable
Avoid repetitions of the expression boxwidth - minboxwidth.

Change-Id: Ib53fb6b06a926b80ff9a64cc5d499aeef0894c99
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4408062
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-22 19:10:13 +00:00
Bruce Lai
de3e7fd147 Manually remove rounding value inside yb(yuvconstant) in row_rvv.cc
After libyuv:961 is completed, yb(yuvconstant) will no longer contain rounding bias +32 for fixed-point.
This CL removes rounding bias(-32) manmually in row_rvv.cc.
Hence, all fixed-point related codes' rounding mode is changed to round-to-nearest-up "0" in row_rvv.cc.

Also, replace vwmul+vnsrl w/ vmulh in I400ToARGBRow_RVV.

Bug: libyuv:956, libyuv:961
Change-Id: I10e34668a2332e38393e9d68414f07aafb6c7cf7
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4550591
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-22 18:15:27 +00:00
Wan-Teh Chang
179b0203e5 Enable {J400/I400}ToARGBRow_RVV
Run on SiFive internal FPGA*:

I400ToARGB_Opt (~8x vs scalar)
J400ToARGB_Opt (~10x vs scalar)

LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10

Bug: libyuv:956, libyuv:961
Change-Id: If4e21ec85c4ff79083ec16a6faae0e457129a8de
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4544972
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Wan-Teh Chang <wtc@google.com>
2023-05-20 23:29:33 +00:00
Lu Wang
8670bcf17f Optimize the following 19 functions with LSX in row_lsx.cc.
UYVYToYRow_LSX, UYVYToUVRow_LSX, UYVYToUV422Row_LSX,
ARGBToUVRow_LSX, ARGBToRGB24Row_LSX, ARGBToRAWRow_LSX,
ARGBToRGB565Row_LSX, ARGBToARGB1555Row_LSX, ARGBToARGB4444Row_LSX,
ARGBToUV444Row_LSX, ARGBMultiplyRow_LSX, ARGBAddRow_LSX,
ARGBSubtractRow_LSX, ARGBAttenuateRow_LSX, ARGBToRGB565DitherRow_LSX,
ARGBShuffleRow_LSX, ARGBShadeRow_LSX, ARGBGrayRow_LSX,
ARGBSepiaRow_LSX

Bug: libyuv:913
Change-Id: I02c0c9d68b229c4a66c96837e9b928c2f5dda1f3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4546814
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-05-19 18:55:58 +00:00
Frank Barchard
a37799344d ARGBToI420Alpha function to convert ARGB to I420 with Alpha
Bug: b/281866362
Change-Id: Ic1093a887fb483f134c78909cf1ee7495e7345ba
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4534100
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2023-05-17 00:23:24 +00:00
Bruce Lai
11d4536002 Enable I{422,444}AlphaToARGBRow_RVV & ARGBAttentuateRow_RVV
Run on SiFive internal FPGA:

I444AlphaToARGB_Opt (~16x vs scalar)
I422AlphaToARGB_Opt (~10x vs scalar)
ARGBAttenuate_Opt (~3x vs scalar)

LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10

Change-Id: I0046eb7af8104bc8e13cee1cb91a19f90940d5b0
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4535657
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-16 19:20:49 +00:00
Frank Barchard
6a68b18a96 Bump version and apply clang format
Bug: libyuv:956
Change-Id: I2375a02583789af2a5f13f8dba6c663d5975aaa9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4522352
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-05-11 11:27:28 +00:00
Bruce Lai
59eae49f17 Enable ARGBToYMatrixRow_RVV/RGBAToYMatrixRow_RVV/RGBToYMatrixRow_RVV
Run on SiFive internal FPGA:

ARGBToJ400_Opt (~6x vs scalar)
RGBAToJ400_Opt (~6x vs scalar)
RGB24ToJ400_Opt (~5.5x vs scalar)

LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10

Change-Id: Ia3ce8cea7962fbd8618cc23e850a7913c9cabf4f
Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4521783
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-05-11 10:17:51 +00:00
Darren Hsieh
497ea35688 Enable I444To{ARGB,RGB24}Row_RVV
Run on SiFive internal FPGA:

I444ToARGB_Opt (~16x vs scalar)
I444ToRGB24_Opt (~10x vs scalar)

LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10

Change-Id: Idae7dc46ef648beaa14b58ba3eb56b67b17c9b3b
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4520761
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-10 19:50:56 +00:00
Darren Hsieh
964d963afb Enable I422To{ARGB,RGBA,RGB24}Row_RVV
Run on SiFive internal FPGA:

I422ToARGB_Opt (~10x vs scalar)
I422ToRGBA_Opt (~10x vs scalar)
I420ToRGB24_Opt (~8x vs scalar)

LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=10

This CL manually sets rounding mode,
since we use fixed-point vector narrowing clip.
There is no definition about default value for fixed-point rounding mode.
https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#38-vector-fixed-point-rounding-mode-register-vxrm
The behavior could be different on differet paltforms. To avoid unexpected behavior, we set rounding mode manually.

Change-Id: I90f0dcb90c37f7da7caab8eb1df6c9c7a3c874a8
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4512373
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-10 00:29:20 +00:00
Lu Wang
1d940cc570 Optimize the following functions with LSX.
MirrorRow_LSX, MirrorUVRow_LSX, ARGBMirrorRow_LSX,
I422ToYUY2Row_LSX, I422ToUYVYRow_LSX, I422ToARGBRow_LSX,
I422ToRGBARow_LSX, I422AlphaToARGBRow_LSX, I422ToRGB24Row_LSX,
I422ToRGB565Row_LSX, I422ToARGB4444Row_LSX, I422ToARGB1555Row_LSX,
YUY2ToYRow_LSX, YUY2ToUVRow_LSX, YUY2ToUV422Row_LSX

Bug: libyuv:913
Change-Id: I46cec605001d7ddd73846eed6d0a77f936b6dc53
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4515191
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-10 00:25:48 +00:00
James Zern
b372510c56 row_win.cc: fix ARM64EC build
include intrin.h rather than emmintrin.h; fixes:
C:\...\VC\Tools\MSVC\14.35.32215\include\emmintrin.h(28,1):
fatal  error C1189: #error:  this header should only be included through

Change-Id: Ief9c81f6f1971e552c8aac301d678b64fe5bd7cc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4513825
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-09 19:56:35 +00:00
shaodiwei
4c209d264d MergeUVRow_AVX2 implementation is consistent in row_win.cc and row_gcc.cc,the commit can fix memory is wrote out of bounds
Change-Id: I4b771a46fc853effc4c0fa3ae8032322a8369dc9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4514810
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-05-09 18:54:25 +00:00