2227 Commits

Author SHA1 Message Date
Gavin Mak
742791f13a Move metadata in OWNERS files to DIR_METADATA files
No-Try: True
Bug: 1113033
Change-Id: I906f1bff1b8e0eace5947be066a609e28565e81c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2679701
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-02-09 19:34:43 +00:00
Yuan Tong
f7fc83f46d Add NV12ToNV24 and NV16ToNV24
These are bi-planar convert functions to scale UV plane to Y plane's size using (bi)linear filter.

libyuv_unittest --gtest_filter=*ToNV24*

R=fbarchard@chromium.org

Change-Id: I3d98f833feeef00af3c903ac9ad0e41bdcbcb51f
Bug: libyuv:872
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2682152
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-09 07:38:40 +00:00
Frank Barchard
942c508448 BT.2020 Full Range yuvconstants
new color util to compute constants needed based on white point.

[ RUN      ] LibYUVColorTest.TestFullYUVV
hist	      -2	      -1	       0	       1	       2
red	       0	 1627136	13670144	 1479936	       0
green	  319285	 3456836	 9243059	 3440771	  317265
blue	       0	 1561088	14202112	 1014016	       0

Bug: libyuv:877, b/178283356
Change-Id: If432ebfab76b01302fdb416a153c4f26ca0832d6
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2678859
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-02-06 00:26:55 +00:00
Mirko Bonadei
60d37a064b Fix PRESUBMIT.py.
Bug: b/179223281
Change-Id: I66da6f1367267bdfc38488f6807700d21a4c86e1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2671463
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-03 11:16:34 +00:00
Yuan Tong
fc61dde1eb Add special optimization for I420ToI444 and I422ToI444
These functions use (bi)linear filter, to scale U and V planes to the size of Y plane.
This will help enhance the quality of YUV to RGB conversion.

Also added 10bit and 12bit version:
I010ToI410
I210ToI410
I012ToI412
I212ToI412

libyuv_unittest --gtest_filter=LibYUVConvertTest.I42*ToI444*:LibYUVConvertTest.I*1*ToI41*

R=fbarchard@chromium.org

Change-Id: Ie4a711a5ba28f2ff1f44c021f7a5c149022264c5
Bug: libyuv:872
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2658097
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-03 10:53:02 +00:00
Frank Barchard
c28d404936 win32 build fix for I422ToRGBA
Bug:  libyuv:877, b/178713286
Change-Id: Iad55df99083b9a4bb9306e052e0e687e58570d96
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2657701
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-01-29 10:07:08 +00:00
Frank Barchard
39240f7149 Fix in row_gcc.cc to change subq to sub
subq is only available for x64
sub works for both 32 bit x86 and 64 bit x64

Fox in row_gcc.cc for 32 bit x86 running out of registers.

Fix in row_neon.cc for split function argb paramter name.

Bug: libyuv:877, b/178283356, b/178713286
Change-Id: If2b12a2d6168eab08005a2cdf2c17a470a924dd1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2656771
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-01-28 19:34:29 +00:00
Mirko Bonadei
982d5fa9be Fix libyuv bots.
TBR=fbarchard@chromium.org
No-Try: True
Bug: libyuv:880
Change-Id: I73cd1bf2beaef60d02663056fd963ab5b2472f70
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2657256
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2021-01-28 19:09:46 +00:00
Yuan Tong
a85cc26fde Add MergeARGBPlane and SplitARGBPlane
These functions convert between planar and interleaved ARGB,
optionally fill 255 to alpha / discard alpha.

This can help handle YUV(A) with Identity matrix, which is
basically planar ARGB.

libyuv_unittest --gtest_filter=LibYUVPlanarTest.*ARGBPlane*:LibYUVPlanarTest.*XRGBPlane*

R=fbarchard@google.com

