2297 Commits

Author SHA1 Message Date
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
Frank Barchard
5e05f26a2b Switch win32 to row_gcc for clangcl.
Bug: libyuv:900, libyuv:848, b/178283356, b/185922513
Change-Id: I7697953753391c555a778198db36412c853fb29e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2844962
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
2021-04-22 19:32:32 +00:00
Yuan Tong
8c8d907d29 Unlimited data for Windows
Port unlimited data YUVToRGB code to windows.
Disable MIPS YUVToRGB assembly for now to get correct result.

R=fbarchard@chromium.org

Bug: libyuv:862, libyuv:863
Change-Id: Ib3e99c98082badfef4eb671205a151dd1de56b67
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2839383
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-04-22 01:48:48 +00:00
Frank Barchard
5e83cac0d5 Disable win32 SIMD
Bug: libyuv:900, libyuv:848, b/178283356, b/185922513
Change-Id: Iee7d9970c7991856c8f51158cd12ec72ee9c57eb
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2844779
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
2021-04-21 21:37:44 +00:00
Yuan Tong
a1814576bf Unlimited data for Intel
Use unsigned coefficients on Intel.
Make C, NEON and AVX2 match under LIBYUV_UNLIMITED_DATA.

Bug: libyuv:862, libyuv:863
Change-Id: I6c02147ea3c1875c4fc23863435aea86dcf5880a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2830180
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-04-19 20:29:10 +00:00
Byoungchan Lee
022a01da5e Remove yasm in DEPS
They are no longer needed.

Bug: chromium:766721
Change-Id: I7f950a6134b21de4d7cc5a11de60b56685d8232f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2517340
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-04-17 03:24:13 +00:00
Yuan Tong
590c17ce40 Refactor NEON YUVToRGB, Remove subsampling
Refactor NEON YUVToRGB Assembly to support HBD data as input and output.
Work on YUV444 internally, remove subsampling in I444ToARGB.

libyuv_unittest --gtest_filter=*.NV??ToARGB_Opt:*UYVYToARGB_Opt:*YUY2ToARGB_Opt:*I4*ToARGB_Opt

Bug: libyuv:895, libyuv:862, libyuv:863
Change-Id: I05b56ea8ea56d9e523720b842fa6e4b122ed4115
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2810060
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-04-15 19:13:10 +00:00
Frank Barchard
287158925b use width + 1 for odd width tests
Bug: libyuv:894, libyuv:898, libyuv:899
Change-Id: Ieba8eaeb8b06f0323824967776673e339b263220
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2809701
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-04-09 20:17:55 +00:00
Yuan Tong
2cd098f83b Fix MergeAR64Plane on odd width
R=fbarchard@chromium.org

Bug: libyuv:898
Change-Id: I031e008ea91baba1c7598efa0eda70750cbfce85
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2810066
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-04-08 09:18:34 +00:00
Frank Barchard
2870320ac6 MultiplyRow_16_Opt crash on odd width
Bug: libyuv:897
Change-Id: I2e46daf6369dd50bc9f5f138a801b9063b15b855
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2809699
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-04-07 10:16:45 +00:00
Frank Barchard
64994843e6 fix compare row test for avx2 which does 64 bytes per loop
libyuv_test  --gunit_also_run_disabled_tests --libyuv_width=129

Bug: libyuv:894
Change-Id: I2511f8fa486e492097b4882c466dd37cc3c1e25d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2808631
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-04-06 22:37:25 +00:00
Frank Barchard
d1bfc6ead6 gcc fix for row_gcc.cc vbroadcastss
Bug: libyuv:893
Change-Id: I5b70e6a94356878deb348cbd19c9e1e50b2a18aa
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2808793
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-04-06 21:31:29 +00:00
Mirko Bonadei
55af973c31 Remove tools_libyuv_valgrind.
This code is unused nowadays, while potentially useful it requires
some non trivial setup so it is better to remove.

No-Try: True
Bug: libyuv:892
Change-Id: I98d3ed823a8bb4f233c9fff1b993c7aaf54e18dc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2803134
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-04-03 07:53:43 +00:00
Mirko Bonadei
76fb002915 First step in fixing Chromium roll into libyuv.
This should fix the first error:
AssertionError: Libyuv DEPS entry src/buildtools/clang_format/script has
a different URL (https://chromium.googlesource.com/chromium/llvm-project/cfe/tools/clang-format.git)
than Chromium (https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git).

No-Try: True
TBR=fbarchard@chromium.org
Bug: libyuv:891
Change-Id: I8e59739c0ad9d936cc835872f1ec945d5e4ab2dd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2803131
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-04-02 19:09:52 +00:00
Mirko Bonadei
9c1493a6d7 Remove running valgrind tests at presubmit time.
TBR=fbarchard@chromium.org
No-Try: True
Bug: libyuv:892
Change-Id: Ic65a8ea7e6b3293843af3d20988272e3ca7aba25
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2803132
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-04-02 18:56:22 +00:00
Mirko Bonadei
d557f6a4a4 Fix python linter errors.
TBR=fbarchard@chromium.org
No-Try: True
Bug: None
Change-Id: I064487fb0440aad3592e1387048b9c9ac1579ad1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2803133
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-04-02 18:54:11 +00:00
Frank Barchard
60db98b6fa clang-tidy applied
Bug: libyuv:886, libyuv:889
Change-Id: I2d14d03c19402381256d3c6d988e0b7307bdffd8
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2800147
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-04-01 21:42:47 +00:00