2313 Commits

Author SHA1 Message Date
Hao Chen
3b8c86d23a Fix bugs on mips platform.
This patch fixes compilation errors caused by the removal of kUVBias
and two failed test cases of LibYUVConvertTest.RGB565ToI420_Opt and
LibYUVConvertTest.ARGB1555ToI420_Opt.

Bug: libyuv:918
Change-Id: I1a66bcd7ef616aacbeca5b4015013015ccdf0f18
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3477416
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-02-22 18:24:02 +00:00
Justin Green
b4ddbaf549 Add support for MM21.
Add support for MM21 to NV12 and I420 conversion, and add SIMD
optimizations for arm, aarch64, SSE2, and SSSE3 machines.

Bug: libyuv:915, b/215425056
Change-Id: Iecb0c33287f35766a6169d4adf3b7397f1ba8b5d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3433269
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Justin Green <greenjustin@google.com>
2022-02-03 17:01:49 +00:00
Frank Barchard
804980bbab DetilePlane and unittest for NEON
Bug: libyuv:915, b/215425056
Change-Id: Iccab1ed3f6d385f02895d44faa94d198ad79d693
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3424820
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-31 20:05:55 +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
Hao Chen
2f87e9a713 Add optimization functions in scale_lsx.cc file.
Optimize 20 functions in source/scale_lsx.cc file.
All test cases passed on loongarch platform.

Bug: libyuv:913

Change-Id: I85bcb3b0bfd9461bb6f93202546507352cbd624a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3351469
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2022-01-21 01:34:38 +00:00
Hao Chen
f8e2da48ae Add optimization functions in rotate_lsx.cc file.
Optimize two functions in source/rotate_lsx.cc file.
All test cases passed on loongarch platform.

Bug: libyuv:913
Change-Id: Idf670a1bc078f6284a499a292e0cb795f5b603b4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3351468
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2022-01-21 01:34:38 +00:00
Hao Chen
dfe046d272 Add optimization functions in row_lsx.cc file.
Optimize 44 functions in source/row_lsx.cc file.
All test cases passed on loongarch platform.

Bug: libyuv:913
Change-Id: Ic80a5751314adc2e9bd435f2bbd928ab017a90f9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3351467
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2022-01-21 01:34:38 +00:00
Hao Chen
de8ae8c679 Add optimization functions in row_lasx.cc file.
Optimize 32 functions in source/row_lasx.cc file.
All test cases passed on loongarch platform.

Bug: libyuv:912
Signed-off-by: Hao Chen <chenhao@loongson.cn>
Change-Id: I7d3f649f753f72ca9bd052d5e0562dbc6f6ccfed
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3351466
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-21 01:34:38 +00:00
Hao Chen
51de1e16f2 Add supports for loongarch LSX and LASX.
1. Add supports for LSX and LASX.
2. Three optimization functions are added in loongarch/row_lasx.cc file:
   I422ToARGBRow_LASX,I422ToRGBARow_LASX,I422AlphaToARGBRow_LASX.

Bug: libyuv:912, Bug: libyuv:913
Change-Id: I043c2704f99a5215724b5c0b7f97e6bf5f7a199b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3329189
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-20 19:25:38 +00:00
Frank Barchard
90ffd5cba9 I420ToARGB for AVX512
On Skylake Xeon
AVX512  I420ToARGB_Opt (2050 ms)
AVX2    I420ToARGB_Opt (2533 ms)
SSSE3   I420ToARGB_Opt (3688 ms)

Bug: libyuv:911
Change-Id: I2214cc15dec24b06541895ca59d88990edbb2216
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3382100
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-14 09:17:33 +00:00
Frank Barchard
cdd62da670 VNNI detect
Bug: libyuv:911
Change-Id: Ic4e7720b4d5c20010470f06a7021d1a2426e765f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3381495
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-12 07:08:20 +00:00
Mirko Bonadei
b91df1a02e Set Bot-Commit and Commit-Queue.
Bug: chromium:1283158
Change-Id: Ie93ea0aac310e980fbb5918beb938e8e7e704189
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3358581
Reviewed-by: Christoffer Jansson <jansson@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2022-01-04 08:27:38 +00:00
Mirko Bonadei
6862f18e73 Roll chromium_revision eaac4f14d9..829c6df33d (902913:945687)
Change log: eaac4f14d9..829c6df33d
Full diff: eaac4f14d9..829c6df33d