Change-Id: I522a189b434f490ba1723ce51317727e7c5eb112
Bug: libyuv:877
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2649887
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-01-27 19:33:51 +00:00
Mirko Bonadei
f7c0a73a3e [build] Remove obsolete gn flag
Bug: chromium:1164276
Change-Id: I2c7ed46ddf5ed027d316bc02f76a957b29101734
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2622076
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-01-26 20:16:56 +00:00
Frank Barchard
37480f12c6 Add BT.709 Full Range yuv constants.
MAKEYUVCONSTANTS macro to generate struct for YUV to RGB
Fix I444AlphaToARGB unit test for ARM by adjusting C version to match Neon implementation.

Bug: libyuv:879, libyuv:878, libyuv:877, libyuv:862, b/178283356
Change-Id: Iedb171fbf668316e7d45ab9e3481de6205ed31e2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2646472
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2021-01-26 18:36:56 +00:00
Yuan Tong
08d0dce5fc Add I422AlphaToARGB and I444AlphaToARGB
Bug: libyuv:878
Change-Id: I64c314326ac7ae5242acc64e20016e30adc6d17f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2639439
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-01-23 00:40:33 +00:00
Frank Barchard
93b1b332cd NV12 Bilinear upsampling bug fix
Reenable InterpolateRow_AVX2

Bug: libyuv:838, b/68638384, b/176195584
Change-Id: I990fcc204d89ee9b8f5264184558a08aa21d6a9f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2626067
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-01-12 23:10:42 +00:00
Frank Barchard
1d3f901aa0 Scale bug fix with msan when scaling up in height and down in width with box filter.
runyuv3 Scale*Rotate_Box --libyuv_width=200 --libyuv_height=50

Bug: chromium:1158178, libyuv:875, b/176195584
Change-Id: Ic9a380179433bf3dffb951e7b5563491592d5aa5
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2603877
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-12-26 20:23:13 +00:00
Frank Barchard
0587464156 Test Box filter scale plane with 1 dimension growing and the other reducing
A bug with msan is reproduced when source is 200x50 and destination is 50x200
runyuv3 Scale*Rotate_Box --libyuv_width=200 --libyuv_height=50

Bug: chromium:1158178, libyuv:875, b/176195584
Change-Id: Id55b3bdd32bd49950773badc6334ace1b74dc68f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2601508
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
2020-12-23 21:12:52 +00:00
Evan Shrubsole
dfaf7534e0 NV12 Copy, include scale_uv.h
Bug: None
Change-Id: I8148def3f1253913eb62fcc000e5f72704262a17
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2569748
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-12-08 18:54:16 +00:00
Nico Weber
ad890067f6 Stop setting mac_xcode_version in DEPS
mac_xcode_version no longer has an effect.

Partially reverts https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2384320

Bug: chromium:1147839
Change-Id: Ia0686a209e3b3497c1fe6c1593689064eaf73007
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2547120
Reviewed-by: Nico Weber <thakis@chromium.org>
2020-11-19 17:56:51 +00:00
libyuv-ci-autoroll-builder
2664f649bc Roll chromium_revision 5aaa70b53c..64c8c30faa (822628:824854)
Change log: 5aaa70b53c..64c8c30faa
Full diff: 5aaa70b53c..64c8c30faa

Changed dependencies:
* src/base: e5c8a2271e..e096814b04
* src/build: bddddb36e8..2d2f9f2b85
* src/buildtools: 98881a1297..6302c11756
* src/ios: 5900cb114e..60ef55beac
* src/testing: 7ade79a849..40b4417105
* src/third_party: 0e4b552d79..24ccdf9b75
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/a673d02458..1607f54fed
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7030291356..ccc9dd2835
* src/third_party/depot_tools: c7be37e121..91bb7506bd
* src/third_party/freetype/src: e9a7015ec8..26e2a89598
* src/third_party/icu: c7c91f829d..c2a4cae149
* src/third_party/robolectric/robolectric: dc8c5f555f..2f3e0a3ac4
* src/tools: 72035b43be..1bb7c085e6
DEPS diff: 5aaa70b53c..64c8c30faa/DEPS

