2446 Commits

Author SHA1 Message Date
Yuan Tong
8a13626e42 Add MergeAR30Plane, MergeAR64Plane, MergeARGB16To8Plane
These functions merge high bit depth planar RGB pixels into packed format.

Change-Id: I506935a164b069e6b2fed8bf152cb874310c0916
Bug: libyuv:886, libyuv:889
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2780468
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-03-31 20:46:02 +00:00
Frank Barchard
2525698acb disable slow planar tests Blur and Polynomial
These 2 functions are only optimized for Intel
Mark them as disabled so they wont run by default on ARM.

Bug: None
Change-Id: If5e0d8d579b2b6db7371642ca42867973de1d0e5
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2788113
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-03-26 19:47:29 +00:00
Frank Barchard
312c02a5aa Fixes for SplitUVPlane_16 and MergeUVPlane_16
Planar functions pass depth instead of scale factor.
Row functions pass shift instead of depth.  Add assert to C.
AVX shift instruction expects a single shift value in XMM.
Neon pass shift as input (not output).
Split Neon reimplemented as left shift on shorts by negative to achieve right shift.
Add planar unitests

Bug: libyuv:888
Change-Id: I8fe62d3d777effc5321c361cd595c58b7f93807e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2782086
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-03-24 21:37:10 +00:00
Frank Barchard
d8f1bfc981 Add RAWToJ420
Add J420 output from RAW.
Optimize RGB24 and RAW To J420 on ARM by using NEON for the 2 step conversion.

Also fix sign-compare warning that was breaking Windows build

Bug: libyuv:887, b/183534734
Change-Id: I8c39334552dc0b28414e638708db413d6adf8d6e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2783382
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2021-03-23 23:45:54 +00:00
Frank Barchard
b046131c0b Replace MOV .4s with MOV .16b for GCC compatability
MOV Vy.4s, Vx.4s is not a valid instruction form (even though LLVM allows it).
It should be MOV Vy.16b, Vx.16b (.8b for 64-bit variants)

Bug: None
Change-Id: I3c3b42288a0ebc275962fa3adad707b351d00d4c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2780155
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-03-23 18:03:06 +00:00
Yuan Tong
f37014fcff Add support for AR64 format
Add following conversions:
ARGB,ABGR <-> AR64,AB64
AR64 <-> AB64

R=fbarchard@chromium.org

Change-Id: I5ca5b40a98bffea11981e136afae4a511ba6c564
Bug: libyuv:886
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2746780
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-03-13 20:55:21 +00:00
Frank Barchard
19bbedfd3e Mark Clip Scale tests as slow
libyuv_test --gunit_also_run_disabled_tests '--gunit_filter=**ARGBScaleDown*By3by8_Box' --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1
Was 8x8 tiles
[ RUN      ] LibYUVScaleTest.ARGBScaleDownBy3by8_Box
filter 3 -    15351 us C -    15381 us OPT
[       OK ] LibYUVScaleTest.ARGBScaleDownBy3by8_Box (15546 ms)
[ RUN      ] LibYUVScaleTest.ARGBScaleDownClipBy3by8_Box
filter 3 -    15510 us Full -    28289 us Tiled
[       OK ] LibYUVScaleTest.ARGBScaleDownClipBy3by8_Box (28505 ms)

Now 64x64 tiles and disabled
[----------] 2 tests from LibYUVScaleTest
[ RUN      ] LibYUVScaleTest.ARGBScaleDownBy3by8_Box
filter 3 -    15394 us C -    15385 us OPT
[       OK ] LibYUVScaleTest.ARGBScaleDownBy3by8_Box (15550 ms)
[ RUN      ] LibYUVScaleTest.DISABLED_ARGBScaleDownClipBy3by8_Box
filter 3 -    15344 us Full -    21153 us Tiled
[       OK ] LibYUVScaleTest.DISABLED_ARGBScaleDownClipBy3by8_Box (21368 ms)

Bug: None
Change-Id: I8a9a6e1b993bb1fd9bee7b43be7fba4ed0435e03
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2757267
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
2021-03-13 19:16:19 +00:00
Frank Barchard
b201c2f9d3 Mark tests that are SLOW with ifdef
Bug: None
Change-Id: Id15a36e8ddcb2278d7390384b430c2d93bfccc0b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2751334
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-03-12 01:25:44 +00:00
Yuan Tong
d47031c0d4 Fix x86 windows build error
Correct rule for marking relevant functions as available.
Fix some clang-tidy issues.