Changed dependencies:
* src/base: 4045370905..e9e6396224
* src/build: fd86d60f33..dcea344303
* src/buildtools: 37dc929ecb..075dd7e228
* src/buildtools/clang_format/script: 99803d74e3..99876cacf7
* src/buildtools/third_party/libc++abi/trunk: 7d5c92f6cf..665b74f7d1
* src/buildtools/third_party/libunwind/trunk: d7b11d7989..f51a154281
* src/ios: 57422bee2c..81826d980c
* src/testing: c4bd9205ee..f4e42be132
* src/third_party: f7d9d7e9dd..42c249feeb
* src/third_party/auto/src: 00cb81ed09..fe67d853d6
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/a10017c548..3a667d10e9
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5cb305306a..75423c310e
* src/third_party/depot_tools: a806594b95..2ffa1bde79
* src/third_party/freetype/src: 86b9c9347f..cff026d415
* src/third_party/googletest/src: 4ec4cd23f4..e2f3978937
* src/third_party/harfbuzz-ng/src: cc9bb29491..64b29dbd59
* src/third_party/icu: 2a822c5626..bf66d373ae
* src/third_party/libjpeg_turbo: ad8b3b0f84..02959c3ee1
* src/third_party/libunwindstack: b34a0059a6..6868358481
* src/third_party/nasm: e9be5fd6d7..9215e8e1d0
* src/tools: 4f73c6f51d..198dc87952
DEPS diff: eaac4f14d9..829c6df33d/DEPS

Clang version changed llvmorg-13-init-15163-g98033fdc:llvmorg-14-init-8564-g34b903d8
Details: eaac4f14d9..829c6df33d/tools/clang/scripts/update.py

TBR=mbonadei@chromium.org
BUG=None

Change-Id: I812adfcc75a3b0d96555ebd86eae20647aff6931
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3304752
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-12-21 13:20:14 +00:00
Mirko Bonadei
1be5734e5a Fix gclient sync python3 errors.
Bug: None
Change-Id: I3b87d0064473336a6ca3a1176c17f219ae0a2eb4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3347644
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-12-20 19:47:32 +00:00
Frank Barchard
78625492cb InterpolateRow_AVX2 use AVX2 instead of ERMS for 100%
Bug: b/210066781
Change-Id: I709e403f03bd6b9f8fe693b165b242b784076fe0
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3329072
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-12-15 03:54:18 +00:00
Frank Barchard
fdc71956bd InterpolateRow_AVX2 - extend width count to 64 bits
Bug: b/210066781
Change-Id: Ib9052d8edfce29b95ca02a6f7254d3ff35d2b64d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3329070
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-12-10 04:11:18 +00:00
Frank Barchard
d7a2d5da87 J400ToARGB optimized for Exynos using ZIP+ST1
Bug: 204562143
Change-Id: I56c98198c02bd0dd1283f1c14837730c92832c39
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3328702
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-12-10 01:00:07 +00:00
Mirko Bonadei
c5d48a11f9 Fix -Wshadow.
Bug: libyuv:910
Change-Id: I3b74cef99823ffc5e67a77dc223d560d5fdfd8b2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3310893
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-12-06 12:17:53 +00:00
Takuto Ikuta
63ce1d0585 DEPS: use python3
Bug: chromium:1208028
Change-Id: Ia59abc88404cd0101dd099e1ed93d449fef71d84
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3303290
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-11-26 12:32:53 +00:00
Frank Barchard
000806f373 NV21ToYUV24 replace ST3 with ST1. ARGBToAR64 replace ST2 with ST1
On Samsung S8 Exynos M2
Was ST3 NV21ToYUV24_Opt (769 ms)
Now ST1 NV21ToYUV24_Opt (473 ms)
Was ST2 ARGBToAR64_Opt (1759 ms)
Now ST1 ARGBToAR64_Opt (987 ms)

Skylake Xeon, AVX2 version:
Was NV21ToYUV24_Opt (885 ms)
Now NV21ToYUV24_Opt (194 ms)

Bug: b/204562143, b/124413599
Change-Id: Icc9cb64d822cd11937789a4e04fbb773b3e33aa3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3290664
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-11-24 07:38:49 +00:00
Frank Barchard
a04e4f87fb Fix scale any mask parameter bug for NV12Scale
Bug: None
Change-Id: Ib4e174c086162ee709faf4b04c7d5d5847a7de3d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3267488
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-11-08 20:00:04 +00:00
Frank Barchard
fa043c7a64 Android420ToI420Rotate function to convert with rotation
- adapted from Android420ToI420, adding a rotation parameter
- SplitRotateUV added to rotate and split the UV channel of NV12 or NV21
- rename RotateUV functions to SplitRotateUV