Clang version changed llvmorg-12-init-5627-gf086e85e:llvmorg-12-init-10666-gc9f69ee7
Details: 5aaa70b53c..64c8c30faa/tools/clang/scripts/update.py

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: I3c5b73954150e8e5797f508679e064ee5fdeff44
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2522705
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-11-06 14:38:38 +00:00
Frank Barchard
b7a1c5ee5d Scale by even factor low level row function
Bug: b/171884264
Change-Id: I6a94bde0aa05e681bb4590ea8beec33a61ddbfc9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2518361
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-11-03 21:25:18 +00:00
libyuv-ci-autoroll-builder
f014dbd87a Roll chromium_revision df9aecfc0b..5aaa70b53c (820568:822628)
Change log: df9aecfc0b..5aaa70b53c
Full diff: df9aecfc0b..5aaa70b53c

Changed dependencies:
* src/base: e54b164faf..e5c8a2271e
* src/build: aef2923289..bddddb36e8
* src/buildtools: 4be464e050..98881a1297
* src/ios: f03821377b..5900cb114e
* src/testing: 6965df0f40..7ade79a849
* src/third_party: f5ac67cb85..0e4b552d79
* src/third_party/auto/src: aa478015bc..f40317ae21
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7874beb5c5..7030291356
* src/third_party/depot_tools: 6f9b1bfd48..c7be37e121
* src/third_party/freetype/src: 007c109b45..e9a7015ec8
* src/third_party/icu: 715ec351c0..c7c91f829d
* src/third_party/robolectric/robolectric: 87febcfebc..dc8c5f555f
* src/tools: 45ad2894c3..72035b43be
DEPS diff: df9aecfc0b..5aaa70b53c/DEPS

No update to Clang.

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: Iec3fa7abb5b800aee0e2147b258f38869b9d7cb8
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2509551
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-10-30 17:10:53 +00:00
Frank Barchard
cec28e7088 PlaneScale, UVScale and ARGBScale test 3x and 4x down sample.
Intel SkylakeX
UVTest3x (1925 ms)
UVTest4x (2915 ms)
PlaneTest3x (2040 ms)
PlaneTest4x (4292 ms)
ARGBTest3x (2079 ms)
ARGBTest4x (1854 ms)

Pixel 2
ARGBTest3x (3602 ms)
ARGBTest4x (4064 ms)
PlaneTest3x (3331 ms)
PlaneTest4x (8977 ms)
UVTest3x (3473 ms)
UVTest4x (6970 ms)

Bug: b/171798872, b/171884264
Change-Id: Iebc70fed907857b6cb71a9baf2aba9861ef1e3f7
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2505601
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-28 20:41:59 +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
libyuv-ci-autoroll-builder
19d71f6b35 Roll chromium_revision e812106b13..df9aecfc0b (817907:820568)
Change log: e812106b13..df9aecfc0b
Full diff: e812106b13..df9aecfc0b

Changed dependencies:
* src/base: 7bb821ea1e..e54b164faf
* src/build: 707887e63d..aef2923289
* src/ios: fba4a1f48c..f03821377b
* src/testing: 14abbc061e..6965df0f40
* src/third_party: b2e6c18b69..f5ac67cb85
* src/third_party/auto/src: 6bed859f25..aa478015bc
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/3743aafdac..a673d02458
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/957c117e51..7874beb5c5
* src/third_party/depot_tools: 4761cf50d0..6f9b1bfd48
* src/third_party/freetype/src: 82d331556c..007c109b45
* src/third_party/icu: 84fb34e2d1..715ec351c0
* src/third_party/robolectric/robolectric: 45206908f5..87febcfebc
* src/tools: 206dfc9abb..45ad2894c3
DEPS diff: e812106b13..df9aecfc0b/DEPS

No update to Clang.

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: I392c5e26ca531ad00b2504a52832ee29e2554d9f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2496666
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-10-24 14:33:31 +00:00
libyuv-ci-autoroll-builder
14df43fa9c Roll chromium_revision 4892423355..e812106b13 (815587:817907)
Change log: 4892423355..e812106b13
Full diff: 4892423355..e812106b13