R=fbarchard@chromium.org

Change-Id: I66fa0d7ae5a681356f94bfc1bc82b7f1f407d5df
Bug: libyuv:884, libyuv:885
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2738414
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-03-05 03:24:44 +00:00
Frank Barchard
ba033a11e3 Add 12 bit YUV to 10 bit RGB
Bug: libyuv:843
Change-Id: I0104c8fcaeed09e83d2fd654c6a5e7d41bcb74cf
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2727775
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2021-03-05 01:09:37 +00:00
Martin Storsjö
95ff456c33 Fix the mask for odd widths for ScaleRowUp2_Linear*_Any_NEON
These NEON functions produce 16 pixels per iteration each, thus
use the mask 15, not 7.

Change-Id: I1f3eb691a9ca4af705393b2842b18b65f6878926
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2731801
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-03-03 16:19:17 +00:00
Yuan Tong
cdabad5bfa Add more 10 bit YUV To RGB function
The following functions are added:
planar YUV:
 I410ToAR30, I410ToARGB
planar YUVA:
 I010AlphaToARGB, I210AlphaToARGB, I410AlphaToARGB
biplanar YUV:
 P010ToARGB, P210ToARGB
 P010ToAR30, P210ToAR30

biplanar functions can also handle 12 bit and 16 bit samples.

libyuv_unittest --gtest_filter=LibYUVConvertTest.*10*ToA*:LibYUVConvertTest.*P?1?ToA*

R=fbarchard@chromium.org

Bug: libyuv:751, libyuv:844
Change-Id: I2be02244dfa23335e1e7bc241fb0613990208de5
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2707003
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-03-03 15:48:47 +00:00
Yuan Tong
c41eabe3d4 Add full 16 bit scaling up by 2x function
R=fbarchard@chromium.org

Change-Id: I4a869aefdc16e34357a615727711594c5d8e3a80
Bug: libyuv:882
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2719842
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-03-02 19:29:02 +00:00
Yuan Tong
a8c181050c Add 10/12 bit YUV To YUV functions
The following functions (and their 12 bit variant) are added:

planar, 10->10:
 I410ToI010, I210ToI010

planar, 10->8:
 I410ToI444, I210ToI422

planar<->biplanar, 10->10:
 I010ToP010, I210ToP210, I410ToP410
 P010ToI010, P210ToI210, P410ToI410

R=fbarchard@chromium.org

Change-Id: I9aa2bafa0d6a6e1e38ce4e20cbb437e10f9b0158
Bug: libyuv:834, libyuv:873
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2709822
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2021-02-25 23:16:54 +00:00
Frank Barchard
08815a2976 Scale 12 functions that are scale 16 but with only low 12 bits valid
Rename yuvconstants to .c and use round from math.h

Bug: libyuv:882, b/180472591
Change-Id: I70720bf3e0833ba00df0d721f12020fba0b07a03
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2706966
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-02-19 18:04:48 +00:00
Mirko Bonadei
63dd43dd46 [libyuv] - Switch from gflags to absl/flags.
No-Try: True
Bug: libyuv:883
Change-Id: I11f1dbcccdc3697b73b3cfc2d423876841eb7b7a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2701771
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-19 08:54:30 +00:00
Frank Barchard
d768774299 add yuvconvstants util
miscellaneous cleanup of other code/comments

Bug: libyuv:873, libyuv:877
Change-Id: I0d8caf9a65908ff8898b25494f7c724775f84fa3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2692930
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-12 19:45:16 +00:00
Yuan Tong
d4ecb70610 Add P010ToP410 and P210ToP410
These are 16 bit bi-planar convert functions to scale UV plane to
Y plane's size using (bi)linear filter.

libyuv_unittest --gtest_filter=*ToP41*

R=fbarchard@chromium.org

Bug: libyuv:872
Change-Id: I3cb4fafe2b2c9eedd0d91cf4c619abb9ee107bc1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2690102
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-12 14:55:24 +00:00
Frank Barchard
12a4a2372c Rounding added to scaling upsampler
Bug: libyuv:872, b/178521093
Change-Id: I86749f73f5e55d5fd8b87ea6938084cbacb1cda7
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2686945
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2021-02-10 18:51:02 +00:00
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