Bug: b/203549508
Change-Id: I6774da5fb5908fdf1fc12393f0001f41bbda9851
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3251282
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-10-28 22:38:04 +00:00
Frank Barchard
b179f1847a Enable SIMD for exact RGB to Y conversions
Bug: libyuv:908, b/202888439
Change-Id: Icc5470b85d91b441ded9958ee04b4f32246646f0
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3230489
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-10-19 07:54:50 +00:00
Frank Barchard
f0cfc1f1c8 ubsan friendly unaligned tests
- ubsan complains on unaligned tests when an int16 or int32 is stored unaligned in C.
Although current Intel, ARM, Mips and PPC can do unaligned load/store, its not guaranteed
and could crash a CPU that doesnt support it.
- unaligned tests use offset of 2 or 4, which ubsan accepts.
- unittest fills in random buffer with 2 bytes at a time instead of a short.
- row common functions for int16 types use 2 shorts instead of 1 int.

Bug: libyuv:908, b/203243873
Change-Id: Idf13fa901647d7b0975f1947291caa781999a9bc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3229782
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-10-18 18:03:28 +00:00
Frank Barchard
55b97cb48f BIT_EXACT for unattenuate and attenuate.
- reenable Intel SIMD unaffected by BIT_EXACT
- add bit exact version of ARGBAttenuate, which uses ARM version of formula.
- add bit exact version of ARGBUnatenuate, which mimics the AVX code.

Apply clang format to cleanup code.

Bug: libyuv:908, b/202888439
Change-Id: Ie842b1b3956b48f4190858e61c02998caedc2897
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3224702
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-10-15 19:46:02 +00:00
Frank Barchard
11cbf8f976 Add LIBYUV_BIT_EXACT macro to force C to match SIMD
- C code use ARM path, so NEON and C match
- C used on Intel platforms, disabling AVX.

Bug: libyuv:908, b/202888439
Change-Id: Ie035a150a60d3cf4ee7c849a96819d43640cf020
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3223507
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-10-14 20:37:39 +00:00
Frank Barchard
daf9778a24 Fix for failed compile with armv-7a neon gcc
Bug: libyuv:907
Change-Id: I955e83c72b57ce5ba45730030b32f337be610a21
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3216739
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-10-12 18:17:50 +00:00
Frank Barchard
d13d9d5972 Disable slow and redundant scaling tests
- Filter None and Filter Linear disabled
- Filter Box disabled in UV and ARGB scaling
- Tests are only disabled if DISABLE_SLOW_TESTS macro is set.

Bug: b/197551385
Change-Id: If0a357541412dc762e61c98ef0d80a2c86292177
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3194126
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-09-30 18:08:20 +00:00
Frank Barchard
b9bd1b5537 DISABLE_SLOW_TESTS replaces ENABLE_SLOW_TESTS
- change default to enable all tests for better test/bot coverage
- DISABLE_SLOW_TESTS turns off tests that are redundent or unoptimized

Bug: libyuv:905, b/197551385
Change-Id: Ia720526864af774a009852751a1a85c6b1b7f978
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3183099
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-09-27 22:40:43 +00:00
Frank Barchard
48d167108f Prune conversion tests to OPT and I420 variations
- ENABLE_FULL_TESTS added internally to select which tests to build

Bug: libyuv:905, b/197551385
Change-Id: Ib4add87fee829402321fd65acebeb6123bf19ec4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3183182
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-09-25 00:03:41 +00:00
Frank Barchard
a836585cb6 Scale Test3x, Test4x use larger size to avoid div benchmarking bottleneck
Bug: None
Change-Id: I7876e944a43c2a927e2b7e4d501da7d2cd7323fa
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3180372
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-09-24 02:01:50 +00:00
Frank Barchard
b92a60320f ConvertFromI420 respect destination stride for NV12 and NV21
Bug: libyuv:904
Change-Id: Ie1fd39c693e64661eb52f75492a261384db70776
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3176483
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-09-22 19:44:06 +00:00
Frank Barchard
33a68ec779 JPeg decoder remove assert when out of data
Bug: b/186665202
Change-Id: I406cc2ef8cfa2cdf987d41c4bd85d3024aedfaab
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3166710
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-09-16 23:11:14 +00:00
Frank Barchard
ed5a9c81de change ld1 to ldr for memory references to allow GCC to use an offset
Bug: chromium:819294, libyuv:903
Change-Id: I1cd19cc5a068c421d1112c9ea6090e18fb002a4c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3152821
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-09-09 23:46:46 +00:00
Stephan Hartmann
c6ed1b8f0e GCC: force memory address without offset on aarch64
With "m" GCC generates a memory address with offset which is
not allowed with ld1 on aarch64. Change constraint to "Q" to
force address without offset.