Changed dependencies:
* src/base: 1d9852dde8..7bb821ea1e
* src/build: 0faf3c3ab2..707887e63d
* src/ios: f8bda3386d..fba4a1f48c
* src/testing: 5fccab2fe3..14abbc061e
* src/third_party: 147456d231..b2e6c18b69
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e611beb183..957c117e51
* src/third_party/depot_tools: 80d095c4dc..4761cf50d0
* src/third_party/freetype/src: 20186d1be6..82d331556c
* src/third_party/icu: aba3f0dfee..84fb34e2d1
* src/third_party/robolectric/robolectric: 3614104807..45206908f5
* src/tools: c5197fe83e..206dfc9abb
DEPS diff: 4892423355..e812106b13/DEPS

No update to Clang.

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: Ide3ab1af3e17b839f8ee3e511a457be0a3629ff2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2479145
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-10-16 14:32:44 +00:00
Frank Barchard
a4ec5cf9c2 UVScale down use AVX2 and Neon for aarch32
Intel SkylakeX
Was SSSE3 UVScaleDownBy4_Box (2496 ms)
Now AVX2  UVScaleDownBy4_Box (1983 ms)

Was SSSE3 UVScaleDownBy2_Box (380 ms)
Now AVX2  UVScaleDownBy2_Box (360 ms)

Pixel 4 aarch32
Was UVScaleDownBy4_Box (4295 ms)
Now UVScaleDownBy4_Box (3307 ms)

Was UVScaleDownBy2_Box (1022 ms)
Now UVScaleDownBy2_Box (778 ms)

Bug: libuyv:838
Change-Id: Ic823fa15e5761c1b9a897da27341adbf1ed39883
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2470196
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-14 06:23:26 +00:00
Frank Barchard
725c64015d UVScale down by 4 use SSSE3/NEON
Intel SkylakeX
Was UVScaleDownBy4_Box (7421 ms)
Now UVScaleDownBy4_Box (2496 ms)

Pixel4
Was UVScaleDownBy4_Box (3510 ms)
Now UVScaleDownBy4_Box (2797 ms)

Bug: libuyv:838
Change-Id: Ibbde56e497b0706fbcb7b5ec4a991d40ca17f861
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2469050
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-13 22:32:25 +00:00
Frank Barchard
d730dc2f18 2x down sample for UV planes ported to SSSE3 / NEON
Bug: libuyv:838
Change-Id: Id9fb3282a3e86143d76b5e0cb557f0523a88b3c8
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2465578
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-13 21:42:15 +00:00
libyuv-ci-autoroll-builder
b6f3cff282 Roll chromium_revision ccec2ad009..4892423355 (811963:815587)
Change log: ccec2ad009..4892423355
Full diff: ccec2ad009..4892423355

Changed dependencies:
* src/base: 64ab8aa68e..1d9852dde8
* src/build: 3ede10128b..0faf3c3ab2
* src/ios: a46002ad11..f8bda3386d
* src/testing: fe12eb7d0a..5fccab2fe3
* src/third_party: ff671c400d..147456d231
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0f6ed71076..e611beb183
* src/third_party/depot_tools: 991ead187c..80d095c4dc
* src/third_party/harfbuzz-ng/src: d03eecb4d6..c39ab82c90
* src/third_party/icu: aef20f06d4..aba3f0dfee
* src/third_party/robolectric/robolectric: d847a8b7be..3614104807
* src/tools: 3374ef8da7..c5197fe83e
* src/tools/swarming_client: 44c13d7315..d46ea7635f
DEPS diff: ccec2ad009..4892423355/DEPS