Bug: chromium:819294, libyuv:903
Change-Id: Iaae24bc6882cdef823259040a37fdbfc31f91185
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2922146
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-09-09 22:20:27 +00:00
Takuto Ikuta
0896c34873 remove swarming_client
Python client is deprecated.

This removes all references in this repository.
https://source.chromium.org/search?q=swarming_client&sq=&ss=chromium%2Fchromium%2Fsrc:third_party%2Flibyuv%2F

Bug: chromium:984869
Change-Id: I48b2c7c465c556069ef82105a61983002904943c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3115611
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-09-09 07:11:45 +00:00
Mirko Bonadei
db32cbfe1d Remove xtream from DEPS.
No-Try: True
Bug: chromium:1245605
Change-Id: I1e8d34e690cda7b7777567d69b4299864e2085c1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3138508
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-09-02 17:30:51 +00:00
Frank Barchard
639dd4ea76 Fix ConvertToI420 when using YUY2 or UYVY with odd crop_x.
- swap U and V when crop x is odd
- document YUY2 and UYVY formats
- apply clang-format

Bug: libyuv:902
Change-Id: I045e44c907f4a9eb625d7c024b669bb308055f32
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3039549
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-07-19 22:22:22 +00:00
Mirko Bonadei
0572e0a0b1 Add generate_location_tags.py to DEPS.
No-Try: True
Bug: libyuv:880
Change-Id: If21a19960e50fb803a2b5b5a2daa19e086bff4b6
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3039739
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-07-19 19:05:20 +00:00
Mirko Bonadei
2167994165 Roll chromium_revision 64c8c30faa..eaac4f14d9 (824854:902913)
First roll in almost a year, android device tests fail but that
needs to be fixed separately.

Change log: 64c8c30faa..eaac4f14d9
Full diff: 64c8c30faa..eaac4f14d9

Changed dependencies:
* src/base: e096814b04..4045370905
* src/build: 2d2f9f2b85..fd86d60f33
* src/buildtools: 6302c11756..37dc929ecb
* src/buildtools/third_party/libc++/trunk: d9040c75cf..79a2e924d9
* src/buildtools/third_party/libc++abi/trunk: 196ba1aaa8..7d5c92f6cf
* src/buildtools/third_party/libunwind/trunk: d999d54f4b..d7b11d7989
* src/ios: 60ef55beac..57422bee2c
* src/testing: 40b4417105..c4bd9205ee
* src/third_party: 24ccdf9b75..f7d9d7e9dd
* src/third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/27c0a8d090..401019bf85
* src/third_party/auto/src: f40317ae21..00cb81ed09
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/1607f54fed..a10017c548
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ccc9dd2835..5cb305306a
* src/third_party/depot_tools: 91bb7506bd..a806594b95
* src/third_party/freetype/src: 26e2a89598..86b9c9347f
* src/third_party/googletest/src: 4fe018038f..4ec4cd23f4
* src/third_party/harfbuzz-ng/src: c39ab82c90..cc9bb29491
* src/third_party/icu: c2a4cae149..2a822c5626
* src/third_party/libjpeg_turbo: d5148db386..ad8b3b0f84
* src/third_party/libunwindstack: 11659d420a..b34a0059a6
* src/third_party/lss: https://chromium.googlesource.com/linux-syscall-support.git/+log/29f7c7e018..92a65a8f5d
* src/third_party/nasm: 19f3fad68d..e9be5fd6d7
* src/third_party/robolectric/robolectric: 2f3e0a3ac4..123d61524d
* src/tools: 1bb7c085e6..4f73c6f51d
* src/tools/swarming_client: d46ea7635f..a32a1607f6
DEPS diff: 64c8c30faa..eaac4f14d9/DEPS

Clang version changed llvmorg-12-init-10666-gc9f69ee7:llvmorg-13-init-15163-g98033fdc
Details: 64c8c30faa..eaac4f14d9/tools/clang/scripts/update.py