Clang version changed llvmorg-12-init-5035-gd0abc757:llvmorg-12-init-5627-gf086e85e
Details: ccec2ad009..4892423355/tools/clang/scripts/update.py

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: I73730cb4a54b5c235ea8b89ef7eb1d3404bbc3d1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2462334
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-10-09 14:37:29 +00:00
Frank Barchard
385418a8e2 I420ToARGB prototype added to convert_from.h
Duplicate I420ToARGB prototype from convert_argb.h into convert_from.h for webrtc
Apply clang format for white spacing consistency.

Bug: libyuv:838, b/151375918
Change-Id: I0f667ca5350192710dbb135e92e73e18b46135e5
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2446613
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-02 21:05:10 +00:00
Frank Barchard
0b1e6ea6c9 scale neon adjust PRFM instruction to co-issue with math
Bug: libyuv:838, b/151375918
Change-Id: Ib0013fd971d700d2981b58e0aa1dd666e68fedd4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2443953
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-02 17:15:00 +00:00
libyuv-ci-autoroll-builder
6866adbec5 Roll chromium_revision 4eeee82411..ccec2ad009 (809748:811963)
Change log: 4eeee82411..ccec2ad009
Full diff: 4eeee82411..ccec2ad009

Changed dependencies:
* src/base: a278448812..64ab8aa68e
* src/build: 82c761c4fc..3ede10128b
* src/buildtools: 3ff4f5027b..4be464e050
* src/ios: fd2ca05612..a46002ad11
* src/testing: 39aee3c823..fe12eb7d0a
* src/third_party: 31389c1539..ff671c400d
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/c947efabcb..3743aafdac
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0de9874718..0f6ed71076
* src/third_party/depot_tools: d1580d53b7..991ead187c
* src/third_party/robolectric/robolectric: 5a6468b452..d847a8b7be
* src/tools: e11b041f6e..3374ef8da7
DEPS diff: 4eeee82411..ccec2ad009/DEPS

No update to Clang.

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: I67eb1c8cf464e8dd4a9a7ca5b93da80d5b823ad2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2437525
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-09-30 14:34:16 +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
7a52fde1c4 NV12Scale function using split/merge on UV channal
Bug: libyuv:718, libyuv:838, b/168918847
Change-Id: I78b27baac50f0ce955e00cb6aaf7dfe5a0cb1e3d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2432067
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2020-09-28 20:13:21 +00:00
Frank Barchard
d6833cda38 ARGBSetRow_Any do memset for msan
Bug: b/169296991
Change-Id: Ia000cdbca0d0d95465e09535b67775ad3b885038
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2434383
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-09-28 19:16:12 +00:00
libyuv-ci-autoroll-builder
73c98f7832 Roll chromium_revision 5aa7e23974..4eeee82411 (807011:809748)
Change log: 5aa7e23974..4eeee82411
Full diff: 5aa7e23974..4eeee82411

Changed dependencies:
* src/base: ea9d15525e..a278448812
* src/build: 60f89634b9..82c761c4fc
* src/ios: f3c442d839..fd2ca05612
* src/testing: 56572a88df..39aee3c823
* src/third_party: 9e2844b24a..31389c1539
* src/third_party/auto/src: 7eb2d47ad1..6bed859f25
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/534924ed9e..0de9874718
* src/third_party/depot_tools: f57e64e375..d1580d53b7
* src/third_party/freetype/src: cb47331369..20186d1be6
* src/third_party/icu: 79326efe26..aef20f06d4
* src/third_party/libjpeg_turbo: 8ca19625de..d5148db386
* src/third_party/robolectric/robolectric: bd58bdd0c9..5a6468b452
* src/tools: dfa91dac01..e11b041f6e
DEPS diff: 5aa7e23974..4eeee82411/DEPS

Clang version changed llvmorg-12-init-5627-gf086e85e:llvmorg-12-init-5035-gd0abc757
Details: 5aa7e23974..4eeee82411/tools/clang/scripts/update.py

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: I3b66e3ded313ada58faedf287440b9d68736f3f3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2425157
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: John Budorick <jbudorick@chromium.org>
2020-09-23 18:13:23 +00:00
libyuv-ci-autoroll-builder
fb7a35a93e Roll chromium_revision d17a413a10..5aa7e23974 (803002:807011)
Change log: d17a413a10..5aa7e23974
Full diff: d17a413a10..5aa7e23974