TBR=fbarchard@chromium.org
BUG=libyuv:891
No-Try: True
Change-Id: I17c9ae10b1ba1c9b39810f390bbddafa149e1512
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3035171
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-07-19 17:22:35 +00:00
Mirko Bonadei
15c788ea04 Keep turbine only has a CIPD dependency.
No-Try: True
TBR=fbarchard@chromium.org
Bug: libyuv:891
Change-Id: Id0c1e82e4722d37018e3fe76075f4a59fb478ce4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3035170
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-07-19 08:28:21 +00:00
Frank Barchard
d19f69d9df Update Android.bp to always enable NEON
Relax Cpu unittest to allow ARM emulator to run.

Bug: libyuv:863, libyuv:877, b/178283356
Change-Id: I3c751574219fdf731a3f9d4a79934a349acba446
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2950938
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2021-06-10 19:31:48 +00:00
Stephan Hartmann
6ea7647b6e GCC: replace mov .8h with mov .16b
mov Vy.8h, Vx.8h isn't a valid instruction. Clang/LLVM
automatically replace it with mov Vy.16b, Vx.16b.

Bug: chromium:819294
Change-Id: I8a0cbf2e6c4efcc6c1e38812cee949bde7e99b11
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2922147
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-06-01 17:44:56 +00:00
Frank Barchard
5b3351bd07 Fix ARGB1555ToI420 odd width bug in C code.
Was
[ RUN      ] LibYUVConvertTest.ARGB1555ToI420_Any
third_party/libyuv/files/unit_test/convert_test.cc:1139: Failure
Expected equality of these values:
  dst_uv_c[i * kStrideUV + j]
    Which is: '\x8B' (139)
  dst_uv_opt[i * kStrideUV + j]
    Which is: '\x92' (146)
third_party/libyuv/files/unit_test/convert_test.cc:1139: Failure

[  FAILED  ] LibYUVConvertTest.ARGB1555ToI420_Any

Now
[ RUN      ] LibYUVConvertTest.ARGB1555ToI420_Any
[       OK ] LibYUVConvertTest.ARGB1555ToI420_Any (0 ms)

Bug: libyuv:894, b/155722711
Change-Id: I12dcacd0ecfff4ede5693a2554e9bb10dc8586c1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2870484
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-05-04 19:03:22 +00:00
Frank Barchard
2f0cbb9ede Work around for qemu on cpu unittest that loads /proc/cpuinfo
Bug: None
Change-Id: I067c3e02f43752578204d80738bb9ff40947435e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2865720
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-05-03 17:28:55 +00:00
Frank Barchard
49ebc996aa Make 2 step transitive tests measure 2 step time.
Add tests of all macros used by libyuv public headers

When a 1 step conversion is added, a 2 step test can compare
the old 2 step method to the 1 step.  A 1 step unittest is
also added which compares C to SIMD.  Making the 2 step
conversions measure performance of the 2 steps allows the
old 2 step performance to be compared to 1 step.

All macros used in public headers are added to an ifdef test.
Showing them in a unittest allows some diagnostics when
a test is failing.

Bug: libyuv:901
Change-Id: I7ffa6ed0cb3b506fa1b7fd4b7b1b729658c3c266
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2857916
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-04-30 18:14:57 +00:00
Yuan Tong
99cddd8051 Fix ARM YuvConstants value
R=fbarchard@chromium.org

Bug: libyuv:901
Change-Id: Ie2f9ac214a2a7462cc613f510b64308d3b861b74
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2856225
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-04-29 15:57:20 +00:00
Mirko Bonadei
eb6e7bb637 Fix autoroller main branch.
TBR=fbarchard@chromium.org
No-Try: True
Bug: libyuv:891
Change-Id: I33c31c2c675896ac936e216b246285052f74a51b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2854602
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-04-28 15:34:12 +00:00
Andrii Shyshkalov
51c6d12e7d [infra] remove no longer supported git cl upload setting.
Well, I really want a whitespace CL.

R=mbonadei

No-Try: true
Bug: chromium:1203285
Change-Id: I6b33b8281656ab6af338c01b0d1e63eccb222bbc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2854599
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-04-28 12:47:52 +00:00
Yuan Tong
c9843de02a Optimize unlimited data for Intel
Use unsigned coefficient and signed UV value in YUVTORGB.

R=fbarchard@chromium.org

Bug: libyuv:862, libyuv:863
Change-Id: I32e58b2cee383fb98104c055beb0867a7ad05bfe
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2850016
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-04-27 20:35:27 +00:00