Changed dependencies:
* src/base: cab0516855..ea9d15525e
* src/build: 2dbf41fec1..60f89634b9
* src/buildtools: ff93f3ea1a..3ff4f5027b
* src/ios: fe8421a537..f3c442d839
* src/testing: 7f8ef3207a..56572a88df
* src/third_party: 7241a73925..9e2844b24a
* src/third_party/auto/src: 47fc7b9f83..7eb2d47ad1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/77fb6d1812..534924ed9e
* src/third_party/depot_tools: a070dd18d7..f57e64e375
* src/third_party/freetype/src: 6730854c39..cb47331369
* src/third_party/libjpeg_turbo: 9d4f8005bc..8ca19625de
* src/third_party/robolectric/robolectric: 27f73bf041..bd58bdd0c9
* src/tools: 57ec7a16d4..dfa91dac01
* src/tools/swarming_client: 4c095d0417..44c13d7315
DEPS diff: d17a413a10..5aa7e23974/DEPS

Clang version changed llvmorg-12-init-4187-g33ce275f:llvmorg-12-init-5627-gf086e85e
Details: d17a413a10..5aa7e23974/tools/clang/scripts/update.py

TBR=libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com
BUG=None

Change-Id: I7efbc55bdd19821564f478102f6bf9be7c8575e1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2412271
Reviewed-by: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: <libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
2020-09-15 14:55:15 +00:00
John Budorick
33503d9c9c Fix libyuv deps autoroll and roll chromium deps.
This includes:
  - fixing a handrolled raw exec-based DEPS parser that was failing
    to parse Str, similar to crbug.com/1106435.
  - rolling chromium forward by nearly a year. (The last roll that
    landed was crrev.com/c/1797295). This required a bunch of changes in
    order to be able to successfully sync, run gn, and compile:
    - switching the mirrors for three repositories to match chromium,
      which switched in crrev.com/c/2062580.
    - making libyuv write an empty gclient_args file
    - adding a few build_override gn arguments
    - adding nasm as a deps entry, as it's now required by libjpeg_turbo
    - android:
      - adding jdk, libunwindstack, and turbine
      - rolling the android sdk
      - rolling bazel and r8
      - rolling the cipd packages managed by third_party/android_deps
      - adding six and requests to .vpython for the test runner
      - switching to memcpy in a few places to avoid SIGBUS errors on
        arm due to unaligned reads
    - linux:
      - checking out instrumented libraries for msan (including adding
        depot_tools to deps for the hook)
    - mac:
      - adding mac_xcode_version to gclient_gn_args
    - win:
      - limit mac_toolchain to checkout_mac

Bug: 1063768, 1097306
Change-Id: Idd86fffcdac174fd2f7899243a56af4f1ed8077e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2384320
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2020-09-15 06:21:24 +00:00
Hidehiko Abe
165f39cd12 libyuv: Expand is_linux to is_linux || is_chromeos.
Currently is_linux is true on building Chrome OS,
but it is planned to set to false. This is the preparation.

Bug: chromium:1110266
Test: Build locally.
Change-Id: Icf3445a8a828e1e1a637360363845bcca5863aca
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2400818
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-09-15 01:08:14 +00:00
Lu Wang
b45db3c4af Fix failed unittest TestARGBQuantize.
Wrong stride used in the for block.
Change the stride of x from 8 to 16.

Change-Id: Ic0cddf8413d1bd2decf5752b7a92c16f0345f0fb
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2355693
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-08-17 17:26:09 +00:00
Hao Chen
0de9bf3b18 Fix two failed case after enabling msa optimization.
Failed case: LibYUVConvertTest.TestI400 and LibYUVPlanarTest.ARGBBlend_Unattenuated.
This patch updates the I400ToARGBRow_MSA and ARGBBlendRow_MSA functions in the row_msa.cc file.

Signed-off-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Change-Id: Iec1a647af79be3ca1f2724802f6698deab60eac8
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2330807
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-08-12 18:12:19 +00:00
Shiyou Yin
5c6cdd0747 ARGBToJ420 MMI and MSA version match C.
In commit 6cd1ff, C version has been updated.
This patch update the MMI and MSA version to mach C version.

Change-Id: Iea811e232f9c6019a80364d165f0255a37ce41b4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2227755
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-07-22 20:17:39 +00:00
Frank Barchard
6d603ec3f5 clamp C functions use compare
Intel
Was ARGBSubtract_Opt (1760 ms)
Now ARGBSubtract_Opt (1546 ms)

ARM
Was ARGBAdd_Opt (1747 ms)
Now ARGBAdd_Opt (1260 ms)

Bug: None
Change-Id: I52436f6390b6b7313f2a8820833bb4f60ae958be
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2299639
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2020-07-16 22:03:34 +00:00
Frank Barchard
1837f0022e Rollback of ARGBAttentuate
ARGBAttenuate AVX2 different than NEON/C

Was
C     ARGBAttenuate_Opt (1151 ms)
SSSE3 ARGBAttenuate_Opt (455 ms)
AVX2  ARGBAttenuate_Opt (296 ms)

Now
C     ARGBAttenuate_Opt (1765 ms)
SSSE3 ARGBAttenuate_Opt (355 ms)
AVX2  ARGBAttenuate_Opt (299 ms)

BUG=b/153564664

Change-Id: I2f027339552e399b90cc5ffeffde4255e9ff175b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2294488
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2020-07-13 21:55:13 +00:00
Mirko Bonadei
7050e07982 Remove comment from BUILD.gn
The goal of this CL is to trigger all the CI bots to ensure they have
all been migrated to goma RBE.

TBR=fbarchard@chromium.org
Bug: None
Change-Id: I201ac1852bac0d7f6a53f66a0ff56bc93096c005
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2274415
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2020-06-30 07:16:22 +00:00
Frank Barchard
0b793d9fac Add J420AlphaToARGB and colortests for bt.709 and rec.2020
Bug: libyuv:864, b/159753166
Change-Id: If6ba742a0e7c5baeab29e8b92569aee361af88e9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2261568
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-06-24 00:57:28 +00:00
Frank Barchard
c5e45dcae5 Optimze ABGRToI420 for AVX2
libyuv_test --gunit_filter=*ABGRToI420_Opt --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1

Was SSSE3 ABGRToI420_Opt (324 ms)
Now AVX2  ABGRToI420_Opt (253 ms)

Bug: b/155989084
Change-Id: I4f3831e29b379be758f9d3fcb244be088bb1ca3c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2229606
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-06-04 18:24:45 +00:00
Shiyou Yin
ce5b333853 ARGBToI420 MMI and MSA version match C.
In commit 0b8bb6, C version has been updated.
This patch update the MMI and MSA version to mach C version.

Change-Id: Ib28da3629a8465990c8e2185278a95af8c27a31d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2227754
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-06-04 04:51:05 +00:00
Shiyou Yin
db63668a24 Add MirrorUVRow_MSA.
Change-Id: Ic498d1175c3f916d0101b0fd8603b5cae994138b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2227753
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-06-04 04:12:24 +00:00
Frank Barchard
8869628c24 Remove unnecessary include of convert_argb
Bug: libyuv:861, b/156642185
Change-Id: I3ddbe2f7b61629ed18b6879203203a51b3700773
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2219047
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-05-28 18:58:37 +00:00
Frank Barchard
6efd8f2cf0 NV12ToABGR and RAW Matrix macros
Bug: libyuv:861, b/156642185
Change-Id: I5ebcff33aa1a419aa2e766f6133b349e4e658297
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2216704
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Hsiu Wang <hsiu@google.com>
2020-05-27 19:39:57 +00:00